End-of-Turn Detection Parameters

Configure Flux’s end-of-turn detection behavior with eot_threshold, eager_eot_threshold, and eot_timeout_ms.

Flux provides three configurable parameters that control end-of-turn detection behavior, allowing you to optimize your voice agent’s conversational flow for your specific use case.

Overview

Flux’s end-of-turn detection is powered by three key parameters:

ParameterRangeDefaultRequiredDescription
eot_threshold0.5 - 0.90.7NoConfidence threshold for triggering EndOfTurn events
eager_eot_threshold0.3 - 0.9NoneFor eager modeConfidence threshold for triggering EagerEndOfTurn events
eot_timeout_ms500 - 100005000NoMaximum silence duration (ms) before forcing EndOfTurn

Parameter Details

eot_threshold

Confidence threshold required to trigger an EndOfTurn event, signaling that the user has finished speaking.

Valid Values: 0.5 to 0.9 Default: 0.7 Type: Float (passed as string in URL or SDK)

Behavior:

  • Higher values (e.g., 0.8 - 0.9) = Higher certainty required before ending a turn, fewer false positives, slightly increased latency
  • Lower values (e.g., 0.5 - 0.7) = Lower certainty required before ending a turn, faster responses, more false positives

Example:

$wss://api.deepgram.com/v2/listen?model=flux-general-en&eot_threshold=0.8

eager_eot_threshold

Confidence threshold for triggering EagerEndOfTurn events, enabling early LLM response generation.

Valid Values: 0.3 to 0.9 Default: Not set (eager mode disabled) Type: Float (passed as string in URL or SDK)

Behavior:

  • When set: Enables EagerEndOfTurn and TurnResumed events
  • Lower values (e.g., 0.3 - 0.5) = Earlier triggers, lower latency, more false starts
  • Higher values (e.g., 0.6 - 0.8) = More conservative, fewer cancellations, less latency benefit

Trade-offs:

  • ✅ Reduces E2E agent latency
  • ❌ Increases LLM calls
  • ❌ Requires handling EagerEndOfTurn speculative generation and TurnResumed cancellations

Example:

$wss://api.deepgram.com/v2/listen?model=flux-general-en&eager_eot_threshold=0.6&eot_threshold=0.8

Important: The transcript in EagerEndOfTurn will exactly match the transcript in the subsequent EndOfTurn event (if no TurnResumed occurs). This guarantees consistency for caching strategies.


eot_timeout_ms

Maximum silence duration before forcing an EndOfTurn, regardless of confidence.

Valid Values: 500 to 10000 (milliseconds) Default: 5000 (5 seconds) Type: Integer (passed as string in URL or SDK)

Behavior:

  • Forces EndOfTurn after specified silence duration, even if confidence is below eot_threshold
  • Timer resets when new speech is detected
  • Increase (e.g., 7000 - 10000) for users with frequent pauses
  • Decrease (e.g., 3000 - 4000) for rapid-response environments

Example:

$wss://api.deepgram.com/v2/listen?model=flux-general-en&encoding=linear16&sample_rate=16000&eot_timeout_ms=7000

Parameter Interactions

Validation Rules

  • eager_eot_threshold must be less than or equal to eot_threshold (if both are set)
  • Setting eager_eot_threshold > eot_threshold will result in an error
  • All parameters are optional, but their values must be within valid ranges if specified

Common Configurations

Simple Mode (Default)

1async with client.listen.v2.connect(
2 model="flux-general-en",
3 eot_threshold="0.7" # Default value
4) as connection:
5 pass

Best for: Basic conversational agents, demos, getting started


Low-Latency Mode

1async with client.listen.v2.connect(
2 model="flux-general-en",
3 eager_eot_threshold="0.4",
4 eot_threshold="0.7",
5 eot_timeout_ms="6000"
6) as connection:
7 pass

Best for: High-volume customer service, fast-paced Q&A, responsiveness over accuracy


High-Reliability Mode

1async with client.listen.v2.connect(
2 model="flux-general-en",
3 eot_threshold="0.85",
4 eot_timeout_ms="8000"
5) as connection:
6 pass

Best for: Medical/legal transcription, critical documentation, formal settings


Complex Pipeline Mode

1async with client.listen.v2.connect(
2 model="flux-general-en",
3 eager_eot_threshold="0.4",
4 eot_threshold="0.85",
5 eot_timeout_ms="7000"
6) as connection:
7 pass

Best for: RAG systems, tool-calling agents, multi-step reasoning workflows