Flexible turn-taking control for Flux
Flux now gives you full control over how turns end. Beyond Flux’s native end-of-turn detection, you can override it, suppress it entirely, or blend the two — and switch between these modes on the fly, even for a single turn, with a Configure message. Turn-taking goes from a fixed behavior to something you shape around each moment of a conversation.
Three modes of turn-taking
- Automatic (default). Flux’s native end-of-turn detection decides when a turn ends.
EndOfTurnevents carry"trigger": "model". Nothing changes for existing integrations. - Semi-manual. Keep Flux’s detection running, but override it whenever you have a definitive signal — a push-to-talk release, a DTMF tone, a “send” tap — by sending a
ForceEndTurn. The model handles the ambiguous endings; you handle the unambiguous ones. - Fully manual. Set
eot_threshold=1.0to suppress native detection entirely and own every turn boundary yourself, driving each ending withForceEndTurn. Ideal when you already run your own VAD or endpointing stack. See Bring Your Own Turn Detection.
Switch modes mid-stream — even per turn
Because eot_threshold can be updated live with a Configure message, you can change turn-taking behavior for exactly the turn that needs it and then change back. For example, when a caller is about to read an 8-character alphanumeric account ID, raise eot_threshold to 1.0 so Flux won’t cut them off between characters, end the turn yourself once you’ve collected all 8, then drop back to the default for natural conversation:
Flux replies with ConfigureSuccess and the new behavior applies immediately, without reconnecting.
What’s new - Flux
ForceEndTurn message. Send {"type": "ForceEndTurn"} as a WebSocket text frame to end the active turn immediately. Flux ends the turn on the audio transcribed so far and emits a standard EndOfTurn. See Force End Turn.
trigger field on EndOfTurn. Every EndOfTurn event now includes a trigger field stating what ended the turn:
model— Flux’s native end-of-turn detection.manual— aForceEndTurnmessage.timeout— theeot_timeout_mssafety net.
eot_threshold maximum raised to 1.0. Set eot_threshold=1.0 — at connect time or mid-stream via Configure — to fully suppress natural end-of-turn detection.
These changes are additive and backward-compatible. Clients that don’t send ForceEndTurn see no behavior change beyond the new trigger field on EndOfTurn events. Flux ForceEndTurn and Configure-based turn control are supported on the /v2/listen endpoint, and are available on the global endpoint as well as Deepgram’s EU (api.eu.deepgram.com) and AU (api.au.deepgram.com) regional endpoints.
What’s new - Voice Agent
The Voice Agent API provides the same turn-taking control through the ForceEndTurn client message when the agent uses the Flux (v2) listen provider. Send it to end the current user turn immediately, or set agent.listen.provider.eot_threshold=1.0 to fully suppress natural end-of-turn detection and drive every turn ending with ForceEndTurn.
Nova-3 Model Improvements for Bulgarian, Croatian, Estonian, Georgian, Italian, Latvian, Lithuanian, Malay, Marathi, and Telugu
We have released improved Nova-3 monolingual models for ten existing languages. These updates enhance transcription quality for batch and streaming workloads.
Improved models
Batch and streaming models
- Bulgarian (
bg)
Batch models
- Croatian (
hr) - Estonian (
et) - Italian (
it) - Latvian (
lv) - Lithuanian (
lt) - Malay (
ms)
Streaming models
- Georgian (
ka,ka-GE) - Marathi (
mr) - Telugu (
te)
You do not need to change your API requests to access these improvements; the updates are live for all users.
For more details and to see the full list of supported languages, visit the Models & Languages Overview page.
For self-hosted customers, please request the updated models for download from your Deepgram account representative.