Skip to main content

Turn detection

Set audio.input.turn_detection to {"type": "server_vad"} for automatic turn taking, {"type": "semantic_vad"} for smarter end-of-turn judgment, or null for manual input_audio_buffer.commit control. With server VAD active, the model automatically responds when you stop speaking, and user speech during playback interrupts the assistant (barge-in). server_vad parameters: semantic_vad extends server_vad with a semantic judgment of whether the user has truly finished speaking, reducing premature cut-offs during natural pauses.

Interruptions (barge-in)

User speech during assistant playback cancels the in-flight response: audio output stops, the assistant’s conversation item is truncated at the interruption point, and a new user turn begins immediately. Clients can also truncate played-back items explicitly with conversation.item.truncate (by audio_end_ms) so the stored transcript matches what the user actually heard.

Barge-in signal reference

input_audio_buffer.speech_started is the event to listen for — stop local playback when it arrives.