How to use Ultravox with your own text-to-speech provider
jsonAudioFieldPath
in your generic ExternalVoice.
Example error text | Provider | Resolution |
---|---|---|
Requested output format pcm_44100 (PCM at 44100hz) is only allowed for Pro tier and above. | ElevenLabs | Your ElevenLabs subscription limits your generation sample rate. Find the maximum sample rate allowed for your subscription on their pricing page (you’ll need to click “Show API details”) and then set maxSampleRate on your voice to match. |
A model with requested ID does not exist | ElevenLabs | Your model name is wrong. See their model page for the correct ids. |
A voice with voice_id 2bNrEsM0omyhLiEyOwqY does not exist. | ElevenLabs | The voiceId you provided doesn’t correspond to a voice in your ElevenLabs library. Make sure your ElevenLabs API key is what you expect and then add the voice to your library in Eleven. |
The API key you used is missing the permission text_to_speech to execute this operation. | ElevenLabs | Check your key and/or upgrade your account with ElevenLabs. |
This request exceeds your quota of 10000. You have 14 credits remaining, while 46 credits are required for this request. | ElevenLabs | Check your key and/or upgrade your account with ElevenLabs. |
Error initializing streaming TTS connection | ElevenLabs/Cartesia/LMNT | The provider rejected our attempt to create a streaming connection. This occurs most commonly with ElevenLabs and usually means your API key is incorrect. |
HTTP error: 500 Response:{"error": "Internal server error"} Request:{"text": "How can I help you?"} | Generic | This is the sort of error you’ll get for generic external voices. You should be able to use the complete request and response to reproduce and debug the error with your provider. |