OpenAI API

RealtimeClientEventConversationItemTruncate

object

Send this event to truncate a previous assistant message’s audio. The server
will produce audio faster than realtime, so this event is useful when the user
interrupts to truncate audio that has already been sent to the client but not
yet played. This will synchronize the server’s understanding of the audio with
the client’s playback.

Truncating audio will delete the server-side text transcript to ensure there
is not text in the context that hasn’t been heard by the user.

If successful, the server will respond with a conversation.item.truncated
event.

event_idstring

Optional client-generated ID used to identify this event.

typestringrequired

The event type, must be conversation.item.truncate.

Allowed values:conversation.item.truncate

item_idstringrequired

The ID of the assistant message item to truncate. Only assistant message
items can be truncated.

content_indexintegerrequired

The index of the content part to truncate. Set this to 0.

audio_end_msintegerrequired

Inclusive duration up to which audio is truncated, in milliseconds. If
the audio_end_ms is greater than the actual audio duration, the server
will respond with an error.

Example

RealtimeClientEventInputAudioBufferAppend

object

Send this event to append audio bytes to the input audio buffer. The audio
buffer is temporary storage you can write to and later commit. In Server VAD
mode, the audio buffer is used to detect speech and the server will decide
when to commit. When Server VAD is disabled, you must commit the audio buffer
manually.

The client may choose how much audio to place in each event up to a maximum
of 15 MiB, for example streaming smaller chunks from the client may allow the
VAD to be more responsive. Unlike made other client events, the server will
not send a confirmation response to this event.

event_idstring

Optional client-generated ID used to identify this event.

typestringrequired

The event type, must be input_audio_buffer.append.

Allowed values:input_audio_buffer.append

audiostringrequired

Base64-encoded audio bytes. This must be in the format specified by the
input_audio_format field in the session configuration.

Example

RealtimeClientEventInputAudioBufferClear

object

Send this event to clear the audio bytes in the buffer. The server will
respond with an input_audio_buffer.cleared event.

event_idstring

Optional client-generated ID used to identify this event.

typestringrequired

The event type, must be input_audio_buffer.clear.

Allowed values:input_audio_buffer.clear

Example

RealtimeClientEventInputAudioBufferCommit

object

Send this event to commit the user input audio buffer, which will create a
new user message item in the conversation. This event will produce an error
if the input audio buffer is empty. When in Server VAD mode, the client does
not need to send this event, the server will commit the audio buffer
automatically.

Committing the input audio buffer will trigger input audio transcription
(if enabled in session configuration), but it will not create a response
from the model. The server will respond with an input_audio_buffer.committed
event.

event_idstring

Optional client-generated ID used to identify this event.

typestringrequired

The event type, must be input_audio_buffer.commit.

Allowed values:input_audio_buffer.commit

Example

RealtimeClientEventResponseCancel

object

Send this event to cancel an in-progress response. The server will respond
with a response.cancelled event or an error if there is no response to
cancel.

event_idstring

Optional client-generated ID used to identify this event.

typestringrequired

The event type, must be response.cancel.

Allowed values:response.cancel

response_idstring

A specific response ID to cancel - if not provided, will cancel an
in-progress response in the default conversation.

Example