> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bland.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome to Bland Speech

> Humanlike text-to-speech built for realtime conversations and streaming LLM output.

Bland Speech is text-to-speech built for live conversation. It handles partial LLM output, pauses, names, numbers, emotion, and mid-sentence changes while returning audio with low latency.

New here? [One curl command](https://docs.bland.ai/tts/quickstart.md) gets you an audio file, and the quickstart ends by pointing you at the right endpoint for what you are building.

## Start with realtime TTS

[`WSS /v2/tts/ws`](https://docs.bland.ai/api-v2/post/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.

> [card] [Realtime quickstart](https://docs.bland.ai/tts/realtime-quickstart.md)
>
> Stream text token by token and receive binary audio before the turn finishes.

> [card] [Realtime concepts](https://docs.bland.ai/tts/realtime-concepts.md)
>
> Understand buffering, turns, preemption, cancellation, playback, and billing.

> [card] [WebSocket reference](https://docs.bland.ai/api-v2/post/tts-ws.md)
>
> Review every client message, server event, audio format, limit, and error.

> [card] [Migration guides](https://docs.bland.ai/tts/migrate.md)
>
> Move from ElevenLabs, Cartesia, Deepgram, PlayHT, Resemble, Google, or Polly.

## Other ways to generate speech

> [card] [Synthesize Speech (HTTP)](https://docs.bland.ai/api-v2/post/tts.md)
>
> Send one complete input string and receive raw streaming audio or a WAV file.

> [card] [OpenAI-compatible speech](https://docs.bland.ai/api-v2/post/audio-speech.md)
>
> Keep an OpenAI SDK and change its base URL, key, and model.

> [card] [Speech Studio](https://docs.bland.ai/tts/speech-studio.md)
>
> Write, direct, and synthesize speech from the dashboard.

> [card] [Clone a voice](https://docs.bland.ai/tts/voices.md#cloning-a-voice)
>
> Create a Bland voice from a short reference recording.

## Get the delivery right

> [card] [Choosing a voice](https://docs.bland.ai/tts/voices.md)
>
> Built-in voices, cloning, and the defaults each voice carries.

> [card] [Writing for speech](https://docs.bland.ai/tts/writing-for-speech.md)
>
> Pauses, numbers, punctuation, and the expressiveness and stability controls.

For the fastest path, choose a `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](https://docs.bland.ai/api-v1/post/speak-stream-input-token), then the browser can connect to:

```text theme={null}
wss://api.bland.ai/v2/tts/ws?token=<short-lived-token>
```

## 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](https://docs.bland.ai/speech/limits.md) and the [WebSocket billing rules](https://docs.bland.ai/api-v2/post/tts-ws.md#billing-and-concurrency) before sizing a production integration.

***

Docs for agents: [llms.txt](https://docs.bland.ai/llms.txt)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.