> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developers.deepgram.com/changelog/2026/8/28/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.deepgram.com/_mcp/server. ## 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. `EndOfTurn` events 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.0` to suppress native detection entirely and own every turn boundary yourself, driving each ending with `ForceEndTurn`. Ideal when you already run your own VAD or endpointing stack. See [Bring Your Own Turn Detection](/docs/flux/own-turn-detection). ### Switch modes mid-stream — even per turn Because `eot_threshold` can be updated live with a [`Configure`](/docs/flux/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: ```json { "type": "Configure", "thresholds": { "eot_threshold": 1.0 } } ``` 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](/docs/flux/force-end-turn). **`trigger` field on `EndOfTurn`.** Every `EndOfTurn` event now includes a `trigger` field stating what ended the turn: ```json { "event": "EndOfTurn", "transcript": "I need to cancel my subscription", "end_of_turn_confidence": 0.35, "trigger": "manual" } ``` - `model` — Flux's native end-of-turn detection. - `manual` — a `ForceEndTurn` message. - `timeout` — the `eot_timeout_ms` safety 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](/reference/regional-endpoints). ### What's new - Voice Agent The Voice Agent API provides the same turn-taking control through the [`ForceEndTurn`](/docs/voice-agent-force-end-turn) 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](https://developers.deepgram.com/docs/models-languages-overview#nova-3) page. For self-hosted customers, please request the updated models for download from your Deepgram account representative.