Informazioni di riferimento sugli eventi audio

Gli eventi in tempo reale vengono usati per comunicare tra il client e il server in applicazioni audio in tempo reale. Gli eventi vengono inviati come oggetti JSON su vari endpoint, ad esempio WebSocket o WebRTC. Gli eventi vengono usati per gestire la conversazione, i buffer audio e le risposte in tempo reale.

È possibile usare eventi audio client e server con queste API:

Se non diversamente specificato, gli eventi descritti in questo documento sono applicabili a entrambe le API.

Client events

Esistono nove eventi client che possono essere inviati dal client al server:

Event Description
RealtimeClientEventConversationItemCreate L'evento client conversation.item.create viene usato per aggiungere un nuovo elemento al contesto della conversazione, inclusi messaggi, chiamate di funzione e risposte alle chiamate di funzione.
RealtimeClientEventConversationItemDelete L'evento client conversation.item.delete viene usato per rimuovere un elemento dalla cronologia delle conversazioni.
RealtimeClientEventConversationItemRetrieve L'evento client conversation.item.retrieve viene usato per recuperare un elemento dalla cronologia delle conversazioni.
RealtimeClientEventConversationItemTruncate L'evento client conversation.item.truncate viene usato per troncare l'audio di un messaggio assistente precedente.
RealtimeClientEventInputAudioBufferAppend L'evento client input_audio_buffer.append viene usato per aggiungere byte audio al buffer audio di input.
RealtimeClientEventInputAudioBufferClear L'evento client input_audio_buffer.clear viene usato per cancellare i byte audio nel buffer.
RealtimeClientEventInputAudioBufferCommit L'evento client input_audio_buffer.commit viene usato per eseguire il commit del buffer audio di input dell'utente.
RealtimeClientEventOutputAudioBufferClear L'evento client output_audio_buffer.clear viene usato per cancellare i byte audio nel buffer di output.

Questo evento è applicabile solo per WebRTC.
RealtimeClientEventResponseCancel L'evento client response.cancel viene usato per annullare una risposta in corso.
RealtimeClientEventResponseCreate L'evento client response.create viene usato per indicare al server di creare una risposta tramite l'inferenza del modello.
RealtimeClientEventSessionUpdate L'evento client session.update viene usato per aggiornare la configurazione predefinita della sessione.

RealtimeClientEventConversationItemCreate

L'evento client conversation.item.create viene usato per aggiungere un nuovo elemento al contesto della conversazione, inclusi messaggi, chiamate di funzione e risposte alle chiamate di funzione. Questo evento può essere usato per popolare una cronologia della conversazione e per aggiungere nuovi elementi a metà flusso. Attualmente questo evento non può popolare i messaggi audio dell'assistente.

In caso di esito positivo, il server risponde con un conversation.item.created evento; in caso contrario, viene inviato un error evento.

Event structure

