Skip to main content
POST
Synthesize Speech

Overview

Turns text into speech and streams the audio back as it renders. text and voice are the only required fields. You get 48 kHz PCM frames by default — ready to play or forward straight to a client. Set audio.container to wav for a file you can download and open.
Use a BTTS_V3 or newer voice. expressiveness and stability are calibrated for it, and 48 kHz is the rate it renders natively. BTTS_V2 voices synthesize, but the controls are not tuned for them. Read x-model to see which model a voice resolved to.
Coming from /v1/speak? container: "raw" returns bare audio frames. The v1 endpoints wrapped pcm_<rate> in a WAV header, so v1 clients usually skip 44 bytes before playback — doing that here removes 44 bytes of real audio. Drop the header handling, or ask for container: "wav".

Pricing

Text-to-speech pricing scales with plan: Some public-library voices carry an additional per-character creator fee. The exact charge for a request comes back in the x-cost header. Billing follows delivery. A synthesis that fails before any bytes are written is not charged, and a fully delivered request is charged for the whole text. If the connection drops mid-stream, you are charged for the characters whose audio already reached you.

Headers

string
required
Your API key.

Body Parameters

string
required
The text to speak. Maximum 5,000 characters.Insert a pause with <|N|>, where N is 0.1 to 10.0 seconds: "Welcome to Bland. <|0.8|> How can I help?"
string
required
Voice UUID. Names are not accepted — get a UUID from List Voices.
object
Output format. All fields optional.
object
How the voice performs. Both optional, both 0.01.0.

Response

Audio in the encoding and container you asked for.
  • raw + pcm_s16leContent-Type: audio/pcm
  • raw + mulawContent-Type: audio/basic
  • wav (any encoding) → Content-Type: audio/wav
These headers arrive with the first byte.
string
Unique ID for this request. Include it in support tickets.
string
The model that produced the audio, for example btts-3. Set by the voice you chose.
string
The voice UUID used.
string
Output sample rate in Hz.
string
Cost in USD, matching what was billed.
string
Milliseconds to the first audio byte. For wav, the full render time.

Errors

Every error returns the same shape, with a stable machine-readable code:

Examples

Downloadable WAV file

cURL

Default (48 kHz PCM, raw)

cURL

Telephony (μ-law, 8 kHz)

cURL

Docs for agents: llms.txt