Skip to main content
Breeze supports two text-to-speech streaming modes:
  • POST /v1/text-to-speech/{voice_id}/stream streams one request as audio chunks. Use it when the app sends complete text and wants playback before the response finishes.
  • wss://api.breeze.blue/v1/text-to-speech/{voice_id}/stream-input keeps a realtime conversation channel open across turns. Use it for multi-turn voice agents and live conversation products.
HTTP streaming defaults to raw pcm to reduce TTFA, and also supports mp3 and wav. Realtime WebSocket always uses pcm_s16le, 24000 Hz, mono, 16-bit binary frames and does not accept output_format. Realtime WebSocket sessions can be interrupted by network changes, service deployments, or upstream realtime worker restarts. If a realtime connection closes before the active turn completes, reconnect with a new session and start a new turn from your own conversation state. Structured restart signals use an error frame with meta.reconnect: true followed by WebSocket close code 1012.

Build with streaming

Stream text to speech

Inspect the streaming endpoint, SDK examples, request fields, and binary response.

Create realtime TTS session

Mint short-lived client_secret tokens for browser realtime WebSocket connections.

Text to speech guide

Compare sync, async, and streaming delivery for real product workflows.

Realtime text to speech

Use one WebSocket connection across conversation turns for the lowest TTFA path.

Output formats

Choose between pcm, mp3, and wav for streaming playback and audio pipelines.

Rate limits

Handle concurrent generation limits and retryable streaming failures.