Last updated
What is Custom TTS used for in a Bolna voice agent?
Custom TTS lets your Bolna agent speak through any text-to-speech server that follows the OpenAI speech API, at your URL and with your key. Use it for a fine-tuned or open-weight voice model, when audio has to stay on your own infrastructure, or when you already pay a TTS provider directly.
Your server can run anywhere, for example vLLM-Omni, a self-hosted open-weight model or a hosted gateway.
How do I set up Custom TTS with Bolna?
- Go to Settings → Integrations in the dashboard and filter by TTS. On the Custom TTS card, click Add voice.
- Fill in Voice (the voice name your server accepts, for example
vivian), Model name (for exampleQwen/Qwen3-TTS-12Hz-1.7B-CustomVoice), Endpoint URL (your base URL including/v1) and API key (leave it empty if your server has no authentication). - Click Save. Bolna checks the endpoint and stores the key encrypted.
- Open your agent, go to the Languages tab, choose custom as the voice provider and model, then pick your voice.
- Preview it with the play button and save the agent.
You can also register voices over the API with POST https://api.bolna.ai/user/tts/custom. See the Custom TTS setup guide in the Bolna docs.
What does my server need to support?
| Requirement | Detail |
|---|---|
| Endpoint | POST {base_url}/audio/speech, with the base URL including the version segment such as /v1 |
| Request fields | model, voice, input, response_format set to mp3, and speed set to 1.0 |
| Response | The whole MP3 clip for the text in each request |
| Authentication | Bearer token in the Authorization header, optional |
| Network | A public endpoint with no redirects. Private and local addresses are refused |
| Timeout | A reply within 20 seconds, or the call ends with a timeout error |
Each entry is one voice. To use several voices from the same server, add each one separately.
What can you build with Custom TTS and Bolna?
A fine-tuned brand voice. Serve a voice model you trained yourself and use it as the main voice on any agent.
Voice traffic that stays on your infrastructure. Host the TTS model yourself when the audio or the traffic has to stay on your own infrastructure. Pair it with a custom LLM to keep reasoning on your own models too.
Billing through your existing TTS contract. If you already pay a TTS provider directly, point Bolna at it so usage is billed there. Bolna does not charge for custom TTS speech. See pricing.
Shared voices across sub-accounts. A voice added on the main account is available to all of its sub-accounts, while a voice added inside a sub-account stays private to it.