mcpField
T
text-to-speech

text-to-speech

github.com/inference-shCreative & media7901.1k installsUpdated 2w ago
Repository

About text-to-speech

A skill for generating speech from text through inference.sh CLI. It covers multiple TTS models, including options for expressive delivery, conversational audio, and long-form narration.

Key features

  1. 01Run TTS apps through belt CLI
  2. 02Choose from multiple speech models
  3. 03Steer emotion and delivery inline
  4. 04Generate conversational and long-form audio

Use cases

  1. 01Create product-demo voiceovers
  2. 02Turn audiobook text into speech
  3. 03Generate podcast audio
  4. 04Produce emotionally varied game character voices

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/inference-sh/skills --skill text-to-speech

After installing, type/text-to-speechin Claude Code to confirm it loaded.

Details

From the project README

Install the belt CLI skill: npx skills add belt-sh/cli

Text-to-Speech

Convert text to natural speech via inference.sh CLI.

Text-to-Speech

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Generate speech
belt app run falai/kokoro-tts --input '{"prompt": "Hello, welcome to our product demo."}'

Available Models

ModelApp IDBest For
Inworld TTS-2inworld/text-to-speech-2100+ languages, emotion steering with [brackets], delivery modes
Inworld TTS 1.5 Maxinworld/text-to-speech-1-5-maxLow latency (<200ms), 15 languages
Inworld TTS 1.5 Miniinworld/text-to-speech-1-5-miniUltra-low latency (~120ms), 15 languages
ElevenLabs TTSelevenlabs/ttsPremium quality, 22+ voices, 32 languages
DIA TTSinfsh/dia-ttsConversational, expressive
Kokoro TTSfalai/kokoro-ttsFast, natural
Chatterboxinfsh/chatterboxGeneral purpose
Higgs Audioinfsh/higgs-audioEmotional control
VibeVoiceinfsh/vibevoicePodcasts, long-form

Browse All Audio Apps

belt app list --category audio

Examples

Basic Text-to-Speech
belt app run falai/kokoro-tts --input '{"prompt": "Welcome to our tutorial."}'
Inworld TTS-2 — Emotion Steering

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.

Inworld TTS 1.5 — Low Latency

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"
}'
Conversational TTS with DIA
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
Long-form Audio (Podcasts)
belt app sample infsh/vibevoice --save input.json

# Edit input.json with your podcast script
belt app run infsh/vibevoice --input input.json
Expressive Speech with Higgs
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

Use Cases

  • Voiceovers: Product demos, explainer videos
  • Audiobooks: Convert text to spoken word
  • Podcasts: Generate podcast episodes
  • Accessibility: Make content accessible
  • IVR: Phone system voice prompts
  • Video Narration: Add narration to videos
  • Gaming / NPCs: Character voices with emotion steering (Inworld TTS-2)
  • Conversational AI: Ultra-low latency responses (Inworld TTS 1.5 Mini)
  • Avatar / UGC Videos: Generate speech for talking head avatars

Combine with Video

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": "https://portrait.jpg",
  "audio": "<audio-url-from-step-1>"
}'

Related Skills

# 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 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 list

Documentation

Comments

Markdown supported