{
  "type": "conversation.item.create",
  "previous_item_id": "<previous_item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.create.
previous_item_id string ID dell'elemento precedente dopo il quale viene inserito il nuovo elemento. Se non impostato, il nuovo elemento viene aggiunto alla fine della conversazione. Se impostata, consente l'inserimento di un elemento a metà conversazione. Se l'ID non viene trovato, viene restituito un errore e l'elemento non viene aggiunto.
item RealtimeConversationRequestItem Elemento da aggiungere alla conversazione.

RealtimeClientEventConversationItemDelete

L'evento client conversation.item.delete viene usato per rimuovere un elemento dalla cronologia delle conversazioni.

Il server risponde con un conversation.item.deleted evento, a meno che l'elemento non esista nella cronologia delle conversazioni, nel qual caso il server risponde con un errore.

Event structure

{
  "type": "conversation.item.delete",
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.delete.
item_id string ID dell'elemento da eliminare.

RealtimeClientEventConversationItemRetrieve

L'evento client conversation.item.retrieve viene usato per recuperare la rappresentazione del server di un elemento specifico nella cronologia delle conversazioni. Questo evento è utile, ad esempio, per controllare l'audio dell'utente dopo l'annullamento del rumore e VAD.

Se l'evento client ha esito positivo, il server risponde con un conversation.item.retrieved evento. Se l'elemento non esiste nella cronologia delle conversazioni, il server risponderà con un errore.

Event structure

{
  "type": "conversation.item.retrieve",
  "item_id": "<item_id>",
  "event_id": "<event_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.retrieve.
item_id string ID dell'elemento da recuperare.
event_id string ID dell'evento.

RealtimeClientEventConversationItemTruncate

L'evento client conversation.item.truncate viene usato per troncare l'audio di un messaggio assistente precedente. Il server produce audio più velocemente rispetto al tempo reale, quindi questo evento è utile quando l'utente interrompe il troncamento dell'audio inviato al client ma non ancora riprodotto. La comprensione dell'audio con la riproduzione del client viene sincronizzata.

Il troncamento dell'audio elimina la trascrizione del testo sul lato server per assicurarsi che nel contesto non sia presente testo che l'utente non conosce.

Se l'evento client ha esito positivo, il server risponde con un conversation.item.truncated evento.

Event structure

{
  "type": "conversation.item.truncate",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.truncate.
item_id string ID dell'elemento del messaggio dell'assistente da troncare. È possibile troncare solo gli elementi del messaggio dell'assistente.
content_index integer Indice della parte di contenuto da troncare. Impostare questa proprietà su "0".
audio_end_ms integer Durata inclusiva fino al quale l'audio viene troncato, in millisecondi. Se il audio_end_ms è maggiore della durata audio effettiva, il server risponde con un errore.

RealtimeClientEventInputAudioBufferAppend

L'evento client input_audio_buffer.append viene usato per aggiungere byte audio al buffer audio di input. Il buffer audio è un archivio temporaneo in cui è possibile scrivere e successivamente eseguire il commit.

In modalità VaD server (rilevamento attività vocali) il buffer audio viene usato per rilevare la voce e il server decide quando eseguire il commit. Quando il VAD del server è disabilitato, il client può scegliere la quantità di audio da inserire in ogni evento fino a un massimo di 15 MiB. Ad esempio, lo streaming di blocchi più piccoli dal client può consentire al VAD di essere più reattivo.

A differenza della maggior parte degli altri eventi client, il server non invia una risposta di conferma all'evento client input_audio_buffer.append .

Event structure

{
  "type": "input_audio_buffer.append",
  "audio": "<audio>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere input_audio_buffer.append.
audio string Byte audio con codifica Base64. Questo valore deve essere nel formato specificato dal input_audio_format campo nella configurazione della sessione.

RealtimeClientEventInputAudioBufferClear

L'evento client input_audio_buffer.clear viene usato per cancellare i byte audio nel buffer.

Il server risponde con un input_audio_buffer.cleared evento.

Event structure

{
  "type": "input_audio_buffer.clear"
}

Properties

Field Type Description
type string Il tipo di evento deve essere input_audio_buffer.clear.

RealtimeClientEventInputAudioBufferCommit

L'evento client input_audio_buffer.commit viene usato per eseguire il commit del buffer audio di input dell'utente, che crea un nuovo elemento del messaggio utente nella conversazione. L'audio viene trascritto se input_audio_transcription è configurato per la sessione.

Quando si usa la modalità VAD del server, il client non deve inviare questo evento, il server esegue automaticamente il commit del buffer audio. Senza VAD server, il client deve eseguire il commit del buffer audio per creare un elemento di messaggio utente. Questo evento client genera un errore se il buffer audio di input è vuoto.

Il commit del buffer audio di input non crea una risposta dal modello.

Il server risponde con un input_audio_buffer.committed evento.

Event structure

{
  "type": "input_audio_buffer.commit"
}

Properties

Field Type Description
type string Il tipo di evento deve essere input_audio_buffer.commit.

RealtimeClientEventOutputAudioBufferClear

L'evento client output_audio_buffer.clear viene usato per cancellare i byte audio nel buffer.

Note

Questo evento è applicabile solo per WebRTC.

Questo evento deve essere preceduto da un response.cancel evento client per arrestare la generazione della risposta corrente.

Il server smette di generare audio e risponde con un output_audio_buffer.cleared evento.

Event structure

{
  "type": "output_audio_buffer.clear"
}

Properties

Field Type Description
event_id string ID dell'evento che ha causato l'errore.
type string Il tipo di evento deve essere output_audio_buffer.clear.

RealtimeClientEventResponseCancel

L'evento client response.cancel viene usato per annullare una risposta in corso.

Il server risponde con un response.cancelled evento o un errore se non è presente alcuna risposta all'annullamento.

Event structure

{
  "type": "response.cancel"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.cancel.

RealtimeClientEventResponseCreate

L'evento client response.create viene usato per indicare al server di creare una risposta tramite l'inferenza del modello. Quando la sessione è configurata in modalità VAD server, il server crea automaticamente le risposte.

Una risposta include almeno un itemoggetto e può avere due, nel qual caso il secondo è una chiamata di funzione. Questi elementi vengono aggiunti alla cronologia delle conversazioni.

Il server risponde con un response.created evento, uno o più eventi di contenuto e elementi ,ad esempio conversation.item.created e response.content_part.added, e infine un response.done evento per indicare che la risposta è stata completata.

Note

L'evento client response.create include la configurazione dell'inferenza, ad esempio instructions, e temperature. Questi campi possono eseguire l'override della configurazione della sessione solo per questa risposta.

Event structure

{
  "type": "response.create"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.create.
response RealtimeResponseOptions Opzioni di risposta.

RealtimeClientEventSessionUpdate

L'evento client session.update viene usato per aggiornare la configurazione predefinita della sessione. Il client può inviare questo evento in qualsiasi momento per aggiornare la configurazione della sessione e qualsiasi campo può essere aggiornato in qualsiasi momento, ad eccezione della voce.

Vengono aggiornati solo i campi presenti. Per cancellare un campo , ad esempio instructions, passare una stringa vuota.

Il server risponde con un session.updated evento che contiene la configurazione effettiva completa.

Event structure

{
  "type": "session.update"
}

Properties

Field Type Description
type string Il tipo di evento deve essere session.update.
session RealtimeRequestSession Configurazione della sessione.

Server events

Dal server possono essere ricevuti 28 eventi del server:

Event Description
RealtimeServerEventConversationCreated L'evento server conversation.created viene restituito subito dopo la creazione della sessione. Viene creata una conversazione per sessione.
RealtimeServerEventConversationItemCreated L'evento server conversation.item.created viene restituito quando viene creato un elemento di conversazione.
RealtimeServerEventConversationItemRetrieved L'evento server conversation.item.retrieved viene restituito quando viene recuperato un elemento di conversazione.
RealtimeServerEventConversationItemDeleted L'evento server conversation.item.deleted viene restituito quando il client ha eliminato un elemento nella conversazione con un conversation.item.delete evento.
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted L'evento server conversation.item.input_audio_transcription.completed è il risultato della trascrizione audio per il parlato scritto nel buffer audio.
RealtimeServerEventConversationItemInputAudioTranscriptionFailed L'evento server conversation.item.input_audio_transcription.failed viene restituito quando è configurata la trascrizione audio di input e una richiesta di trascrizione per un messaggio utente non è riuscita.
RealtimeServerEventConversationItemTruncated L'evento server conversation.item.truncated viene restituito quando il client tronca un elemento di messaggio audio assistente precedente con un conversation.item.truncate evento.
RealtimeServerEventError L'evento server error viene restituito quando si verifica un errore, che potrebbe essere un problema del client o un problema del server.
RealtimeServerEventInputAudioBufferCleared L'evento server input_audio_buffer.cleared viene restituito quando il client cancella il buffer audio di input con un input_audio_buffer.clear evento.
RealtimeServerEventInputAudioBufferCommitted L'evento server input_audio_buffer.committed viene restituito quando viene eseguito il commit di un buffer audio di input, dal client o automaticamente in modalità VAD del server.
RealtimeServerEventInputAudioBufferSpeechStarted L'evento server input_audio_buffer.speech_started viene restituito in server_vad modalità quando viene rilevato il riconoscimento vocale nel buffer audio.
RealtimeServerEventInputAudioBufferSpeechStopped L'evento server input_audio_buffer.speech_stopped viene restituito in server_vad modalità quando il server rileva la fine della voce nel buffer audio.
RealtimeServerEventOutputAudioBufferCleared L'evento server output_audio_buffer.cleared viene restituito quando l'utente ha interrotto (input_audio_buffer.speech_started) o quando il client ha generato l'evento output_audio_buffer.clear per tagliare manualmente la risposta audio corrente.

Questo evento è applicabile solo per WebRTC.
RealtimeServerEventOutputAudioBufferStarted L'evento server output_audio_buffer.started viene restituito quando il server inizia a trasmettere l'audio al client. Questo evento viene generato dopo l'aggiunta di una parte di contenuto audio (response.content_part.added) alla risposta.

Questo evento è applicabile solo per WebRTC.
RealtimeServerEventOutputAudioBufferStopped L'evento server output_audio_buffer.stopped viene restituito quando il buffer audio di output è stato completamente svuotato nel server e non sarà più disponibile alcun audio.

Questo evento è applicabile solo per WebRTC.
RealtimeServerEventRateLimitsUpdated L'evento server rate_limits.updated viene generato all'inizio di una risposta per indicare i limiti di frequenza aggiornati.
RealtimeServerEventResponseAudioDelta L'evento server response.audio.delta viene restituito quando viene aggiornato l'audio generato dal modello.
RealtimeServerEventResponseAudioDone L'evento server response.audio.done viene restituito al termine dell'audio generato dal modello.
RealtimeServerEventResponseAudioTranscriptDelta L'evento server response.audio_transcript.delta viene restituito quando viene aggiornata la trascrizione dell'output audio generata dal modello.
RealtimeServerEventResponseAudioTranscriptDone L'evento server response.audio_transcript.done viene restituito quando viene eseguita la trascrizione dell'output audio generata dal modello.
RealtimeServerEventResponseContentPartAdded L'evento server response.content_part.added viene restituito quando viene aggiunta una nuova parte di contenuto a un elemento del messaggio di assistente.
RealtimeServerEventResponseContentPartDone L'evento server response.content_part.done viene restituito quando viene eseguita la trasmissione di una parte del contenuto.
RealtimeServerEventResponseCreated L'evento server response.created viene restituito quando viene creata una nuova risposta. Si tratta del primo evento di creazione della risposta, in cui la risposta si trova in uno stato iniziale di in_progress.
RealtimeServerEventResponseDone L'evento server response.done viene restituito quando viene eseguita una risposta in streaming.
RealtimeServerEventResponseFunctionCallArgumentsDelta L'evento server response.function_call_arguments.delta viene restituito quando gli argomenti della chiamata di funzione generati dal modello vengono aggiornati.
RealtimeServerEventResponseFunctionCallArgumentsDone L'evento server response.function_call_arguments.done viene restituito quando gli argomenti di chiamata di funzione generati dal modello vengono eseguiti in streaming.
RealtimeServerEventResponseOutputItemAdded L'evento server response.output_item.added viene restituito quando viene creato un nuovo elemento durante la generazione della risposta.
RealtimeServerEventResponseOutputItemDone L'evento server response.output_item.done viene restituito al termine del flusso di un elemento.
RealtimeServerEventResponseTextDelta L'evento server response.text.delta viene restituito quando viene aggiornato il testo generato dal modello.
RealtimeServerEventResponseTextDone L'evento server response.text.done viene restituito quando il testo generato dal modello viene eseguito in streaming.
RealtimeServerEventSessionCreated L'evento server session.created è il primo evento server quando si stabilisce una nuova connessione all'API Realtime. Questo evento crea e restituisce una nuova sessione con la configurazione di sessione predefinita.
RealtimeServerEventSessionUpdated L'evento server session.updated viene restituito quando una sessione viene aggiornata dal client. Se si verifica un errore, il server invia invece un error evento.

RealtimeServerEventConversationCreated

L'evento server conversation.created viene restituito subito dopo la creazione della sessione. Viene creata una conversazione per sessione.

Event structure

{
  "type": "conversation.created",
  "conversation": {
    "id": "<id>",
    "object": "<object>"
  }
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.created.
conversation object Risorsa di conversazione.

Conversation properties

Field Type Description
id string ID univoco della conversazione.
object string Il tipo di oggetto deve essere realtime.conversation.

RealtimeServerEventConversationItemCreated

L'evento server conversation.item.created viene restituito quando viene creato un elemento di conversazione. Esistono diversi scenari che producono questo evento:

  • Il server genera una risposta, che se ha esito positivo produce uno o due elementi, ovvero di tipo message (ruolo assistant) o di tipo function_call.
  • Viene eseguito il commit del buffer audio di input, dal client o dal server (in server_vad modalità). Il server accetta il contenuto del buffer audio di input e lo aggiunge a un nuovo elemento del messaggio utente.
  • Il client ha inviato un conversation.item.create evento per aggiungere un nuovo elemento alla conversazione.

Event structure

{
  "type": "conversation.item.created",
  "previous_item_id": "<previous_item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.created.
previous_item_id string L'ID dell'elemento precedente nel contesto della conversazione consente al client di comprendere l'ordine della conversazione.
item RealtimeConversationResponseItem Elemento creato.

RealtimeServerEventConversationItemRetrieved

L'evento server conversation.item.retrieved viene restituito quando viene recuperato un elemento di conversazione.

Event structure

{
  "type": "conversation.item.retrieved",
  "previous_item_id": "<previous_item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.retrieved.
event_id string ID dell'evento.
item RealtimeConversationResponseItem Elemento recuperato.

RealtimeServerEventConversationItemDeleted

L'evento server conversation.item.deleted viene restituito quando il client ha eliminato un elemento nella conversazione con un conversation.item.delete evento. Questo evento viene usato per sincronizzare la comprensione della cronologia delle conversazioni del server con la visualizzazione del client.

Event structure

{
  "type": "conversation.item.deleted",
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.deleted.
item_id string ID dell'elemento eliminato.

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

L'evento server conversation.item.input_audio_transcription.completed è il risultato della trascrizione audio per il parlato scritto nel buffer audio.

La trascrizione inizia quando viene eseguito il commit del buffer audio di input dal client o dal server (in server_vad modalità). La trascrizione viene eseguita in modo asincrono con la creazione della risposta, in modo che questo evento possa venire prima o dopo gli eventi di risposta.

I modelli API in tempo reale accettano l'audio in modo nativo e pertanto la trascrizione di input è un processo separato eseguito in un modello di riconoscimento vocale separato, ad whisper-1esempio . Pertanto, la trascrizione può divergere in qualche modo dall'interpretazione del modello e deve essere considerata una guida approssimativa.

Event structure

{
  "type": "conversation.item.input_audio_transcription.completed",
  "item_id": "<item_id>",
  "content_index": 0,
  "transcript": "<transcript>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.input_audio_transcription.completed.
item_id string ID dell'elemento del messaggio utente contenente l'audio.
content_index integer Indice della parte di contenuto contenente l'audio.
transcript string Testo trascritto.

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

L'evento server conversation.item.input_audio_transcription.failed viene restituito quando è configurata la trascrizione audio di input e una richiesta di trascrizione per un messaggio utente non è riuscita. Questo evento è separato da altri error eventi in modo che il client possa identificare l'elemento correlato.

Event structure

{
  "type": "conversation.item.input_audio_transcription.failed",
  "item_id": "<item_id>",
  "content_index": 0,
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>"
  }
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.input_audio_transcription.failed.
item_id string ID dell'elemento del messaggio utente.
content_index integer Indice della parte di contenuto contenente l'audio.
error object Dettagli dell'errore di trascrizione.

Vedere le proprietà annidate nella tabella successiva.

Error properties

Field Type Description
type string Tipo di errore.
code string Codice di errore, se disponibile.
message string Messaggio di errore leggibile.
param string Parametro correlato all'errore, se presente.

RealtimeServerEventConversationItemTruncated

L'evento server conversation.item.truncated viene restituito quando il client tronca un elemento di messaggio audio assistente precedente con un conversation.item.truncate evento. Questo evento viene usato per sincronizzare la comprensione dell'audio del server con la riproduzione del client.

Questo evento tronca l'audio e rimuove la trascrizione del testo sul lato server per assicurarsi che non ci sia testo nel contesto che l'utente non conosce.

Event structure

{
  "type": "conversation.item.truncated",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere conversation.item.truncated.
item_id string ID dell'elemento del messaggio dell'assistente troncato.
content_index integer Indice della parte di contenuto troncata.
audio_end_ms integer Durata fino alla quale l'audio è stato troncato, in millisecondi.

RealtimeServerEventError

L'evento server error viene restituito quando si verifica un errore, che potrebbe essere un problema del client o un problema del server. La maggior parte degli errori è recuperabile e la sessione rimane aperta.

Event structure

{
  "type": "error",
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>",
    "event_id": "<event_id>"
  }
}

Properties

Field Type Description
type string Il tipo di evento deve essere error.
error object Dettagli dell'errore.

Vedere le proprietà annidate nella tabella successiva.

Error properties

Field Type Description
type string Tipo di errore. Ad esempio, "invalid_request_error" e "server_error" sono tipi di errore.
code string Codice di errore, se disponibile.
message string Messaggio di errore leggibile.
param string Parametro correlato all'errore, se presente.
event_id string ID dell'evento client che ha causato l'errore, se applicabile.

RealtimeServerEventInputAudioBufferCleared

L'evento server input_audio_buffer.cleared viene restituito quando il client cancella il buffer audio di input con un input_audio_buffer.clear evento.

Event structure

{
  "type": "input_audio_buffer.cleared"
}

Properties

Field Type Description
type string Il tipo di evento deve essere input_audio_buffer.cleared.

RealtimeServerEventInputAudioBufferCommitted

L'evento server input_audio_buffer.committed viene restituito quando viene eseguito il commit di un buffer audio di input, dal client o automaticamente in modalità VAD del server. La item_id proprietà è l'ID dell'elemento del messaggio utente creato. conversation.item.created Un evento viene quindi inviato anche al client.

Event structure

{
  "type": "input_audio_buffer.committed",
  "previous_item_id": "<previous_item_id>",
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere input_audio_buffer.committed.
previous_item_id string ID dell'elemento precedente dopo il quale viene inserito il nuovo elemento.
item_id string ID dell'elemento del messaggio utente creato.

RealtimeServerEventInputAudioBufferSpeechStarted

L'evento server input_audio_buffer.speech_started viene restituito in server_vad modalità quando viene rilevato il riconoscimento vocale nel buffer audio. Questo evento può verificarsi ogni volta che l'audio viene aggiunto al buffer (a meno che il riconoscimento vocale non sia già stato rilevato).

Note

Il client potrebbe voler usare questo evento per interrompere la riproduzione audio o fornire feedback visivo all'utente.

Il client dovrebbe aspettarsi di ricevere un input_audio_buffer.speech_stopped evento quando il riconoscimento vocale si arresta. La item_id proprietà è l'ID dell'elemento del messaggio utente creato all'arresto vocale. Viene item_id incluso anche nell'evento input_audio_buffer.speech_stopped , a meno che il client non esegua manualmente il commit del buffer audio durante l'attivazione di VAD.

Event structure

{
  "type": "input_audio_buffer.speech_started",
  "audio_start_ms": 0,
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere input_audio_buffer.speech_started.
audio_start_ms integer Millisecondi dall'inizio di tutto l'audio scritto nel buffer durante la sessione durante la prima volta che è stato rilevato il riconoscimento vocale. Questa proprietà corrisponde all'inizio dell'audio inviato al modello e include quindi l'oggetto prefix_padding_ms configurato nella sessione.
item_id string ID dell'elemento del messaggio utente creato all'arresto vocale.

RealtimeServerEventInputAudioBufferSpeechStopped

L'evento server input_audio_buffer.speech_stopped viene restituito in server_vad modalità quando il server rileva la fine della voce nel buffer audio.

Il server invia anche un conversation.item.created evento con l'elemento del messaggio utente creato dal buffer audio.

Event structure

{
  "type": "input_audio_buffer.speech_stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere input_audio_buffer.speech_stopped.
audio_end_ms integer Millisecondi dall'avvio della sessione all'arresto del parlato. Questa proprietà corrisponde alla fine dell'audio inviato al modello e include quindi l'oggetto min_silence_duration_ms configurato nella sessione.
item_id string ID dell'elemento del messaggio utente creato.

RealtimeServerEventOutputAudioBufferCleared

L'evento server output_audio_buffer.cleared viene restituito quando il buffer audio di output viene cancellato.

Note

Questo evento è applicabile solo per WebRTC.

Ciò si verifica in modalità VAD quando l'utente ha interrotto (input_audio_buffer.speech_started) o quando il client ha emesso l'evento output_audio_buffer.clear per tagliare manualmente la risposta audio corrente.

Event structure

{
  "type": "output_audio_buffer.cleared"
}

Properties

Field Type Description
type string Il tipo di evento deve essere output_audio_buffer.cleared.
event_id string ID dell'evento del server.
response_id string ID univoco della risposta che ha prodotto l'audio.

RealtimeServerEventOutputAudioBufferStarted

L'evento server output_audio_buffer.started viene restituito quando il server inizia a trasmettere l'audio al client. Questo evento viene generato dopo l'aggiunta di una parte di contenuto audio (response.content_part.added) alla risposta.

Note

Questo evento è applicabile solo per WebRTC.

Event structure

{
  "type": "output_audio_buffer.started",
  "event_id": "<item_id>",
  "response_id": "<response_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere output_audio_buffer.started.
event_id string ID dell'evento del server.
response_id string ID univoco della risposta che ha prodotto l'audio.

RealtimeServerEventOutputAudioBufferStopped

L'evento server output_audio_buffer.stopped viene restituito quando il buffer audio di output è stato completamente svuotato nel server e non sarà più disponibile alcun audio.

Note

Questo evento è applicabile solo per WebRTC.

Questo evento viene restituito dopo che i dati di risposta completi sono stati inviati al client tramite l'evento response.done .

Event structure

{
  "type": "output_audio_buffer.stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere output_audio_buffer.stopped.
event_id string ID dell'evento del server.
response_id string ID univoco della risposta che ha prodotto l'audio.

RealtimeServerEventRateLimitsUpdated

L'evento server rate_limits.updated viene generato all'inizio di una risposta per indicare i limiti di frequenza aggiornati.

Quando viene creata una risposta, alcuni token sono riservati per i token di output. I limiti di velocità indicati di seguito riflettono la prenotazione, che viene quindi modificata di conseguenza al termine della risposta.

Event structure

{
  "type": "rate_limits.updated",
  "rate_limits": [
    {
      "name": "<name>",
      "limit": 0,
      "remaining": 0,
      "reset_seconds": 0
    }
  ]
}

Properties

Field Type Description
type string Il tipo di evento deve essere rate_limits.updated.
rate_limits matrice di RealtimeServerEventRateLimitsUpdatedRateLimitsItem Elenco di informazioni sul limite di velocità.

RealtimeServerEventResponseAudioDelta

L'evento server response.audio.delta viene restituito quando viene aggiornato l'audio generato dal modello.

Event structure

{
  "type": "response.audio.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.audio.delta.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
delta string Delta dei dati audio con codifica Base64.

RealtimeServerEventResponseAudioDone

L'evento server response.audio.done viene restituito al termine dell'audio generato dal modello.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Event structure

{
  "type": "response.audio.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.audio.done.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.

RealtimeServerEventResponseAudioTranscriptDelta

L'evento server response.audio_transcript.delta viene restituito quando viene aggiornata la trascrizione dell'output audio generata dal modello.

Event structure

{
  "type": "response.audio_transcript.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.audio_transcript.delta.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
delta string Delta della trascrizione.

RealtimeServerEventResponseAudioTranscriptDone

L'evento server response.audio_transcript.done viene restituito quando viene eseguita la trascrizione dell'output audio generata dal modello.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Event structure

{
  "type": "response.audio_transcript.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "transcript": "<transcript>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.audio_transcript.done.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
transcript string Trascrizione finale dell'audio.

RealtimeServerEventResponseContentPartAdded

L'evento server response.content_part.added viene restituito quando viene aggiunta una nuova parte di contenuto a un elemento del messaggio di assistente durante la generazione della risposta.

Event structure

{
  "type": "response.content_part.added",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.content_part.added.
response_id string ID della risposta.
item_id string ID dell'elemento a cui è stata aggiunta la parte di contenuto.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
part RealtimeContentPart Parte del contenuto aggiunta.

Part properties

Field Type Description
type RealtimeContentPartType

RealtimeServerEventResponseContentPartDone

L'evento server response.content_part.done viene restituito quando una parte del contenuto viene eseguita in streaming in un elemento di messaggio assistente.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Event structure

{
  "type": "response.content_part.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.content_part.done.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
part RealtimeContentPart Parte del contenuto eseguita.

Part properties

Field Type Description
type RealtimeContentPartType

RealtimeServerEventResponseCreated

L'evento server response.created viene restituito quando viene creata una nuova risposta. Si tratta del primo evento di creazione della risposta, in cui la risposta si trova in uno stato iniziale di in_progress.

Event structure

{
  "type": "response.created"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.created.
response RealtimeResponse Oggetto risposta.

RealtimeServerEventResponseDone

L'evento server response.done viene restituito quando viene eseguita una risposta in streaming. Questo evento viene sempre generato, indipendentemente dallo stato finale. L'oggetto risposta incluso nell'evento response.done include tutti gli elementi di output nella risposta, ma omette i dati audio non elaborati.

Event structure

{
  "type": "response.done"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.done.
response RealtimeResponse Oggetto risposta.

RealtimeServerEventResponseFunctionCallArgumentsDelta

L'evento server response.function_call_arguments.delta viene restituito quando gli argomenti della chiamata di funzione generati dal modello vengono aggiornati.

Event structure

{
  "type": "response.function_call_arguments.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "delta": "<delta>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.function_call_arguments.delta.
response_id string ID della risposta.
item_id string ID dell'elemento di chiamata di funzione.
output_index integer Indice dell'elemento di output nella risposta.
call_id string ID della chiamata di funzione.
delta string Gli argomenti delta come stringa JSON.

RealtimeServerEventResponseFunctionCallArgumentsDone

L'evento server response.function_call_arguments.done viene restituito quando gli argomenti di chiamata di funzione generati dal modello vengono eseguiti in streaming.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Event structure

{
  "type": "response.function_call_arguments.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "arguments": "<arguments>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.function_call_arguments.done.
response_id string ID della risposta.
item_id string ID dell'elemento di chiamata di funzione.
output_index integer Indice dell'elemento di output nella risposta.
call_id string ID della chiamata di funzione.
arguments string Argomenti finali come stringa JSON.

RealtimeServerEventResponseOutputItemAdded

L'evento server response.output_item.added viene restituito quando viene creato un nuovo elemento durante la generazione della risposta.

Event structure

{
  "type": "response.output_item.added",
  "response_id": "<response_id>",
  "output_index": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.output_item.added.
response_id string ID della risposta a cui appartiene l'elemento.
output_index integer Indice dell'elemento di output nella risposta.
item RealtimeConversationResponseItem Elemento aggiunto.

RealtimeServerEventResponseOutputItemDone

L'evento server response.output_item.done viene restituito al termine del flusso di un elemento.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Event structure

{
  "type": "response.output_item.done",
  "response_id": "<response_id>",
  "output_index": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.output_item.done.
response_id string ID della risposta a cui appartiene l'elemento.
output_index integer Indice dell'elemento di output nella risposta.
item RealtimeConversationResponseItem Elemento completato in streaming.

RealtimeServerEventResponseTextDelta

L'evento server response.text.delta viene restituito quando viene aggiornato il testo generato dal modello. Il testo corrisponde alla text parte del contenuto di un elemento del messaggio di assistente.

Event structure

{
  "type": "response.text.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.text.delta.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
delta string Delta del testo.

RealtimeServerEventResponseTextDone

L'evento server response.text.done viene restituito quando il testo generato dal modello viene eseguito in streaming. Il testo corrisponde alla text parte del contenuto di un elemento del messaggio di assistente.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Event structure

{
  "type": "response.text.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "text": "<text>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.text.done.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
text string Contenuto del testo finale.

RealtimeServerEventSessionCreated

L'evento server session.created è il primo evento server quando si stabilisce una nuova connessione all'API Realtime. Questo evento crea e restituisce una nuova sessione con la configurazione di sessione predefinita.

Event structure

{
  "type": "session.created"
}

Properties

Field Type Description
type string Il tipo di evento deve essere session.created.
session RealtimeResponseSession Oggetto sessione.

RealtimeServerEventSessionUpdated

L'evento server session.updated viene restituito quando una sessione viene aggiornata dal client. Se si verifica un errore, il server invia invece un error evento.

Event structure

{
  "type": "session.updated"
}

Properties

Field Type Description
type string Il tipo di evento deve essere session.updated.
session RealtimeResponseSession Oggetto sessione.

Components

RealtimeAudioFormat

Allowed Values:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

Allowed Values:

  • whisper-1
  • gpt-4o-transcribe
  • gpt-4o-mini-transcribe
  • gpt-4o-transcribe-diarize
  • gpt-4o-mini-transcribe-2025-12-15

RealtimeAudioInputTranscriptionSettings

Field Type Description
language string Lingua dell'audio di input. Specificare il linguaggio di input in formato ISO-639-1 (ad esempio en) migliorerà l'accuratezza e la latenza.
model RealtimeAudioInputTranscriptionModel Modello per la trascrizione dell'input audio. Ad esempio, whisper-1.
prompt string Richiesta di trascrizione dell'input audio. Testo facoltativo per guidare lo stile del modello o continuare un segmento audio precedente. Per il whisper-1 modello, il prompt è un elenco di parole chiave. Per i modelli e gpt-4o-transcribe il gpt-4o-transcribe-diarizemodello -series, il prompt è una stringa di testo libero, ad esempio "aspetta parole correlate alla tecnologia".

RealtimeAudioInputAudioNoiseReductionSettings

Field Type Description
type string Tipo di riduzione del rumore. Specificare near_field per microfoni di chiusura, ad esempio cuffie o far_field microfoni di campo lontano, ad esempio portatili o microfoni della sala riunioni.

RealtimeClientEvent

Field Type Description
type RealtimeClientEventType Tipo dell'evento client.
event_id string ID univoco dell'evento. Il client può specificare l'ID per identificare l'evento.

RealtimeClientEventType

Allowed Values:

  • session.update
  • input_audio_buffer.append
  • input_audio_buffer.commit
  • input_audio_buffer.clear
  • conversation.item.create
  • conversation.item.delete
  • conversation.item.truncate
  • response.create
  • response.cancel

RealtimeContentPart

Field Type Description
type RealtimeContentPartType Tipo di contenuto.

Proprietà dell'oggetto function .

Valori consentiti: input_text, input_audio, item_reference, text.
text string Contenuto di testo. Questa proprietà è applicabile ai input_text tipi di contenuto e text .
id string ID di un elemento di conversazione precedente a cui fare riferimento negli elementi creati sia dal client che dal server. Questa proprietà è applicabile per il item_reference tipo di contenuto negli response.create eventi.
audio string Byte audio con codifica base64. Questa proprietà è applicabile per il input_audio tipo di contenuto.
transcript string Trascrizione dell'audio. Questa proprietà è applicabile per il input_audio tipo di contenuto.

RealtimeContentPartType

Allowed Values:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

Elemento da aggiungere alla conversazione.

Questa tabella descrive tutte le RealtimeConversationItem proprietà. Le proprietà applicabili per evento dipendono da RealtimeItemType.

Field Type Description
id string ID univoco dell'elemento. Il client può specificare l'ID per gestire il contesto lato server. Se il client non fornisce un ID, il server ne genera uno.
type RealtimeItemType Tipo dell'elemento.

Valori consentiti: message, function_call, function_call_output
object string Identificatore dell'oggetto API restituito. Il valore sarà realtime.itemsempre .
status RealtimeItemStatus Stato dell'elemento. Questo campo non influisce sulla conversazione, ma viene accettato per coerenza con l'evento conversation.item.created .

Valori consentiti: completed, incomplete
role RealtimeMessageRole Ruolo del mittente del messaggio. Questa proprietà è applicabile solo agli message elementi.

Valori consentiti: system, user, assistant
content matrice di RealtimeContentPart Contenuto del messaggio. Questa proprietà è applicabile solo agli message elementi.

- Gli elementi del messaggio del ruolo system supportano solo input_text il contenuto.
- Elementi di messaggio di supporto user e input_text contenuto del ruoloinput_audio.
- Elementi di messaggio del contenuto del supporto assistant del ruolotext.
call_id string ID della chiamata di funzione (per function_call gli elementi e function_call_output ). Se viene passato a un function_call_output elemento, il server verificherà che nella cronologia delle conversazioni esista un function_call elemento con lo stesso ID.
name string Nome della funzione chiamata (per function_call gli elementi).
arguments string Argomenti della chiamata di funzione (per function_call gli elementi).
output string Output della chiamata di funzione (per function_call_output gli elementi).

RealtimeConversationRequestItem

Usare l'oggetto RealtimeConversationRequestItem per creare un nuovo elemento nella conversazione tramite l'evento conversation.item.create .

Field Type Description
type RealtimeItemType Tipo dell'elemento.
id string ID univoco dell'elemento. Il client può specificare l'ID per gestire il contesto lato server. Se il client non fornisce un ID, il server ne genera uno.

RealtimeConversationResponseItem

L'oggetto RealtimeConversationResponseItem rappresenta un elemento nella conversazione. Viene usato in alcuni degli eventi del server, ad esempio:

Field Type Description
object string Identificatore per l'oggetto API restituito.

Valori consentiti: realtime.item
type RealtimeItemType Tipo dell'elemento.

Valori consentiti: message, function_call, function_call_output
id string ID univoco dell'elemento. Il client può specificare l'ID per gestire il contesto lato server. Se il client non fornisce un ID, il server ne genera uno.

Questa proprietà è nullable.

RealtimeFunctionTool

Definizione di uno strumento di funzione usato dall'endpoint in tempo reale.

Field Type Description
type string Tipo dello strumento.

Valori consentiti: function
name string Nome della funzione.
description string Descrizione della funzione, incluse le linee guida sull'utilizzo. Ad esempio, "Usare questa funzione per ottenere l'ora corrente".
parameters object Parametri della funzione sotto forma di oggetto JSON.

RealtimeItemStatus

Allowed Values:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

Allowed Values:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

Allowed Values:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

Field Type Description
role string Ruolo del messaggio.

Valori consentiti: assistant
content matrice di RealtimeRequestTextContentPart Contenuto del messaggio.

RealtimeRequestAudioContentPart

Field Type Description
type string Tipo della parte di contenuto.

Valori consentiti: input_audio
transcript string Trascrizione dell'audio.

RealtimeRequestFunctionCallItem

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: function_call
name string Nome dell'elemento di chiamata di funzione.
call_id string ID dell'elemento di chiamata di funzione.
arguments string Argomenti dell'elemento di chiamata di funzione.
status RealtimeItemStatus Stato dell'elemento.

RealtimeRequestFunctionCallOutputItem

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: function_call_output
call_id string ID dell'elemento di chiamata di funzione.
output string Output dell'elemento di chiamata di funzione.

RealtimeRequestMessageItem

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: message
role RealtimeMessageRole Ruolo del messaggio.
status RealtimeItemStatus Stato dell'elemento.

RealtimeRequestMessageReferenceItem

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: message
id string ID dell'elemento del messaggio.

RealtimeRequestSession

Usare l'oggetto RealtimeRequestSession quando si vuole aggiornare la configurazione della sessione tramite l'evento session.update .

Field Type Description
modalities array Modalità supportate dalla sessione.

Valori consentiti: text, audio

Ad esempio, "modalities": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di testo e audio. Per abilitare solo il testo, impostare "modalities": ["text"]. Non è possibile abilitare solo l'audio.
instructions string Le istruzioni (messaggio di sistema) per guidare il testo e le risposte audio del modello.

Ecco alcune istruzioni di esempio per guidare il contenuto e il formato delle risposte di testo e audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ecco alcune istruzioni di esempio per guidare il comportamento audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Anche se il modello potrebbe non seguire sempre queste istruzioni, forniscono indicazioni sul comportamento desiderato.
voice RealtimeVoice Voce usata per la risposta del modello per la sessione.

Una volta usata la voce nella sessione per la risposta audio del modello, non può essere modificata.
input_audio_format RealtimeAudioFormat Formato per l'audio di input.
output_audio_format RealtimeAudioFormat Formato per l'audio di output.
input_audio_noise_reduction RealtimeAudioInputAudioNoiseReductionSettings Configurazione per la riduzione del rumore audio di input. Può essere impostato su Null per disattivare. La riduzione del rumore filtra l'audio aggiunto al buffer audio di input prima che venga inviato a VAD e al modello. Filtrare l'audio può migliorare l'accuratezza del rilevamento vad e girare (riducendo i falsi positivi) e le prestazioni del modello migliorando la percezione dell'audio di input.

Questa proprietà è nullable.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Configurazione per la trascrizione audio di input. La configurazione è null (off) per impostazione predefinita. La trascrizione audio di input non è nativa del modello, perché il modello usa direttamente l'audio. La trascrizione viene eseguita in modo asincrono attraverso l'endpoint /audio/transcriptions e deve essere considerata come linee guida per il contenuto audio di input anziché esattamente quello che il modello ha sentito. Per indicazioni aggiuntive sul servizio di trascrizione, il client può facoltativamente impostare la lingua e richiedere la trascrizione.

Questa proprietà è nullable.
turn_detection RealtimeTurnDetection Impostazioni di rilevamento dei turni per la sessione.

Questa proprietà è nullable.
tools matrice di RealtimeTool Strumenti disponibili per il modello per la sessione.
tool_choice RealtimeToolChoice Scelta dello strumento per la sessione.

Valori consentiti: auto, nonee required. In caso contrario, è possibile specificare il nome della funzione da usare.
temperature number Temperatura di campionamento per il modello. I valori di temperatura consentiti sono limitati a 0.6 tramite 1.2. Il valore predefinito è 0.8.
max_response_output_tokens integer o "inf" Numero massimo di token di output per risposta di assistente, inclusi le chiamate agli strumenti.

Specificare un numero intero compreso tra 1 e 4096 per limitare i token di output. In caso contrario, impostare il valore su "inf" per consentire il numero massimo di token.

Ad esempio, per limitare i token di output a 1000, impostare "max_response_output_tokens": 1000. Per consentire il numero massimo di token, impostare "max_response_output_tokens": "inf".

Il valore predefinito è "inf".

RealtimeRequestSystemMessageItem

Field Type Description
role string Ruolo del messaggio.

Valori consentiti: system
content matrice di RealtimeRequestTextContentPart Contenuto del messaggio.

RealtimeRequestTextContentPart

Field Type Description
type string Tipo della parte di contenuto.

Valori consentiti: input_text
text string Contenuto di testo.

RealtimeRequestUserMessageItem

Field Type Description
role string Ruolo del messaggio.

Valori consentiti: user
content matrice di RealtimeRequestTextContentPart o RealtimeRequestAudioContentPart Contenuto del messaggio.

RealtimeResponse

Field Type Description
object string Oggetto risposta.

Valori consentiti: realtime.response
id string ID univoco della risposta.
status RealtimeResponseStatus Stato della risposta.

Il valore di stato predefinito è in_progress.
status_details RealtimeResponseStatusDetails Dettagli dello stato della risposta.

Questa proprietà è nullable.
output matrice di RealtimeConversationResponseItem Elementi di output della risposta.
usage object Statistiche di utilizzo per la risposta. Ogni sessione api realtime gestisce un contesto di conversazione e aggiunge nuovi elementi alla conversazione. L'output dei turni precedenti (token di testo e audio) è l'input per turni successivi.

Vedere le proprietà nidificate.
+ total_tokens integer Numero totale di token nella risposta, inclusi il testo di input e output e i token audio.

Proprietà dell'oggetto usage .
+ input_tokens integer Numero di token di input usati nella risposta, inclusi token di testo e audio.

Proprietà dell'oggetto usage .
+ output_tokens integer Numero di token di output inviati nella risposta, inclusi token di testo e audio.

Proprietà dell'oggetto usage .
+ input_token_details object Dettagli sui token di input usati nella risposta.

Proprietà dell'oggetto usage .

Vedere le proprietà nidificate.
+ cached_tokens integer Numero di token memorizzati nella cache usati nella risposta.

Proprietà dell'oggetto input_token_details .
+ text_tokens integer Numero di token di testo usati nella risposta.

Proprietà dell'oggetto input_token_details .
+ audio_tokens integer Numero di token audio usati nella risposta.

Proprietà dell'oggetto input_token_details .
+ output_token_details object Dettagli sui token di output usati nella risposta.

Proprietà dell'oggetto usage .

Vedere le proprietà nidificate.
+ text_tokens integer Numero di token di testo usati nella risposta.

Proprietà dell'oggetto output_token_details .
+ audio_tokens integer Numero di token audio usati nella risposta.

Proprietà dell'oggetto output_token_details .

RealtimeResponseAudioContentPart

Field Type Description
type string Tipo della parte di contenuto.

Valori consentiti: audio
transcript string Trascrizione dell'audio.

Questa proprietà è nullable.

RealtimeResponseBase

Risorsa di risposta.

RealtimeResponseFunctionCallItem

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: function_call
name string Nome dell'elemento di chiamata di funzione.
call_id string ID dell'elemento di chiamata di funzione.
arguments string Argomenti dell'elemento di chiamata di funzione.
status RealtimeItemStatus Stato dell'elemento.

RealtimeResponseFunctionCallOutputItem

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: function_call_output
call_id string ID dell'elemento di chiamata di funzione.
output string Output dell'elemento di chiamata di funzione.

RealtimeResponseMessageItem

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: message
role RealtimeMessageRole Ruolo del messaggio.
content array Contenuto del messaggio.

Elementi della matrice: RealtimeResponseTextContentPart
status RealtimeItemStatus Stato dell'elemento.

RealtimeResponseOptions

Field Type Description
modalities array Modalità supportate dalla sessione.

Valori consentiti: text, audio

Ad esempio, "modalities": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di testo e audio. Per abilitare solo il testo, impostare "modalities": ["text"]. Non è possibile abilitare solo l'audio.
instructions string Le istruzioni (messaggio di sistema) per guidare il testo e le risposte audio del modello.

Ecco alcune istruzioni di esempio per guidare il contenuto e il formato delle risposte di testo e audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ecco alcune istruzioni di esempio per guidare il comportamento audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Anche se il modello potrebbe non seguire sempre queste istruzioni, forniscono indicazioni sul comportamento desiderato.
voice RealtimeVoice Voce usata per la risposta del modello per la sessione.

Una volta usata la voce nella sessione per la risposta audio del modello, non può essere modificata.
output_audio_format RealtimeAudioFormat Formato per l'audio di output.
tools matrice di RealtimeTool Strumenti disponibili per il modello per la sessione.
tool_choice RealtimeToolChoice Scelta dello strumento per la sessione.
temperature number Temperatura di campionamento per il modello. I valori di temperatura consentiti sono limitati a 0.6 tramite 1.2. Il valore predefinito è 0.8.
max__output_tokens integer o "inf" Numero massimo di token di output per risposta di assistente, inclusi le chiamate agli strumenti.

Specificare un numero intero compreso tra 1 e 4096 per limitare i token di output. In caso contrario, impostare il valore su "inf" per consentire il numero massimo di token.

Ad esempio, per limitare i token di output a 1000, impostare "max_response_output_tokens": 1000. Per consentire il numero massimo di token, impostare "max_response_output_tokens": "inf".

Il valore predefinito è "inf".
conversation string Controlla la conversazione a cui viene aggiunta la risposta. I valori supportati sono auto e none.

Il auto valore (o non imposta questa proprietà) garantisce che il contenuto della risposta venga aggiunto alla conversazione predefinita della sessione.

Impostare questa proprietà su none per creare una risposta fuori banda in cui gli elementi non verranno aggiunti alla conversazione predefinita. Per altre informazioni, vedere la guida pratica.

Il valore predefinito è "auto"
metadata map Impostare fino a 16 coppie chiave-valore che possono essere collegate a un oggetto . Ciò può essere utile per archiviare informazioni aggiuntive sull'oggetto in un formato strutturato. Le chiavi possono contenere un massimo di 64 caratteri e i valori possono contenere un massimo di 512 caratteri.

Per esempio: metadata: { topic: "classification" }
input array Elementi di input da includere nel prompt del modello. Crea un nuovo contesto per questa risposta, senza includere la conversazione predefinita. Può includere riferimenti agli elementi della conversazione predefinita.

Elementi della matrice: RealtimeConversationItemBase

RealtimeResponseSession

L'oggetto RealtimeResponseSession rappresenta una sessione nell'API Realtime. Viene usato in alcuni degli eventi del server, ad esempio:

Field Type Description
object string Oggetto sessione.

Valori consentiti: realtime.session
id string ID univoco della sessione.
model string Modello utilizzato per la sessione.
modalities array Modalità supportate dalla sessione.

Valori consentiti: text, audio

Ad esempio, "modalities": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di testo e audio. Per abilitare solo il testo, impostare "modalities": ["text"]. Non è possibile abilitare solo l'audio.
instructions string Le istruzioni (messaggio di sistema) per guidare il testo e le risposte audio del modello.

Ecco alcune istruzioni di esempio per guidare il contenuto e il formato delle risposte di testo e audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ecco alcune istruzioni di esempio per guidare il comportamento audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Anche se il modello potrebbe non seguire sempre queste istruzioni, forniscono indicazioni sul comportamento desiderato.
voice RealtimeVoice Voce usata per la risposta del modello per la sessione.

Una volta usata la voce nella sessione per la risposta audio del modello, non può essere modificata.
input_audio_format RealtimeAudioFormat Formato per l'audio di input.
output_audio_format RealtimeAudioFormat Formato per l'audio di output.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Impostazioni per la trascrizione dell'input audio.

Questa proprietà è nullable.
turn_detection RealtimeTurnDetection Impostazioni di rilevamento dei turni per la sessione.

Questa proprietà è nullable.
tools matrice di RealtimeTool Strumenti disponibili per il modello per la sessione.
tool_choice RealtimeToolChoice Scelta dello strumento per la sessione.
temperature number Temperatura di campionamento per il modello. I valori di temperatura consentiti sono limitati a 0.6 tramite 1.2. Il valore predefinito è 0.8.
max_response_output_tokens integer o "inf" Numero massimo di token di output per risposta di assistente, inclusi le chiamate agli strumenti.

Specificare un numero intero compreso tra 1 e 4096 per limitare i token di output. In caso contrario, impostare il valore su "inf" per consentire il numero massimo di token.

Ad esempio, per limitare i token di output a 1000, impostare "max_response_output_tokens": 1000. Per consentire il numero massimo di token, impostare "max_response_output_tokens": "inf".

RealtimeResponseStatus

Allowed Values:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

Field Type Description
type RealtimeResponseStatus Stato della risposta.

RealtimeResponseTextContentPart

Field Type Description
type string Tipo della parte di contenuto.

Valori consentiti: text
text string Contenuto di testo.

RealtimeServerEvent

Field Type Description
type RealtimeServerEventType Tipo dell'evento server.
event_id string ID univoco dell'evento del server.

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

Field Type Description
name string Nome della proprietà limite di frequenza su cui questo elemento include informazioni.
limit integer Limite massimo configurato per questa proprietà limite di velocità.
remaining integer Quota rimanente disponibile per il limite configurato per questa proprietà limite di velocità.
reset_seconds number Tempo rimanente, in secondi, fino a quando questa proprietà limite di velocità non viene reimpostata.

RealtimeServerEventType

Allowed Values:

  • session.created
  • session.updated
  • conversation.created
  • conversation.item.created
  • conversation.item.deleted
  • conversation.item.truncated
  • response.created
  • response.done
  • rate_limits.updated
  • response.output_item.added
  • response.output_item.done
  • response.content_part.added
  • response.content_part.done
  • response.audio.delta
  • response.audio.done
  • response.audio_transcript.delta
  • response.audio_transcript.done
  • response.text.delta
  • response.text.done
  • response.function_call_arguments.delta
  • response.function_call_arguments.done
  • input_audio_buffer.speech_started
  • input_audio_buffer.speech_stopped
  • conversation.item.input_audio_transcription.completed
  • conversation.item.input_audio_transcription.failed
  • input_audio_buffer.committed
  • input_audio_buffer.cleared
  • error

RealtimeServerVadTurnDetection

Field Type Description
type string Tipo di rilevamento dei turni.

Valori consentiti: server_vad
threshold number Soglia di attivazione per il rilevamento dei turni VAD del server. In ambienti rumorosi potrebbe essere necessario aumentare la soglia per evitare falsi positivi. In ambienti non attendibili, potrebbe essere necessario ridurre la soglia per evitare falsi negativi.

Il valore predefinito è 0.5. È possibile impostare la soglia su un valore compreso tra 0.0 e 1.0.
prefix_padding_ms string Durata dell'audio vocale (in millisecondi) da includere prima dell'inizio della voce rilevata.

Il valore predefinito è 300.
silence_duration_ms string Durata del silenzio (in millisecondi) per rilevare la fine del parlato. Si vuole rilevare la fine del discorso il prima possibile, ma non troppo presto per evitare di tagliare l'ultima parte del discorso.

Il modello risponderà più rapidamente se si imposta questo valore su un numero inferiore, ma potrebbe tagliare l'ultima parte del parlato. Se si imposta questo valore su un numero maggiore, il modello attenderà più tempo per rilevare la fine del parlato, ma potrebbe richiedere più tempo per rispondere.

RealtimeSessionBase

Configurazione dell'oggetto sessione in tempo reale.

RealtimeTool

Rappresentazione di base di una definizione di strumento in tempo reale.

Field Type Description
type RealtimeToolType Tipo dello strumento.

RealtimeToolChoice

Set combinato di rappresentazioni disponibili per un parametro in tempo tool_choice reale, che include entrambe le opzioni di valori letterali stringa, ad esempio 'auto' e riferimenti strutturati agli strumenti definiti.

RealtimeToolChoiceFunctionObject

Rappresentazione di un oggetto in tempo tool_choice reale che seleziona uno strumento funzione denominato.

Field Type Description
type string Tipo di tool_choice.

Valori consentiti: function
function object Strumento funzione da selezionare.

Vedere le proprietà nidificate.
+ name string Nome dello strumento della funzione.

Proprietà dell'oggetto function .

RealtimeToolChoiceLiteral

Set disponibile di opzioni letterali tool_choice stringa a livello di modalità per l'endpoint in tempo reale.

Allowed Values:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Rappresentazione di base per una selezione in tempo tool_choice reale di uno strumento denominato.

Field Type Description
type RealtimeToolType Tipo di tool_choice.

RealtimeToolType

I discriminatori del tipo di strumento supportati per gli strumenti in tempo reale. Attualmente sono supportati solo gli strumenti 'function'.

Allowed Values:

  • function

RealtimeTurnDetection

Field Type Description
type RealtimeTurnDetectionType Tipo di rilevamento dei turni.

Valori consentiti: semantic_vad o server_vad
threshold number Soglia di attivazione per il rilevamento dei turni VAD (server_vad) del server. In ambienti rumorosi potrebbe essere necessario aumentare la soglia per evitare falsi positivi. In ambienti non attendibili, potrebbe essere necessario ridurre la soglia per evitare falsi negativi.

Il valore predefinito è 0.5. È possibile impostare la soglia su un valore compreso tra 0.0 e 1.0.

Questa proprietà è applicabile solo per server_vad il rilevamento dei turni.
prefix_padding_ms string Durata dell'audio vocale (in millisecondi) da includere prima dell'inizio della voce rilevata.

Il valore predefinito è 300 millisecondi.

Questa proprietà è applicabile solo per server_vad il rilevamento dei turni.
silence_duration_ms string Durata del silenzio (in millisecondi) per rilevare la fine del parlato. Si vuole rilevare la fine del discorso il prima possibile, ma non troppo presto per evitare di tagliare l'ultima parte del discorso.

Il modello risponderà più rapidamente se si imposta questo valore su un numero inferiore, ma potrebbe tagliare l'ultima parte del parlato. Se si imposta questo valore su un numero maggiore, il modello attenderà più tempo per rilevare la fine del parlato, ma potrebbe richiedere più tempo per rispondere.

Il valore predefinito è 200 millisecondi.

Questa proprietà è applicabile solo per server_vad il rilevamento dei turni.
create_response boolean Indica se il server creerà automaticamente una risposta quando VAD è abilitato e il riconoscimento vocale si arresta.

Il valore predefinito è true.
interrupt_response boolean Indica se il server interrompe automaticamente qualsiasi risposta in corso con output alla conversazione predefinita (auto) quando si verifica un evento di avvio VAD.

Il valore predefinito è true.
eagerness string Il desiderio del modello di rispondere e interrompere l'utente. Specificare low di attendere più tempo per consentire all'utente di continuare a parlare. Specificare high di suddividere l'audio il prima possibile per risposte più rapide. Il valore predefinito è auto equivalente a medio.

Questa proprietà è applicabile solo per semantic_vad il rilevamento dei turni.

RealtimeTurnDetectionType

Allowed Values:

  • semantic_vad - VaD semantico rileva quando l'utente ha terminato di parlare in base alle parole che hanno pronunciato. L'audio di input viene ottenuto in base alla probabilità che l'utente stia parlando. Quando la probabilità è bassa, il modello attenderà un timeout. Quando la probabilità è elevata, non è necessario attendere.
  • server_vad - Il server valuta l'audio dell'utente dal client. Il server usa automaticamente l'audio per avviare la generazione della risposta nelle conversazioni applicabili quando viene rilevata una fine del parlato.

RealtimeVoice

Allowed Values:

  • alloy
  • ash
  • ballad
  • coral
  • echo
  • sage
  • shimmer
  • verse