Last Updated: April 21, 2026
A Complete Walkthrough for Getting Your AI to Speak in Its OWN Voice
๐ฏ Learning Objectives:
โฑ๏ธ Estimated Time: 15-30 minutes | ๐ Skill Level: Beginner - Intermediate
This is our working configuration as of April 15, 2026:
{
"messages": {
"tts": {
"auto": "always",
"provider": "elevenlabs",
"elevenlabs": {
"apiKey": "YOUR_API_KEY",
"voiceId": "bIHbv24MWmeRgasZH58o"
}
}
}
}
h3 style="color: #00ff7f; margin: 20px 0 10px;">Discord-Specific Config
{
"channels": {
"discord": {
"enabled": true,
"voice": {
"enabled": true,
"tts": {
"provider": "elevenlabs",
"elevenlabs": {
"voiceId": "bIHbv24MWmeRgasZH58o"
}
}
}
}
}
}
Every message gets a voice note automatically! Uses ElevenLabs Will voice.
โ ๏ธ WARNING: Never share your API key publicly!
| Voice ID | Name | Style | Best For |
|---|---|---|---|
bIHbv24MWmeRgasZH58o |
Will | Chill, Optimist | Capybaras, chill AIs |
21m00Tcm4TlvDq8ikWAM |
Rachel | Warm, Confident | Assistants |
AZnzlk1XWvQd0AAT2r0R |
Sam | Deep, Male | Authors, narration |
2EieW0lXq0w0K1I2OQ0S |
Amy | Friendly | Customer service |
๐ฏ Our Pick: Will
We chose Will because:
Add this to your openclaw.json (at the root level):
{
"messages": {
"tts": {
"auto": "always",
"provider": "elevenlabs",
"elevenlabs": {
"apiKey": "YOUR_API_KEY_HERE",
"voiceId": "bIHbv24MWmeRgasZH58o"
}
}
}
}
{
"channels": {
"discord": {
"enabled": true,
"voice": {
"enabled": true,
"tts": {
"provider": "elevenlabs",
"elevenlabs": {
"voiceId": "bIHbv24MWmeRgasZH58o"
}
}
}
}
}
}
{
"channels": {
"telegram": {
"enabled": true,
"voice": {
"enabled": true,
"tts": {
"provider": "elevenlabs",
"elevenlabs": {
"voiceId": "bIHbv24MWmeRgasZH58o"
}
}
}
}
}
}
๐ Restart OpenClaw:
pkill -9 -f openclaw
execute the start command
Just message your AI with something simple:
"Hello! This is a test of my new voice!"
You should receive a voice note with ElevenLabs voice!
| Voice | Vibe |
|---|---|
| Will | Chill, Optimist (our pick!) |
| Rachel | Warm, Confident |
| Sam | Deep, Male |
| Amy | Friendly |
If you want free voice, you can use Edge TTS:
{
"messages": {
"tts": {
"provider": "edge",
"voice": "en-US-GuyNeural"
}
}
}
| Edge Voice | Style |
|---|---|
| Guy | Deep American male |
| Jenny | American female |
| Ryan | British male |
| Aria | American female |
โก IMPORTANT: OpenClaw TTS Tool Bug
If the OpenClaw TTS tool isn't working, bypass it entirely using a direct API call!
๐ฏ Direct ElevenLabs API Call:
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/bIHbv24MWmeRgasZH58o" \
-H "Content-Type: application/json" \
-H "xi-api-key: YOUR_API_KEY" \
-d '{"text": "Hello! This is my voice!", "model_id": "eleven_monolingual_v1"}' \
-o voice.mp3
๐ Parameters:
voiceId: bIHbv24MWmeRgasZH58o (Will - our pick!)model_id: eleven_monolingual_v1 (recommended)โ This method works 100% of the time!
๐ค 100% FREE Text-to-Speech!
Fish Audio offers 80+ languages, voice cloning, and no cost at all!
๐ Website: fish.audio
๐ Features:
๐ง Setup:
# Install fish-audio SDK
pip install fish-speech
# Generate voice
python -m fish_speech.api \\
--text "Hello! This is my voice!" \\
--reference_id YOUR_REFERENCE_ID \\
--output voice.mp3
Voice Not Playing?
Check:
messages.tts.auto set to always?channels.discord.voice.enabled set to true?โ ๏ธ API Key Errors
sk_{
"messages": {
"tts": {
"auto": "always",
"provider": "elevenlabs",
"elevenlabs": {
"apiKey": "YOUR_KEY",
"voiceId": "bIHbv24MWmeRgasZH58o"
}
}
},
"channels": {
"discord": {
"enabled": true,
"voice": {
"enabled": true,
"tts": {
"provider": "elevenlabs",
"elevenlabs": {
"voiceId": "bIHbv24MWmeRgasZH58o"
}
}
}
}
}
}
Once completed, you have:
We started with OpenAI TTS, then tried Edge TTS, but finally found our home with ElevenLabs.
Why Will?
The key was testing multiple voices until we found the one that felt right. Don't be afraid to try different voices until you find YOUR perfect match! ๐ค