Skip to Content
cuelo.

03Conversation

End of turn

Answer quickly when the caller is done, and wait when they're only pausing.

End-of-turn detection decides when the caller has finished speaking. Too eager and the agent talks over people mid-thought. Too cautious and every reply starts with dead air. It is the largest controllable part of TTFB.

config.cuelo
turns:
  controller: turn-1-mini
  # threshold: 0.36       end-of-turn probability needed
  # min_silence: 60       ms of quiet before the model may decide
  # max_silence: 1500     ms after which the turn ends regardless

Controllers

ValueHow it decidesLanguagesBest for
turn-1-miniA streaming model scores every 20 ms whether the turn is over. In our tests it answers about 140 ms after the caller stops and holds through "um, so…" pauses.EnglishThe default.
smart-turnAt each pause of min_silence ms (default 200), Smart Turn v3 judges whether the speaker sounds done.MultilingualNon-English calls.
vadFixed silence: the turn ends after min_silence ms (default 500).AnyPredictability over naturalness.
maaiMaAI Voice Activity Projection from both voices. Also decides interruptions.EnglishFull-duplex experiments.

Tuning

FieldDefault (turn-1-mini / smart-turn / vad)Raise it to…Lower it to…
threshold0.36 / 0.5 / –cut people off lessanswer faster
min_silence60 / 200 / 500 msignore short breathsreact sooner
max_silence1500 mswait for slow, thoughtful speakersnever leave dead air

Tune against real calls. In the dashboard's latency tab, vad_tail is the silence the model needed. Premature counts replies that were cancelled before any audio played, because the caller kept talking. Lower threshold until premature turn ends start to appear, then step back.

Why finalize matters

When the controller fires turn_end, Cuelo asks the STT to finalize: flush a final transcript right away instead of waiting for the provider's own endpointing, which is slower. That's the finalize stage in the latency breakdown, typically 50–150 ms. Every STT provider in Cuelo implements it.

Pairing with backchannels

End-of-turn models often fire on the pause right after the agent says "mhm". backchannel_hold makes the agent wait before taking that turn. See Backchannels.

On this page