Docs / Live API / Client events

Live API

Client events

The events you send on the Live socket. Any event may carry an event_id; the server’s answer returns it as client_event_id.

Events

EventWhat it does
session.startOpens the session; must be the first event. session.model names the model. session.audio sets the input and output format, the output encoding (base64 or binary) and the voice. Answered by session.started.
session.input_audio.appendBase64 24 kHz PCM16 in audio, 3,840 bytes per event. The same chunks are accepted as binary messages.
session.input_audio.mute, session.input_audio.unmuteThe model hears silence while muted. Answered by session.input_audio.muted and session.input_audio.unmuted.
session.updateChanges the output encoding, session.audio.output.encoding, once. Every other field is refused. Answered by session.updated.
session.closeEnds the session. Answered by session.closed.

Start with session.start

{"type": "session.start",
 "session": {"model": "nemotron-voicechat",
             "audio": {"input": {"format": {"type": "audio/pcm", "rate": 24000}},
                       "output": {"format": {"type": "audio/pcm", "rate": 24000},
                                  "encoding": "base64",
                                  "voice": "aria"}}}}

The voice must be one the model offers; GET /v1/models lists them in audio.voices. A field the model does not support, such as non-empty instructions, is refused with invalid_parameter, never ignored. turn_detection is accepted and returned as null: turn-taking is the model’s own.

Refused events

These are refused with an error event, never accepted and ignored:

session.commentary.append, session.thinking.append, session.instructions.append
unsupported_feature: they carry delegation results, and delegation is not supported.
response.create, response.item.create
unsupported_feature: tool calling and delegation are not supported.
input_audio_buffer.clear
unsupported_event: a Live session has no input buffer.