> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.deepgram.com/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.