Skip to main content
OpenAI Live (gpt-live-1) is a full-duplex voice model. It listens while it speaks, so it handles interruptions, backchannels (“mm-hmm”) and overlapping speech on its own. It goes in the pipeline’s llm slot with no separate STT, TTS, VAD or turn detector. The voice model does not call tools itself. When a request needs reasoning or a tool, it delegates to a backend model, keeps talking while the backend works, and then says the result in its own words.
OpenAI Live is available in the Python SDK.

Setup

Set your OpenAI API key in the worker environment. Generate a key from the OpenAI dashboard:

Usage

Pass OpenAILive to the pipeline’s llm slot and give the agent its tools as usual. The backend model calls them; the voice model speaks the result.
Python
Leave vad and turn_detector out of the pipeline. GPT-Live decides when to listen and speak; a local VAD would cut its audio whenever the caller makes a listening sound.

Delegation

The type of config picks who answers when the voice model delegates.
Omit config to use the backend with its defaults.

Answering with your own LLM

Python
The delegate LLM is configured like any other provider. Through zeroruntime.inference it runs on the gateway with no vendor key; from zeroruntime.plugins it needs its own key.

Writing the delegation policy

GPT-Live decides whether to delegate from its instructions; the backend then picks which tool to call from your tool schemas. Give the agent’s instructions a delegation policy in three labeled parts:
Keep tone and the delegation policy in the agent’s instructions, and business rules and tool guidance in the config’s instructions.

Steering a live call

Three session methods add context to the running model from anywhere in your agent: on_enter, a tool body, or a background task.
Python
  • Each append can contain up to 500 tokens.
  • Appends accumulate in the model’s context; they do not replace the agent’s instructions or previous appends.
  • Do not put secrets in thinking updates, since they may still be spoken aloud.
Only duplex models take appends. With any other model, the call logs a warning and sends nothing.

Vision

Neither the voice model nor the OpenAI backend takes images, so vision needs OpenAIDelegateLLMConfig with an LLM that reads images. With Room(vision=True), each time GPT-Live delegates, the caller’s latest camera or screen frame goes to the delegate LLM with the request. With OpenAIBackendConfig, frames are dropped with a warning.

Configuration

Configure GPT-Live’s voice model and its delegated backend using the constructor options below.

Constructor

OpenAIBackendConfig

OpenAIDelegateLLMConfig

Import paths

Examples

Runnable agents are in the duplex examples: