Назад към всички

inworld-tts

// Text-to-speech via Inworld.ai API. Use when generating voice audio from text, creating spoken responses, or converting text to MP3/audio files. Supports multiple voices, speaking rates, and streaming for long text.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameinworld-tts
descriptionText-to-speech via Inworld.ai API. Use when generating voice audio from text, creating spoken responses, or converting text to MP3/audio files. Supports multiple voices, speaking rates, and streaming for long text.

Inworld TTS

Generate speech audio from text using Inworld.ai's TTS API.

Setup

  1. Get API key from https://platform.inworld.ai
  2. Generate key with "Voices: Read" permission
  3. Copy the "Basic (Base64)" key
  4. Set environment variable:
export INWORLD_API_KEY="your-base64-key-here"

For persistence, add to ~/.bashrc or ~/.clawdbot/.env.

Installation

# Copy skill to your skills directory
cp -r inworld-tts /path/to/your/skills/

# Make script executable
chmod +x /path/to/your/skills/inworld-tts/scripts/tts.sh

# Optional: symlink for global access
ln -sf /path/to/your/skills/inworld-tts/scripts/tts.sh /usr/local/bin/inworld-tts

Usage

# Basic
./scripts/tts.sh "Hello world" output.mp3

# With options
./scripts/tts.sh "Hello world" output.mp3 --voice Dennis --rate 1.2

# Streaming (for text >4000 chars)
./scripts/tts.sh "Very long text..." output.mp3 --stream

Options

OptionDefaultDescription
--voiceDennisVoice ID
--rate1.0Speaking rate (0.5-2.0)
--temp1.1Temperature (0.1-2.0)
--modelinworld-tts-1.5-maxModel ID
--streamfalseUse streaming endpoint

API Reference

EndpointUse
POST https://api.inworld.ai/tts/v1/voiceStandard synthesis
POST https://api.inworld.ai/tts/v1/voice:streamStreaming for long text

Requirements

  • curl - HTTP requests
  • jq - JSON processing
  • base64 - Decode audio

Examples

# Quick test
export INWORLD_API_KEY="aXM2..."
./scripts/tts.sh "Testing one two three" test.mp3
mpv test.mp3  # or any audio player

# Different voice and speed
./scripts/tts.sh "Slow and steady" slow.mp3 --rate 0.8

# Fast-paced narration
./scripts/tts.sh "Breaking news!" fast.mp3 --rate 1.5

Troubleshooting

"INWORLD_API_KEY not set" - Export the environment variable before running.

Empty output file - Check API key is valid and has "Voices: Read" permission.

Streaming issues - Ensure jq supports --unbuffered flag.

Links