tools/audio/text-to-speech/SKILL.md
Convert text to natural speech with Inworld TTS, ElevenLabs, DIA TTS, Kokoro, Chatterbox, and more via inference.sh CLI. Models: Inworld TTS-2 (100+ languages, emotion steering), Inworld TTS 1.5 (ultra-low latency), ElevenLabs (premium, 22+ voices, 32 languages), DIA TTS (conversational), Kokoro TTS, Chatterbox, Higgs Audio, VibeVoice (podcasts). Capabilities: text-to-speech, voice cloning, multi-speaker dialogue, podcast generation, expressive speech, emotion/delivery steering, character voices. Use for: voiceovers, audiobooks, podcasts, accessibility, video narration, IVR, voice assistants, gaming characters, avatar audio. Triggers: text to speech, tts, voice generation, ai voice, speech synthesis, voice over, generate speech, ai narrator, voice cloning, text to audio, elevenlabs, eleven labs, voice ai, ai voiceover, speech generator, natural voice, inworld, inworld tts, character voice, game voice, npc voice
npx skillsauth add 1nfsh/skills text-to-speechInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
Security scan pending...
This skill is queued for security scanning. Results will appear when the scan completes.
Install the belt CLI skill:
npx skills add belt-sh/cli
Convert text to natural speech via inference.sh CLI.

Requires inference.sh CLI (
belt). Install instructions
belt login
# Generate speech
belt app run infsh/kokoro-tts --input '{"text": "Hello, welcome to our product demo."}'
| Model | App ID | Best For |
|-------|--------|----------|
| Inworld TTS-2 | inworld/text-to-speech-2 | 100+ languages, emotion steering with [brackets], delivery modes |
| Inworld TTS 1.5 Max | inworld/text-to-speech-1-5-max | Low latency (<200ms), 15 languages |
| Inworld TTS 1.5 Mini | inworld/text-to-speech-1-5-mini | Ultra-low latency (~120ms), 15 languages |
| ElevenLabs TTS | elevenlabs/tts | Premium quality, 22+ voices, 32 languages |
| DIA TTS | infsh/dia-tts | Conversational, expressive |
| Kokoro TTS | infsh/kokoro-tts | Fast, natural |
| Chatterbox | infsh/chatterbox | General purpose |
| Higgs Audio | infsh/higgs-audio | Emotional control |
| VibeVoice | infsh/vibevoice | Podcasts, long-form |
belt app store --category audio
belt app run infsh/kokoro-tts --input '{"text": "Welcome to our tutorial."}'
Inworld TTS-2 supports natural-language steering with [brackets] — control emotion, volume, speed, and non-verbals inline with text:
belt app run inworld/text-to-speech-2 --input '{
"text": "I have some [exciting] news to share with you! [pause] We just hit one million users. [laugh]",
"voice_id": "Sarah",
"delivery_mode": "CREATIVE"
}'
Delivery modes: STABLE (consistent), BALANCED (natural, default), CREATIVE (expressive).
Built-in voices (271+ across 15 languages): Sarah, Alex, Ashley, Dennis, Hana, Blake, Luna, Clive, and many more. Browse all voices in the Inworld TTS Playground or list programmatically via GET https://api.inworld.ai/voices/v1/voices.
For real-time applications where speed matters:
# Max quality at low latency (<200ms)
belt app run inworld/text-to-speech-1-5-max --input '{
"text": "Welcome back! How can I help you today?",
"voice_id": "Ashley"
}'
# Ultra-low latency (~120ms) for conversational AI
belt app run inworld/text-to-speech-1-5-mini --input '{
"text": "Sure, let me look that up for you.",
"voice_id": "Dennis"
}'
belt app sample infsh/dia-tts --save input.json
# Edit input.json:
# {
# "text": "Hey! How are you doing today? I'm really excited to share this with you.",
# "voice": "conversational"
# }
belt app run infsh/dia-tts --input input.json
belt app sample infsh/vibevoice --save input.json
# Edit input.json with your podcast script
belt app run infsh/vibevoice --input input.json
belt app sample infsh/higgs-audio --save input.json
# {
# "text": "This is absolutely incredible!",
# "emotion": "excited"
# }
belt app run infsh/higgs-audio --input input.json
The easiest way to create a talking head video is P-Video-Avatar with built-in TTS — no separate audio step:
belt app run pruna/p-video-avatar --input '{
"image": "https://portrait.jpg",
"voice_script": "Your script here",
"voice": "Zephyr (Female)"
}'
For models without built-in TTS (OmniHuman, PixVerse), generate speech first:
# 1. Generate speech with Inworld TTS-2 (emotion steering)
belt app run inworld/text-to-speech-2 --input '{
"text": "[friendly] Your script here. [excited] This is the best part!",
"voice_id": "Sarah",
"delivery_mode": "CREATIVE"
}' > speech.json
# 2. Use the audio URL with OmniHuman for avatar video
belt app run bytedance/omnihuman-1-5 --input '{
"image_url": "https://portrait.jpg",
"audio_url": "<audio-url-from-step-1>"
}'
# ElevenLabs TTS (premium, 22+ voices)
npx skills add inference-sh/skills@elevenlabs-tts
# ElevenLabs dialogue (multi-speaker)
npx skills add inference-sh/skills@elevenlabs-dialogue
# Full platform skill (all 250+ apps)
npx skills add inference-sh/skills@infsh-cli
# AI avatars (combine TTS with talking heads)
npx skills add inference-sh/skills@ai-avatar-video
# AI music generation
npx skills add inference-sh/skills@ai-music-generation
# Speech-to-text (transcription)
npx skills add inference-sh/skills@speech-to-text
# Video generation
npx skills add inference-sh/skills@ai-video-generation
Browse all apps: belt app store
data-ai
Generate multi-person talking head podcast videos from scratch using AI — character creation, TTS, avatar animation, and video stitching. Use when the user wants to create a podcast, talking head video, or multi-speaker conversation video.
development
Build and deploy applications on inference.sh. Use when getting started, understanding the platform, creating apps, configuring resources, or needing an overview of inference.sh app development. Supports both Python and Node.js. Triggers: inference.sh app, belt app, inf.yml, inference.py, inference.js, deploy app, app development, build app, create app, GPU app, VRAM, app resources, app secrets, app integrations, multi-function app
data-ai
Generate multi-person talking head podcast videos from scratch using AI — character creation, TTS, avatar animation, and video stitching. Use when the user wants to create a podcast, talking head video, or multi-speaker conversation video.
tools
Generate videos with ByteDance Seedance 2.0 via inference.sh CLI. Unified model for text-to-video, image-to-video, and reference-to-video with synchronized audio, up to 1080p, 4-15s duration. Pro and Fast variants. Studio variants with private asset library for portrait consistency. Use for: social media videos, music videos, product demos, animated content, AI video with sound. Triggers: seedance, seedance 2, bytedance video, seedance t2v, seedance i2v, seedance r2v, video with audio, seedance 2.0, bytedance seedance, seedance studio