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:
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:
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
andTurnResumed
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 andTurnResumed
cancellations
Example:
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 beloweot_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:
Parameter Interactions
Validation Rules
eager_eot_threshold
must be less than or equal toeot_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)
Best for: Basic conversational agents, demos, getting started
Low-Latency Mode
Best for: High-volume customer service, fast-paced Q&A, responsiveness over accuracy
High-Reliability Mode
Best for: Medical/legal transcription, critical documentation, formal settings
Complex Pipeline Mode
Best for: RAG systems, tool-calling agents, multi-step reasoning workflows
Related Resources
- Getting Started with Flux - Quickstart guide with basic configuration
- 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