Skip to main content
Deepgram's Docs

Search documentation

Type to search this documentation.

On this pageOverview

End-of-Turn Detection Parameters

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

Flux’s behavior is controlled by the following key parameters:

Parameter Range Default Required Description
eot_threshold 0.5 - 1.0 0.7 No Confidence threshold for triggering EndOfTurn events. Set to 1.0 to suppress natural end-of-turn and drive turns with ForceEndTurn.
eager_eot_threshold 0.3 - 0.9 None For eager mode Confidence threshold for triggering EagerEndOfTurn events
eot_timeout_ms 500 - 60000 5000 No Maximum silence duration (ms) before forcing EndOfTurn
language_hint Supported language codes None No Bias flux-general-multi toward specific languages. See Language Prompting.

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

Valid Values: 0.5 to 1.0 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
  • 1.0 = Fully suppresses natural EndOfTurn detection. You take ownership of turn endings with ForceEndTurn; the eot_timeout_ms backstop still applies. See Bring Your Own Turn Detection.

Example:

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

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:

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

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

Valid Values: 500 to 60000 (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:

Bash
wss://api.deepgram.com/v2/listen?model=flux-general-en&encoding=linear16&sample_rate=16000&eot_timeout_ms=7000
  • 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
Python
async with client.listen.v2.connect(
    model="flux-general-en",
    eot_threshold="0.7"  # Default value
) as connection:
    pass

Best for: Basic conversational agents, demos, getting started


Python
async with client.listen.v2.connect(
    model="flux-general-en",
    eager_eot_threshold="0.4",
    eot_threshold="0.7",
    eot_timeout_ms="6000"
) as connection:
    pass

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


Python
async with client.listen.v2.connect(
    model="flux-general-en",
    eot_threshold="0.85",
    eot_timeout_ms="8000"
) as connection:
    pass

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


Python
async with client.listen.v2.connect(
    model="flux-general-en",
    eager_eot_threshold="0.4",
    eot_threshold="0.85",
    eot_timeout_ms="7000"
) as connection:
    pass

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


Python
async with client.listen.v2.connect(
    model="flux-general-multi",
    encoding="linear16",
    sample_rate=16000,
    eot_threshold="0.7",
    request_options={
        "additional_query_parameters": {
            "language_hint": ["en", "es"],
        }
    },
) as connection:
    pass

Best for: Multilingual call centers, global voice agents, code-switching scenarios

See the Language Prompting guide for full details on language hint usage.

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu