Skip to main content
Turn-taking controls the rhythm of a voice conversation: when the agent decides the caller has finished speaking, how it reacts when the caller talks over it, and how long it waits before responding. These settings live on the agent’s stt_llm_tts pipeline, alongside the voice and model config, and they trade response latency against the risk of cutting the caller off. Three blocks govern this behavior:
  • turn_detection — which model decides the caller is done speaking.
  • interruption — how the agent reacts when the caller speaks while it is talking.
  • endpointing — how long the agent waits after speech ends before responding.

Turn detection

turn_detection carries a models list (at least one entry). Each entry names a provider and a model. The model returns a probability that the caller has finished; the endpointing delays below decide how that probability becomes a pause.

Providers

Provider livekit uses LiveKit’s native turn-detection models. Pick one model by name:
The defaults above are the detector’s own runtime defaults. When a parameter is left unset on the agent config, the detector applies these values.

When the detector is unavailable

If inference times out (after timeout seconds) or errors, the detector returns fallback_threshold (0.8) instead of a fresh prediction. A high fallback keeps the conversation moving when the model is briefly slow, at the cost of occasionally ending a turn early.

Interruptions

interruption decides what happens when the caller speaks while the agent is talking. The whole block is optional; omit it to use the agent’s defaults. Use min_duration and min_words to filter out backchannels like “yeah” or “okay” so the agent keeps talking through them. When a brief sound does stop the agent, false_interruption_timeout plus resume_false_interruption let it pick the response back up instead of dropping it.
Set enabled to false only for scripted segments where the agent must finish, such as a required disclosure. For normal conversation, keep interruptions on so callers can talk naturally.

Endpointing

endpointing sets how long the agent waits after the caller stops before it responds. The turn-detection probability selects which bound applies: a high probability (the caller seems done) uses min_delay; a low one (the caller may continue) uses max_delay.

Changing endpointing mid-call

The update_endpointing action adjusts these bounds while a call is in progress. Use it to tighten responsiveness during quick back-and-forth and loosen it when the caller is likely to give a long answer. See abilities and actions for how actions are configured.

How these settings affect call feel

The detector, interruption rules, and endpointing delays together set the conversation’s latency and how forgiving it feels.
Very low endpointing delays can make the agent respond before a caller finishes a thought, especially on noisy lines. Very high delays add dead air. Start from the defaults (0.05 / 1.5) and adjust in small steps.

Voice and model config

Configure the STT, LLM, TTS, and VAD stack that turn-taking sits on.

Abilities and actions

Use the update_endpointing action and other in-call behaviors.