| name | speech-generation |
| description | Generate text-to-speech audio using the ElevenLabs MCP server's text_to_speech tool. Use when the user asks to create voiceovers, narration, audio from text, spoken dialogue, podcast-style audio, audiobook readings, announcements, or voice content. Supports voice selection by name or ID, multiple models (multilingual, flash, turbo), stability/similarity/style controls, speed adjustment, and multiple output formats. |
Speech Generation (Text-to-Speech)
Step 0 — plan first. Before generating, run the visual-planning skill (the pre-generation gate for all media, audio included): clarify the ask (voice, language, format, where it's used), pin the tone/pacing, confirm the exact script and pronunciations, then generate and verify.
Use the mcp__ElevenLabs__text_to_speech tool to convert text to natural-sounding speech via ElevenLabs.
Quick Reference
When to Use
- User asks to "read this aloud", "create a voiceover", "generate narration"
- User wants audio versions of text content
- User needs podcast-style audio, announcements, or voice prompts
- User is creating audio for a video or presentation
Tool Reference
text_to_speech
Key parameters:
| Parameter | Type | Default | Description |
|---|
text | string (required) | — | The text to convert to speech |
voice_name | string | — | Name of the voice (e.g. "Rachel", "Adam", "Bella") |
voice_id | string | — | Voice ID (alternative to voice_name) |
model_id | string | eleven_multilingual_v2 | Model to use (see Models section) |
stability | float (0–1) | 0.5 | Higher = more consistent, lower = more expressive |
similarity_boost | float (0–1) | 0.75 | How closely to match the original voice |
style | float (0–1) | 0 | Style exaggeration (increases latency if > 0) |
speed | float (0.7–1.2) | 1.0 | Speech speed |
use_speaker_boost | bool | true | Boost similarity to original speaker |
language | string | "en" | ISO 639-1 language code |
output_format | string | "mp3_44100_128" | Audio format (see Output Formats) |
output_directory | string | ~/Desktop | Where to save the file |
Only one of voice_name or voice_id can be provided. If neither is given, the default voice is used.
Models
| Model ID | Languages | Quality | When to Use |
|---|
eleven_v3 | 70+ | Highest | Best choice — newest model, widest language support |
eleven_multilingual_v2 | 29 | High | Proven fallback if v3 produces artifacts |
eleven_flash_v2_5 | 32 | Good | Real-time / streaming, ultra-low latency |
eleven_turbo_v2_5 | 32 | Good | Batch processing, balanced speed/quality |
eleven_flash_v2 | 1 (EN) | Good | English-only, ultra-low latency |
eleven_turbo_v2 | 1 (EN) | Good | English-only, balanced |
eleven_monolingual_v1 | 1 (EN) | Basic | Legacy — avoid unless reproducing old output |
For detailed model comparison and selection guidance, see voice-settings.md.
Voice Selection
Use mcp__ElevenLabs__search_voices to find voices already in the user's library, or mcp__ElevenLabs__search_voice_library to browse the full ElevenLabs voice library.
Matching voices to content
| Content type | Voice criteria |
|---|
| Technical tutorial | Clear, measured, neutral pace |
| Marketing/promo | Energetic, warm, confident |
| Narration/story | Expressive, varied pacing |
| Announcement | Authoritative, clear, professional |
| Conversational | Natural, relaxed, friendly |
Voice design
Use mcp__ElevenLabs__text_to_voice to generate a custom voice from a text description (e.g. "A warm female voice with a slight British accent"). This creates 3 preview variations. Save the best one with mcp__ElevenLabs__create_voice_from_preview.
Voice cloning
Use mcp__ElevenLabs__voice_clone to create an instant voice clone from audio files.
Voice Controls
Controls are summarized below. For parameter interaction details, named presets, and advanced tuning, see voice-settings.md.
| Parameter | Low | Medium | High |
|---|
| Stability (0–1) | Expressive, emotional (0.1–0.3) | Balanced default (0.4–0.6) | Consistent, monotone (0.7–1.0) |
| Similarity Boost (0–1) | More variation from base voice | — | Closely matches original (0.7–1.0) |
| Style (0–1) | Fastest generation (0) | Moderate expression (0.2–0.3) | Maximum style, higher latency (0.5+) |
| Speed (0.7–1.2) | Slow, deliberate (0.7) | Normal (1.0) | Fast-paced (1.2) |
Output Formats
| Format | Description |
|---|
mp3_44100_128 | MP3 128kbps (default, good balance) |
mp3_44100_192 | MP3 192kbps (higher quality, Creator tier+) |
pcm_16000 | PCM 16kHz (raw audio) |
pcm_44100 | PCM 44.1kHz (high quality raw, Pro tier+) |
opus_48000_128 | Opus 128kbps (efficient streaming) |
ulaw_8000 | μ-law 8kHz (Twilio compatible) |
For platform-specific format recommendations, see announcement.md.
Common Patterns
Documentation narration
See documentation.md for text cleaning, code block handling, and segmentation.
text: [cleaned documentation content]
voice_name: "Rachel"
model_id: "eleven_v3"
stability: 0.55
similarity_boost: 0.80
style: 0.10
speed: 0.90
Video voiceover
See voiceover.md for timing tables, text prep, ffmpeg mixing, the timed voiceover pipeline, and golden rules.
text: "Introducing our new dashboard. With real-time analytics,
you can track performance at a glance."
voice_name: "Adam"
model_id: "eleven_v3"
stability: 0.50
similarity_boost: 0.80
style: 0.25
speed: 0.95
Announcement / notification
See announcement.md for brevity rules, templates, and platform formats.
text: "Deployment complete. All 12 services are running."
voice_name: "Bella"
model_id: "eleven_v3"
stability: 0.75
similarity_boost: 0.85
style: 0.05
speed: 1.05
Story / narrative
See narration.md for character voices, long-form strategy, and pacing.
text: [story content]
voice_name: "Rachel"
model_id: "eleven_v3"
stability: 0.25
similarity_boost: 0.80
style: 0.50
speed: 0.90
Multi-language
See multilingual.md for language tiers, pronunciation hints, and batch workflows.
Set language to the ISO 639-1 code and write text in the target language. Use eleven_v3 (70+ languages) or eleven_multilingual_v2 (29 languages).
Podcast / multi-speaker
See podcast.md for multi-speaker workflow, voice pairing, and episode structure.
Generate each speaker's lines separately with different voices, then concatenate with natural gaps.
Additional ElevenLabs Tools
| Tool | Use case |
|---|
mcp__ElevenLabs__speech_to_speech | Transform audio from one voice to another |
mcp__ElevenLabs__speech_to_text | Transcribe audio to text (with optional diarization) |
mcp__ElevenLabs__isolate_audio | Isolate vocals from background noise |
mcp__ElevenLabs__voice_clone | Clone a voice from audio files |
mcp__ElevenLabs__text_to_voice | Design a new voice from a text description |
Combining with Other Media Skills
Voiceover + Video
- Generate the video with
generate_video
- Generate the voiceover with
mcp__ElevenLabs__text_to_speech
- Combine with ffmpeg:
ffmpeg -i video.mp4 -i voiceover.mp3 -c:v copy -c:a aac output.mp4
Narration + Background Music
- Generate narration with
mcp__ElevenLabs__text_to_speech
- Generate background music with
generate_music
- Mix audio:
ffmpeg -i narration.mp3 -i music.wav -filter_complex "[1:a]volume=0.2[bg];[0:a][bg]amix=inputs=2:duration=longest" output.mp3
Podcast Production
- Generate each speaker's lines separately with different voices
- Generate intro/outro jingle with
generate_music
- Concatenate:
ffmpeg -i intro.wav -i part1.mp3 -i part2.mp3 -i outro.wav -filter_complex "concat=n=4:v=0:a=1" podcast.mp3
See podcast.md for the complete step-by-step workflow.
Tips
- Write text as you want it spoken — use punctuation for natural pauses
- Use "..." for longer pauses: "And the winner is... congratulations!"
- Spell out abbreviations if you want them read as words: "API" vs "A.P.I."
- For numbers, write them as words if pronunciation matters: "twenty-three" vs "23"
- Test with a short sentence first to verify the voice before generating long content
- Use
output_directory to control where files are saved (defaults to ~/Desktop)
- For advanced parameter tuning, consult voice-settings.md
- For video voiceover, follow the Golden Rules and Timed Voiceover Pipeline
- Check voice tiers before selecting a voice — library/cloned voices need a paid plan
- Use the Voice Selection Guide to match voice type to content — always test the voice before writing the full script
Reference Files
| File | What It Covers | When to Read |
|---|
| voice-settings.md | Parameter interactions, named presets, model selection, output formats | Tuning voice parameters or choosing a model |
| voiceover.md | Product demos, explainers, marketing, corporate training | Creating audio for video content |
| narration.md | Audiobooks, fiction, documentaries, children's stories | Long-form narrative or character voices |
| documentation.md | Tutorials, READMEs, API docs, e-learning | Converting technical docs to audio |
| podcast.md | Multi-speaker, interviews, episode structure | Podcast or dialogue production |
| announcement.md | IVR, notifications, system alerts, public address | Short-form announcements or telephony |
| multilingual.md | Language support, pronunciation, localization | Non-English or multi-language content |