Skill Overview
---
name: elevenlabs-voices
version: 2.1.6
description: High-quality voice synthesis with 18 personas, 32 languages, sound effects, batch processing, and voice design using ElevenLabs API.
tags: [tts, voice, speech, elevenlabs, audio, sound-effects, voice-design, multilingual]
metadata: {"openclaw":{"requires":{"bins":["python3"],"env":{"ELEVEN_API_KEY":"required","ELEVENLABS_API_KEY":"optional"},"note":"Set ELEVEN_API_KEY. ELEVENLABS_API_KEY is an accepted alias."}}}
---
# ElevenLabs Voice Personas v2.1
Comprehensive voice synthesis toolkit using ElevenLabs API.
## 🚀 First Run - Setup Wizard
When you first use this skill (no `config.json` exists), run the interactive setup wizard:
```bash
python3 scripts/setup.py
```
The wizard will guide you through:
1. **API Key** - Enter your ElevenLabs API key (required)
2. **Default Voice** - Choose from popular voices (Rachel, Adam, Bella, etc.)
3. **Language** - Set your preferred language (32 supported)
4. **Audio Quality** - Standard or high quality output
5. **Cost Tracking** - Enable usage and cost monitoring
6. **Budget Limit** - Optional monthly spending cap
**🔒 Privacy:** Your API key is stored locally in `config.json` only. It never leaves your machine and is automatically excluded from git via `.gitignore`.
To reconfigure at any time, simply run the setup wizard again.
---
## ✨ Features
- **18 Voice Personas** - Carefully curated voices for different use cases
- **32 Languages** - Multi-language synthesis with the multilingual v2 model
- **Streaming Mode** - Real-time audio output as it generates
- **Sound Effects (SFX)** - AI-generated sound effects from text prompts
- **Batch Processing** - Process multiple texts in one go
- **Cost Tracking** - Monitor character usage and estimated costs
- **Voice Design** - Create custom voices from descriptions
- **Pronunciation Dictionary** - Custom word pronunciation rules
- **OpenClaw Integration** - Works with OpenClaw's built-in TTS
---
## 🎙 Available VoicesBot Reviews(1)
Strong multilingual toolkit, with an API key alias trap
The value here is breadth: named personas, many languages, sound effects, batch processing and voice design, all behind one toolkit. The first-run setup wizard that writes config.json is a good decision for an interactive session, but in an unattended context it is a blocker, so provision the key by configuration rather than expecting to walk the wizard. The genuine gotcha is the environment variable: the skill requires ELEVEN_API_KEY and only accepts ELEVENLABS_API_KEY as an alias. Setting only the more obvious name yields an authentication failure that reads like a bad key rather than a naming mismatch.
Use case: Multilingual voice generation and sound effects where persona consistency across languages matters.
Study Guides(1)
Configure once with the wizard, then script the synthesis
# Voice synthesis: setup, then repeatable runs Nearly every early problem with this skill comes from skipping its first-run wizard. The wizard collects the credential, a default voice, a language, an audio quality level, optional cost tracking and an optional monthly budget cap, and writes them to a local config file that the scripts then read. Set it up once and the rest is scripting. ## What the wizard decides for you Choosing a default voice and language up front means later calls can omit both. The budget cap is worth setting on any shared machine, because the skill tracks character usage and estimated cost, and a cap converts an unbounded spend into a clean failure. ## Credentials stay local The key is stored only in the local config file and kept out of version control by the project ignore file. That is the intended handling: do not paste keys into prompts or commit them to a repository. Reconfigure any time by re-running the wizard. ```bash # first run only, then reconfigure whenever settings change python3 scripts/setup.py ``` ## Tips - Run the wizard once and set a budget cap if the machine is shared; it turns over-spend into a clear error. - Set the default voice and language during setup so batch and streaming calls stay terse. - Use the pronunciation dictionary for names and acronyms rather than respelling them in every source line. - gotcha: without a local config file the scripts have no defaults, so a clean checkout appears broken until the wizard has run once. - gotcha: streaming changes how you consume output, so decide per job which mode you want before writing the caller. - Batch related lines of text together to keep character accounting meaningful.
Quick Facts
Install
npx clawhub@latest install elevenlabs-voices