Live
Create session
ModelsExpand Collapse
ClientEvent = SessionStartEvent { session, type, event_id } | SessionUpdateEvent { session, type, event_id } | InputAudioAppendEvent { audio, type, event_id } | 8 moreClient events for Live. Initialize a primary WebSocket with session.start and wait for session.started. WebRTC creation already starts the session. Audio append is primary WebSocket-only. See the Live prompting guide before writing frontend instructions and delegation policies.
Client events for Live. Initialize a primary WebSocket with session.start and wait for session.started. WebRTC creation already starts the session. Audio append is primary WebSocket-only. See the Live prompting guide before writing frontend instructions and delegation policies.
ForkSessionConfig { audio, client, delegation, store } Overrides for a stored session after connecting to the fork WebSocket. An empty object inherits the stored configuration; do not supply a new model. audio.format applies only to the new WebSocket connection. client overrides are only supported for WebRTC forks.
Overrides for a stored session after connecting to the fork WebSocket. An empty object inherits the stored configuration; do not supply a new model. audio.format applies only to the new WebSocket connection. client overrides are only supported for WebRTC forks.
MediaSessionConfig { model, audio, client, 4 more } Startup configuration for a Live media session. Follow the Live prompting guide when writing frontend instructions and the backend prompt under delegation.responses.instructions.
Startup configuration for a Live media session. Follow the Live prompting guide when writing frontend instructions and the backend prompt under delegation.responses.instructions.
MediaSessionForkConfig { client, delegation, store } Optional overrides for a stored Live session. Omitted settings are inherited. The model, voice, frontend instructions, and prior conversation come from the stored session. WebRTC negotiates its audio format; audio.format is only supported on WebSocket forks.
Optional overrides for a stored Live session. Omitted settings are inherited. The model, voice, frontend instructions, and prior conversation come from the stored session. WebRTC negotiates its audio format; audio.format is only supported on WebSocket forks.
ServerEvent = SessionStartedEvent { event_id, session, type, client_event_id } | SessionUpdatedEvent { event_id, session, type, client_event_id } | InputAudioMutedEvent { event_id, type, client_event_id } | 19 moreServer events for Live. Response lifecycle events are wrapped inside response.event; dispatch the nested event by its full type and tolerate new response event types. Follow the Live prompting guide when designing the conversation and delegation policy.
Server events for Live. Response lifecycle events are wrapped inside response.event; dispatch the nested event by its full type and tolerate new response event types. Follow the Live prompting guide when designing the conversation and delegation policy.
LiveForks
ModelsExpand Collapse
ForkClientEvent = ForkSessionStartEvent { session, type, event_id } | SessionUpdateEvent { session, type, event_id } | InputAudioAppendEvent { audio, type, event_id } | 8 moreClient events for a Live fork WebSocket. First send session.start with an overrides object (which may be empty), then wait for session.started before sending other commands. The model and conversation are inherited from the stored session.
Client events for a Live fork WebSocket. First send session.start with an overrides object (which may be empty), then wait for session.started before sending other commands. The model and conversation are inherited from the stored session.
ForkServerEvent = SessionStartedEvent { event_id, session, type, client_event_id } | SessionUpdatedEvent { event_id, session, type, client_event_id } | InputAudioMutedEvent { event_id, type, client_event_id } | 19 moreServer events for Live. Response lifecycle events are wrapped inside response.event; dispatch the nested event by its full type and tolerate new response event types. Follow the Live prompting guide when designing the conversation and delegation policy.
Server events for Live. Response lifecycle events are wrapped inside response.event; dispatch the nested event by its full type and tolerate new response event types. Follow the Live prompting guide when designing the conversation and delegation policy.
LiveSessions
Accept call
Download recording
Fork session
Hang up session
Transfer call
Reject call
LiveSideband
Connect
ModelsExpand Collapse
ConnectClientEvent = SessionUpdateEvent { session, type, event_id } | InputAudioMuteEvent { type, event_id } | InputAudioUnmuteEvent { type, event_id } | 6 moreClient events accepted by an attached Live sideband WebSocket. The session is already started; send audio over the primary connection.
Client events accepted by an attached Live sideband WebSocket. The session is already started; send audio over the primary connection.
ConnectServerEvent = SessionStartedEvent { event_id, session, type, client_event_id } | SessionUpdatedEvent { event_id, session, type, client_event_id } | InputAudioMutedEvent { event_id, type, client_event_id } | 12 moreServer events received by an attached Live sideband WebSocket. Audio deltas are delivered over the primary connection.
Server events received by an attached Live sideband WebSocket. Audio deltas are delivered over the primary connection.