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
EagerEndOfTurnandTurnResumedevents - 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
EagerEndOfTurnspeculative generation andTurnResumedcancellations
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
EndOfTurnafter 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_thresholdmust be less than or equal toeot_threshold(if both are set)- Setting
eager_eot_threshold > eot_thresholdwill 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