adorable-bear-14321
03/04/2026, 5:40 PMtall-airline-16756
03/04/2026, 5:41 PMtall-airline-16756
03/04/2026, 5:41 PMvoice_id works while your other voices fail to synthesize despite adding them in your ElevenLabs account. I’ll walk through the most likely causes and give you simple steps to narrow this down.
What’s likely happening
• The LiveKit ElevenLabs plugin supports custom `voice_id`s.
• The problem is most likely an ElevenLabs account/configuration or API-access issue (not LiveKit), such as an API key permission, voice visibility, or plan restriction.
Quick checklist to troubleshoot
1. Confirm your API key is set and used by the plugin
◦ Ensure ELEVEN_API_KEY (or whatever env var your integration uses) contains the correct ElevenLabs API key for the account that owns the custom voice.
1. Verify the exact voice_id
◦ Copy the voice_id exactly from the ElevenLabs dashboard (IDs are exact strings; a single character difference will fail).
1. Confirm the voice is a custom voice and accessible via API
◦ Make sure the voice you created is not a community-only voice or otherwise restricted.
◦ Some voices may be visible in the web UI but not accessible via the API on certain plans.
1. Test the ElevenLabs API directly (outside LiveKit)
◦ This isolates whether ElevenLabs itself can synthesize that voice with your API key. Example cURL:
curl --silent --output audio.mp3 \
--header "Content-Type: application/json" \
--header "xi-api-key: YOUR_ELEVENLABS_API_KEY" \
--data '{"text":"Test message"}' \
<https://api.elevenlabs.io/v1/text-to-speech/YOUR_VOICE_ID>
• Replace YOUR_ELEVENLABS_API_KEY and YOUR_VOICE_ID. If this fails, the issue is with ElevenLabs access/permissions.
1. If direct API call succeeds
◦ The voice is available and your API key works. Then the issue may be how the LiveKit plugin is configured to pass the voice_id or API key:
▪︎ Double-check the plugin initialization includes the voice_id exactly.
▪︎ Confirm the plugin is using the same environment/API key as your successful cURL test.
What I can help with next
• If you run the cURL test and tell me whether it succeeds or the error message you get, I can help interpret the error and give targeted next steps.
• If the cURL fails, share the exact error (redact the API key) and I’ll guide you through likely ElevenLabs-side causes and checks.
If you want, I can also show an example of how to set the voice_id in your LiveKit plugin code based on the snippet you’re using—just tell me which language or snippet you have.
Sources: ElevenLabs TTS plugin guide | LiveKit Documentationadorable-bear-14321
03/04/2026, 5:56 PMtall-airline-16756
03/04/2026, 5:56 PM