Start with realtime TTS
WSS /v2/tts/ws is the primary TTS endpoint for new conversational applications. Send LLM tokens as they arrive. Bland buffers them into useful speech segments, keeps the voice session warm across turns, and supports interruption by replacing or cancelling the active turn.
Realtime quickstart
Stream text token by token and receive binary audio before the turn finishes.
Realtime concepts
Understand buffering, turns, preemption, cancellation, playback, and billing.
WebSocket reference
Review every client message, server event, audio format, limit, and error.
Migration guides
Move from ElevenLabs, Cartesia, Deepgram, PlayHT, Resemble, Google, or Polly.
Other ways to generate speech
Synthesize Speech (HTTP)
Send one complete input string and receive raw streaming audio or a WAV file.
OpenAI-compatible speech
Keep an OpenAI SDK and change its base URL, key, and model.
Speech Studio
Write, direct, and synthesize speech from the dashboard.
Clone a voice
Create a Bland voice from a short reference recording.
Get the delivery right
Choosing a voice
Built-in voices, cloning, and the defaults each voice carries.
Writing for speech
Pauses, numbers, punctuation, and the expressiveness and stability controls.
BTTS_V3 voice and request 48 kHz PCM. The model renders at that rate natively, so no sample-rate conversion is required.
Browser clients
Do not expose a Bland API key in browser code. Your backend should mint a five-minute stream token, then the browser can connect to:Limits and pricing
Speech is billed per character, with delivery-aware settlement. A realtime connection holds one concurrency slot until it closes. Review Speech Limits and the WebSocket billing rules before sizing a production integration.Docs for agents: llms.txt