Skip to main content
The mode setting controls the audio architecture of the assistant. All three modes work with prompts and flows alike.

Pipeline (default)

Classic three-stage architecture: speech-to-text → LLM → text-to-speech. With SLA, the LLM can be selected per assistant; otherwise it follows the assistant owner’s personal default and then the platform default.
  • Full control: pick STT, LLM, and TTS independently, including fallback chains per stage.
  • Widest model and voice selection, best multilingual coverage.
  • Turn detection via a semantic turn model or voice-activity detection (configurable).
Use it when you want maximum control over quality, cost, and language behavior. This is the right default for production telephony.

Realtime

A single speech-to-speech model (e.g. OpenAI gpt-realtime, Google Gemini Live) listens and speaks directly — no separate STT or TTS. With SLA, realtime has its own model selection. Changing the provider also switches to a compatible provider-native voice.
  • Lowest latency and very natural prosody (laughter, hesitation, tone).
  • Voice selection comes from the realtime model (e.g. marin, cedar for OpenAI; Puck, Kore for Gemini).
  • Turn detection can be robust, semantic, or adaptive when the selected voice mode supports it. Other voice modes manage turn timing automatically.
  • Fewer knobs: voice library and per-stage fallbacks do not apply.
Use it when conversational feel matters more than fine-grained control — demos, concierge experiences, voice-first products.

Half-cascade

A hybrid: a realtime model does the listening and thinking (text-only), while a separate TTS voice does the speaking. Half-cascade has its own text-capable realtime model selection, independent of the full realtime selection. Changing it never changes the separate TTS voice.
  • Realtime-grade understanding and turn taking, combined with your chosen TTS voice — including cloned or brand voices.
  • Output voice is configured exactly like in pipeline mode (TTS provider / model / voice).
Use it when you want realtime responsiveness but need a specific voice the realtime model doesn’t offer.

Realtime turn detection

For compatible realtime and half-cascade assistants, choose how the assistant decides that the caller has finished speaking:
  • Robust (VAD) — responds after a clear pause. Fast and predictable.
  • Semantic — waits until the caller seems to have completed their thought, even with a mid-sentence pause. Response eagerness controls how soon it answers.
  • Adaptive — short acknowledgements such as “mhm” or “okay” do not stop the assistant, while a clear interruption lets the caller take over. You can also tune minimum silence, voice sensitivity, interruption duration, or disable interruptions.
Assistants that do not expose these choices continue to manage turn timing automatically. Existing assistants remain on Robust (VAD) until you select another mode.

Reliability behavior

If a realtime or half-cascade configuration cannot be built at call time (missing provider key, unavailable model), the call does not fail — the engine automatically falls back to the pipeline stack and records the event in the call log. A configuration problem never drops a live call.

Quick comparison