| name | elevenlabs-tts |
| description | This skill converts text to high-quality audio files using ElevenLabs API. Use this skill when users request text-to-speech generation, audio narration, or voice synthesis with customizable voice parameters (stability, similarity boost) and voice presets (rachel, adam, bella, elli, josh, arnold, ava). |
ElevenLabs Text-to-Speech
Overview
Generate professional audio files from text using ElevenLabs' advanced text-to-speech API. The skill provides pre-configured voice presets with sensible defaults, voice parameter customization, and direct access to the scripts/elevenlabs_tts.py script for programmatic control.
Quick Start
To generate audio from text:
- Ensure the
.env file contains a valid ELEVENLABS_API_KEY
- Execute the script with text:
python scripts/elevenlabs_tts.py "Your text here"
- Specify voice and output:
python scripts/elevenlabs_tts.py "Text" --voice adam --output audio/output.mp3
Voice Presets
Seven pre-configured voices are available. See references/api_reference.md for complete voice descriptions:
rachel (default) - Clear, professional female
adam - Deep, authoritative male
bella - Warm, friendly female
elli - Young, enthusiastic female
josh - Friendly, conversational male
arnold - Deep, powerful male
ava - Expressive, dynamic female
Parameters
Text
The text to convert to speech. Any length is supported.
Voice Selection
Specify voice using preset name (e.g., rachel, adam) or direct ElevenLabs voice ID.
Voice Parameters
- stability (0.0-1.0, default 0.5): Lower values create expressive variation; higher values ensure consistency
- similarity_boost (0.0-1.0, default 0.75): Higher values maintain closer adherence to voice characteristics
Output
Specify the output file path. Default is output.mp3. Directories are created automatically.
Usage Examples
Basic Python Usage
from scripts.elevenlabs_tts import generate_speech
path = generate_speech(
text="Hello, this is a test message",
voice_id="rachel"
)
Command Line
python scripts/elevenlabs_tts.py "Generate this text"
python scripts/elevenlabs_tts.py "Different voice" --voice adam --stability 0.7
python scripts/elevenlabs_tts.py "Save here" --output audio/narration.mp3
python scripts/elevenlabs_tts.py "" --list-voices
Implementation Notes
- The script handles API communication with error reporting
- Output directories are created automatically if they don't exist
- Returns absolute path to generated audio file
- Uses
eleven_monolingual_v1 model by default (can be overridden)
Resources
scripts/elevenlabs_tts.py - Main Python script for text-to-speech generation. Can be imported as a module or executed from command line.
references/api_reference.md - Detailed API documentation including voice descriptions, parameter explanations, and usage examples.
.env and .env.example - Environment configuration for storing API credentials securely.