> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# End-of-Turn Detection

> Flux end-of-turn detection parameters for voice agent turn-taking.

<Info>**Deepgram Flux only.** These parameters return a 400 error on non-Flux models.</Info>

Flux uses a confidence-based system to decide when a speaker has finished their turn.

<ParamField query="eot_threshold" type="float" default="0.7">
  Confidence threshold (`0.5`–`0.9`) for triggering an `EndOfTurn` event. Higher values require more certainty the speaker is done — fewer false positives but slightly more latency. Lower values respond faster but may cut speakers off mid-thought.
</ParamField>

<ParamField query="eager_eot_threshold" type="float">
  Confidence threshold (`0.3`–`0.9`) for triggering an early `EagerEndOfTurn` event. Not set by default — setting it enables eager mode. When fired, your agent can start generating a response speculatively. If the speaker resumes, a `TurnResumed` event cancels it. Must be ≤ `eot_threshold`. Lower values = earlier triggers, more false starts. Typical range: `0.3`–`0.5` for \~150–250 ms latency savings at the cost of \~50–70% more LLM calls.
</ParamField>

<ParamField query="eot_timeout_ms" type="integer" default="5000">
  Maximum silence in ms (`500`–`10000`) before forcing `EndOfTurn` regardless of confidence. Resets when speech resumes. Increase for speakers who pause frequently; decrease for rapid-fire Q\&A.
</ParamField>

## Event Flow

Without eager mode (`eot_threshold` only):

```
Speech → silence → confidence ≥ eot_threshold → EndOfTurn
Speech → silence → timeout (eot_timeout_ms) → EndOfTurn
```

With eager mode (`eager_eot_threshold` set):

```
Speech → silence → confidence ≥ eager_eot_threshold → EagerEndOfTurn
  → speaker stays silent → confidence ≥ eot_threshold → EndOfTurn
  → speaker resumes → TurnResumed (cancel speculative work)
```

## Configuration Profiles

**Default** — balanced for general use:

```
?eot_threshold=0.7&eot_timeout_ms=5000
```

**Low-latency** — fast response, more false starts:

```
?eager_eot_threshold=0.4&eot_threshold=0.7&eot_timeout_ms=6000
```

**High-reliability** — fewer interruptions, more latency:

```
?eot_threshold=0.85&eot_timeout_ms=8000
```
