For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Ask AIPlaygroundLoginFree API Key
HomeAPI ReferenceVoice AgentSpeech-to-TextText-to-SpeechIntelligenceSelf-Hosted Deployments
HomeAPI ReferenceVoice AgentSpeech-to-TextText-to-SpeechIntelligenceSelf-Hosted Deployments
    • Getting Started with Speech to Text
  • Pre-Recorded Audio
    • Getting Started
    • Feature Overview
    • Template Apps
  • Streaming Audio
      • Getting Started
      • Feature Overview
      • Template Apps
      • End-of-Turn Configuration
      • Flux Multilingual & Language Prompting
      • Build a Flux-enabled Voice Agent
      • Why Flux's State Machine Matters
    • Compare Flux to Nova-3
  • Models and Languages
    • Models & Languages Overview
    • Languages Support
    • Language Detection
    • Multilingual Codeswitching
    • Model Options
    • Version
  • Formatting
    • Speaker Diarization
    • Dictation
    • Filler Words
    • Measurements
    • Numerals
    • Paragraphs
    • Profanity Filtering
    • Punctuation
    • Redaction
    • Smart Formatting
    • Supported Entity Types
    • Utterances
    • Utterance Split
  • Custom Vocabulary
    • Find and Replace
    • Keyterm Prompting
    • Keywords
    • Search
  • Media Input Settings
    • Channels
    • Encoding
    • Multichannel
    • Sample Rate
  • Results Processing
    • Understanding Word Confidence Scores
    • STT Callback
    • STT Tagging
    • Extra Metadata
  • Migrating
    • Migrating From Amazon Web Services (AWS) Transcribe to Deepgram
    • Migrating From Google Speech-to-Text (STT) to Deepgram
    • Migrating From OpenAI Whisper to Deepgram
    • Migrating from AssemblyAI Speech-to-Text to Deepgram
LogoLogo
Ask AIPlaygroundLoginFree API Key
On this page
  • Overview
  • Parameter Details
  • eot_threshold
  • eager_eot_threshold
  • eot_timeout_ms
  • Parameter Interactions
  • Validation Rules
  • Common Configurations
  • Simple Mode (Default)
  • Low-Latency Mode
  • High-Reliability Mode
  • Complex Pipeline Mode
  • Multilingual Mode
  • Related Resources
Streaming AudioConversational STT for Voice Agents (Flux)

End-of-Turn Detection Parameters

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

Was this page helpful?
Previous

Flux Multilingual & Language Prompting

Use Flux Multilingual with language hints to get near-monolingual accuracy in 10 languages, or let the model auto-detect.

Next
Built with

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.

Overview

Flux’s behavior is controlled by the following 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
language_hintSupported language codesNoneNoBias flux-general-multi toward specific languages. See Language Prompting.

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


Multilingual Mode

1async with client.listen.v2.connect(
2 model="flux-general-multi",
3 encoding="linear16",
4 sample_rate=16000,
5 eot_threshold="0.7",
6 request_options={
7 "additional_query_parameters": {
8 "language_hint": ["en", "es"],
9 }
10 },
11) as connection:
12 pass

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

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

Related Resources

  • Getting Started with Flux - Quickstart guide with basic configuration
  • Configure Control Message - Update configuration mid-stream without reconnecting
  • Flux State Machine - Understanding turn events and state transitions
  • Eager End-of-Turn Optimization - Deep dive on eager mode implementation
  • Build a Voice Agent - Complete voice agent implementation guide
  • Migrating from Nova-3 - Migration guide with configuration examples