Skip to main content
Deepgram's Docs

Search documentation

Type to search this documentation.

On this pageOverview

Batch vs Streaming: Which Should I Use?

Flux TTS is served on /v2/speak over two transports against the same voices. They're not tiers — pick by how the audio is consumed.

  • Building a voice agent or any live, conversational experience? Use streaming (WebSocket) — it streams audio as text arrives and keeps prosody consistent across turns.
  • Pre-rendering audio you know up front (IVR prompts, notifications, audiobook lines)? Use batch (REST).
Streaming (WebSocket) Batch (REST)
Endpoint wss://api.deepgram.com/v2/speak POST https://api.deepgram.com/v2/speak
Input Text streamed in as it's produced (LLM tokens) One complete block of text
Output Audio streams back incrementally Full audio in one response
Time-to-first-byte Low — playback starts before the full response exists Whole clip generated before you get it
Interruption / barge-in Yes — Interrupt with spoken-text feedback N/A
Turn lifecycle & cross-turn context Yes N/A (stateless request/response)
Mid-stream control Configure speed mid-session Fixed per request (speed query parameter)
Encodings Raw linear16 / mulaw / alaw Containerized/compressed too: mp3 (default), opus, flac, aac
Operational model Long-lived connection, lifecycle to manage Stateless: simple retries, high fan-out
  • The text is produced incrementally (you're streaming from an LLM).
  • The user may barge in mid-response — Interrupt cancels in-flight synthesis and reports what they heard.
  • You want the lowest possible time-to-first-audio in a back-and-forth conversation.
  • You want tone to carry across turns.
  • The full text is known before you synthesize.
  • You're pre-generating reusable assets (prompts, notifications, narration).
  • You want a stateless request/response with easy retries and high concurrency, and don't need incremental playback or interruption.

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu