Skip to main content
Deepgram and Bland both return raw binary audio over a persistent WebSocket. Most of the migration is a control-message rename plus one important change: Bland handles text buffering without requiring Flush after each useful fragment. Start with the Realtime TTS Quickstart.

Message mapping

Do not translate every Deepgram Flush into a new Bland turn. Keep one Bland context for the entire LLM response. Bland begins synthesis at natural boundaries while more tokens continue to arrive. Deepgram’s Clear acknowledges cleared server state. Bland reports utterance_end with reason cancelled or preempted. In both cases, clear any unplayed audio in your local playback queue. See the Deepgram streaming TTS reference and Bland realtime concepts.
Docs for agents: llms.txt