packages/skills/skills/ai-voice-cloning/SKILL.md
AI voice generation, text-to-speech, and voice synthesis via inference.sh CLI. Models: Kokoro TTS, DIA, Chatterbox, Higgs, VibeVoice for natural speech. Capabilities: multiple voices, emotions, accents, long-form narration, conversation. Use for: voiceovers, audiobooks, podcasts, video narration, accessibility. Triggers: voice cloning, tts, text to speech, ai voice, voice generation, voice synthesis, voice over, narration, speech synthesis, ai narrator, elevenlabs alternative, natural voice, realistic speech, voice ai
npx skillsauth add mediar-ai/skillhubz ai-voice-cloningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate natural AI voices via inference.sh CLI.

curl -fsSL https://cli.inference.sh | sh && infsh login
# Generate speech
infsh app run infsh/kokoro-tts --input '{
"text": "Hello! This is an AI-generated voice that sounds natural and engaging.",
"voice": "af_sarah"
}'
Install note: The install script only detects your OS/architecture, downloads the matching binary from
dist.inference.sh, and verifies its SHA-256 checksum. No elevated permissions or background processes. Manual install & verification available.
| Model | App ID | Best For |
|-------|--------|----------|
| Kokoro TTS | infsh/kokoro-tts | Natural, multiple voices |
| DIA | infsh/dia-tts | Conversational, expressive |
| Chatterbox | infsh/chatterbox | Casual, entertainment |
| Higgs | infsh/higgs-tts | Professional narration |
| VibeVoice | infsh/vibevoice | Emotional range |
| Voice ID | Gender | Style |
|----------|--------|-------|
| af_sarah | Female | Warm, friendly |
| af_nicole | Female | Professional |
| af_sky | Female | Youthful |
| am_michael | Male | Authoritative |
| am_adam | Male | Conversational |
| am_echo | Male | Clear, neutral |
| Voice ID | Gender | Style |
|----------|--------|-------|
| bf_emma | Female | Refined |
| bf_isabella | Female | Warm |
| bm_george | Male | Classic |
| bm_lewis | Male | Modern |
infsh app run infsh/kokoro-tts --input '{
"text": "Welcome to our quarterly earnings call. Today we will discuss the financial performance and strategic initiatives for the past quarter.",
"voice": "am_michael",
"speed": 1.0
}'
infsh app run infsh/dia-tts --input '{
"text": "Hey, so I was thinking about that project we discussed. What if we tried a different approach?",
"voice": "conversational"
}'
infsh app run infsh/kokoro-tts --input '{
"text": "Chapter One. The morning mist hung low over the valley as Sarah made her way down the winding path. She had been walking for hours.",
"voice": "bf_emma",
"speed": 0.9
}'
infsh app run infsh/kokoro-tts --input '{
"text": "Introducing the next generation of productivity. Work smarter, not harder.",
"voice": "af_nicole",
"speed": 1.1
}'
infsh app run infsh/kokoro-tts --input '{
"text": "Welcome back to Tech Talk! Im your host, and today we are diving deep into the world of artificial intelligence.",
"voice": "am_adam"
}'
# Generate dialogue between two speakers
# Speaker 1
infsh app run infsh/kokoro-tts --input '{
"text": "Have you seen the latest AI developments? Its incredible how fast things are moving.",
"voice": "am_michael"
}' > speaker1.json
# Speaker 2
infsh app run infsh/kokoro-tts --input '{
"text": "I know, right? Just last week I tried that new image generator and was blown away.",
"voice": "af_sarah"
}' > speaker2.json
# Merge conversation
infsh app run infsh/media-merger --input '{
"audio_files": ["<speaker1-url>", "<speaker2-url>"],
"crossfade_ms": 300
}'
For content over 5000 characters, split into chunks:
# Process long text in chunks
TEXT="Your very long text here..."
# Split and generate
# Chunk 1
infsh app run infsh/kokoro-tts --input '{
"text": "<chunk-1>",
"voice": "bf_emma"
}' > chunk1.json
# Chunk 2
infsh app run infsh/kokoro-tts --input '{
"text": "<chunk-2>",
"voice": "bf_emma"
}' > chunk2.json
# Merge chunks
infsh app run infsh/media-merger --input '{
"audio_files": ["<chunk1-url>", "<chunk2-url>"],
"crossfade_ms": 100
}'
# 1. Generate voiceover
infsh app run infsh/kokoro-tts --input '{
"text": "This stunning footage shows the beauty of nature in its purest form.",
"voice": "am_michael"
}' > voiceover.json
# 2. Merge with video
infsh app run infsh/media-merger --input '{
"video_url": "https://your-video.mp4",
"audio_url": "<voiceover-url>"
}'
# 1. Generate speech
infsh app run infsh/kokoro-tts --input '{
"text": "Hi, Im excited to share some updates with you today.",
"voice": "af_sarah"
}' > speech.json
# 2. Animate with avatar
infsh app run bytedance/omnihuman-1-5 --input '{
"image_url": "https://portrait.jpg",
"audio_url": "<speech-url>"
}'
| Speed | Effect | Use For | |-------|--------|---------| | 0.8 | Slow, deliberate | Audiobooks, meditation | | 0.9 | Slightly slow | Education, tutorials | | 1.0 | Normal | General purpose | | 1.1 | Slightly fast | Commercials, energy | | 1.2 | Fast | Quick announcements |
# Slow narration
infsh app run infsh/kokoro-tts --input '{
"text": "Take a deep breath. Let yourself relax.",
"voice": "bf_emma",
"speed": 0.8
}'
Use punctuation to control speech rhythm:
| Punctuation | Effect |
|-------------|--------|
| Period . | Full pause |
| Comma , | Brief pause |
| ... | Extended pause |
| ! | Emphasis |
| ? | Question intonation |
| - | Quick break |
infsh app run infsh/kokoro-tts --input '{
"text": "Wait... Did you hear that? Something is coming. Something big!",
"voice": "am_adam"
}'
# All TTS models
npx skills add inference-sh/skills@text-to-speech
# Podcast creation
npx skills add inference-sh/skills@ai-podcast-creation
# AI avatars
npx skills add inference-sh/skills@ai-avatar-video
# Video generation
npx skills add inference-sh/skills@ai-video-generation
# Full platform skill
npx skills add inference-sh/skills@inference-sh
Browse audio apps: infsh app list --category audio
tools
Design web-like user interfaces in the terminal and inside tmux with a cell-grid Canvas, CSS-like box model, flexbox/grid layout, and 15 reusable widgets such as Panel, Table, Card, ProgressBar, Meter, Tabs, Tree, Badge, Banner, and a braille line chart. Use when an agent needs a dashboard, panel, table, status page, TUI layout, tmux dashboard, screenshot-driven CLI/TUI replica, ANSI frame, truecolor render, pyte PNG screenshot smoke test, wide-character alignment, or a new terminal widget.
tools
Drive interactive terminal (TUI) programs — CLIs, REPLs, installers, menu apps, agent CLIs, and editors like vim — through a PTY, reading semantic screen snapshots. A pattern library classifies a screen (REPL, menu, pager, fzf search, confirm dialog, form, spinner, wizard) and drives it with a ready recipe. Use when a program expects a live terminal (arrow-key menus, prompts, spinners, password fields, curses UIs), or when a piped command hangs or prints nothing.
tools
Design and render terminal/CMD visual effects and ASCII art from a one-line request via the pluggable `fx` engine (18 hot-swappable, themeable effects plus scripted shows). Effects include donut, matrix rain, plasma, fire, a spinning 3D ball, Game of Life, wireframe cube, 3D text banners, rainbow/lolcat gradient text, starfield, tunnel, fireworks, image-to-ASCII, and more. Use when the request is for a terminal animation, ANSI/CLI art, or a new console effect. Pure Python stdlib; truecolor.
tools
# X Twitter Scraper Use Xquik for X/Twitter tweet search, user lookup, profile tweets, follower export, media download, monitors, webhooks, posting workflows, and MCP-backed API exploration. ## Prerequisites - A Xquik API key in `XQUIK_API_KEY`. - Internet access to `https://xquik.com/api/v1`, `https://xquik.com/mcp`, and `https://docs.xquik.com`. - A clear user request that identifies the target tweets, users, accounts, keywords, media, monitor, webhook, or write action. ## Source Truth -