Informazioni di riferimento sulle API Live 2025-10-01 Voice

L'API Voice Live offre comunicazioni bidirezionali in tempo reale per le applicazioni abilitate per la voce usando connessioni WebSocket. Questa API supporta funzionalità avanzate, tra cui il riconoscimento vocale, la sintesi vocale, lo streaming avatar, i dati di animazione e le funzionalità complete di elaborazione audio.

L'API usa eventi in formato JSON inviati tramite connessioni WebSocket per gestire conversazioni, flussi audio, interazioni avatar e risposte in tempo reale. Gli eventi vengono classificati in eventi client (inviati da client a server) ed eventi server (inviati dal server al client).

Key Features

  • Elaborazione audio in tempo reale: supporto per più formati audio, tra cui PCM16 a varie frequenze di campionamento e codec G.711
  • Opzioni vocali avanzate: voci OpenAI, voci personalizzate di Azure, voci standard di Azure e voci personali di Azure
  • Integrazione avatar: streaming di avatar basato su WebRTC con video, animazione e forme di fusione
  • Rilevamento dei turni intelligenti: più opzioni VAD, tra cui vad semantico di Azure e rilevamento lato server
  • Miglioramento audio: riduzione del rumore incorporata e annullamento dell'eco
  • Chiamata di funzioni: integrazione degli strumenti per funzionalità di conversazione avanzate
  • Gestione delle sessioni flessibili: modalità di output configurabili, istruzioni e parametri di risposta

Client Events

L'API Voice Live supporta gli eventi client seguenti che possono essere inviati dal client al server:

Event Description
session.update Aggiornare la configurazione della sessione, tra cui voce, modalità di output, rilevamento dei turni e altre impostazioni
session.avatar.connect Stabilire una connessione avatar fornendo sDP client per la negoziazione WebRTC
input_audio_buffer.append Aggiungere byte audio al buffer audio di input
input_audio_buffer.commit Eseguire il commit del buffer audio di input per l'elaborazione
input_audio_buffer.clear Cancellare il buffer audio di input
conversation.item.create Aggiungere un nuovo elemento al contesto della conversazione
conversation.item.retrieve Recuperare un elemento specifico dalla conversazione
conversation.item.truncate Tronca un messaggio audio assistente
conversation.item.delete Rimuovere un elemento dalla conversazione
response.create Indicare al server di creare una risposta tramite l'inferenza del modello
response.cancel Annullare una risposta in corso

session.update

Aggiornare la configurazione della sessione. Questo evento può essere inviato in qualsiasi momento per modificare le impostazioni, ad esempio voce, modalità di output, rilevamento dei turni, strumenti e altri parametri di sessione. Si noti che una volta inizializzata una sessione con un modello specifico, non può essere modificata in un altro modello.

Event Structure

{
  "type": "session.update",
  "session": {
    "modalities": ["text", "audio"],
    "voice": {
      "type": "openai",
      "name": "alloy"
    },
    "instructions": "You are a helpful assistant. Be concise and friendly.",
    "input_audio_format": "pcm16",
    "output_audio_format": "pcm16",
    "input_audio_sampling_rate": 24000,
    "turn_detection": {
      "type": "azure_semantic_vad",
      "threshold": 0.5,
      "prefix_padding_ms": 300,
      "silence_duration_ms": 500
    },
    "temperature": 0.8,
    "max_response_output_tokens": "inf"
  }
}

Properties

Field Type Description
type string Deve essere "session.update"
session RealtimeRequestSession Oggetto di configurazione della sessione con campi da aggiornare

Esempio con Voce personalizzata di Azure

{
  "type": "session.update",
  "session": {
    "voice": {
      "type": "azure-custom",
      "name": "my-custom-voice",
      "endpoint_id": "12345678-1234-1234-1234-123456789012",
      "temperature": 0.7,
      "style": "cheerful"
    },
    "input_audio_noise_reduction": {
      "type": "azure_deep_noise_suppression"
    },
    "avatar": {
      "character": "lisa",
      "customized": false,
      "video": {
        "resolution": {
          "width": 1920,
          "height": 1080
        },
        "bitrate": 2000000
      }
    }
  }
}

session.avatar.connect

Stabilire una connessione avatar fornendo l'offerta SDP (Session Description Protocol) del client per la negoziazione multimediale WebRTC. Questo evento è obbligatorio quando si usano le funzionalità avatar.

Event Structure

{
  "type": "session.avatar.connect",
  "client_sdp": "<client_sdp>"
}

Properties

Field Type Description
type string Deve essere "session.avatar.connect"
client_sdp string Offerta SDP del client per la creazione di connessioni WebRTC, codificata con base64

input_audio_buffer.append

Aggiungere byte audio al buffer audio di input.

Event Structure

{
  "type": "input_audio_buffer.append",
  "audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}

Properties

Field Type Description
type string Deve essere "input_audio_buffer.append"
audio string Dati audio con codifica Base64

input_audio_buffer.commit

Eseguire il commit del buffer audio di input per l'elaborazione.

Event Structure

{
  "type": "input_audio_buffer.commit"
}

Properties

Field Type Description
type string Deve essere "input_audio_buffer.commit"

input_audio_buffer.clear

Cancellare il buffer audio di input.

Event Structure

{
  "type": "input_audio_buffer.clear"
}

Properties

Field Type Description
type string Deve essere "input_audio_buffer.clear"

conversation.item.create

Aggiungere un nuovo elemento al contesto della conversazione. Ciò può includere messaggi, chiamate di funzione e risposte alle chiamate di funzione. Gli elementi possono essere inseriti in posizioni specifiche nella cronologia delle conversazioni.

Event Structure

{
  "type": "conversation.item.create",
  "previous_item_id": "item_ABC123",
  "item": {
    "id": "item_DEF456",
    "type": "message",
    "role": "user",
    "content": [
      {
        "type": "input_text",
        "text": "Hello, how are you?"
      }
    ]
  }
}

Properties

Field Type Description
type string Deve essere "conversation.item.create"
previous_item_id string Optional. ID dell'elemento dopo il quale inserire l'elemento. Se non specificato, aggiunge alla fine
item RealtimeConversationRequestItem Elemento da aggiungere alla conversazione

Esempio con contenuto audio

{
  "type": "conversation.item.create",
  "item": {
    "type": "message",
    "role": "user",
    "content": [
      {
        "type": "input_audio",
        "audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
        "transcript": "Hello there"
      }
    ]
  }
}

Esempio con output di Chiamata di funzione

{
  "type": "conversation.item.create",
  "item": {
    "type": "function_call_output",
    "call_id": "call_123",
    "output": "{\"location\": \"San Francisco\", \"temperature\": \"70\"}"
  }
}

Esempio con la risposta di approvazione MCP

{
  "type": "conversation.item.create",
  "item": {
    "type": "mcp_approval_response",
    "approval_request_id": "mcp_approval_req_456",
    "approve": true,
  }
}

conversation.item.retrieve

Recuperare un elemento specifico dalla cronologia delle conversazioni. Ciò è utile per controllare l'audio elaborato dopo l'annullamento del rumore e il VAD.

Event Structure

{
  "type": "conversation.item.retrieve",
  "item_id": "item_ABC123"
}

Properties

Field Type Description
type string Deve essere "conversation.item.retrieve"
item_id string ID dell'elemento da recuperare

conversation.item.truncate

Tronca il contenuto audio di un messaggio assistente. Ciò è utile per arrestare la riproduzione in un punto specifico e sincronizzare la comprensione del server con lo stato del client.

Event Structure

{
  "type": "conversation.item.truncate",
  "item_id": "item_ABC123",
  "content_index": 0,
  "audio_end_ms": 5000
}

Properties

Field Type Description
type string Deve essere "conversation.item.truncate"
item_id string ID dell'elemento del messaggio dell'assistente da troncare
content_index integer Indice della parte di contenuto da troncare
audio_end_ms integer Durata fino alla quale troncare l'audio, in millisecondi

conversation.item.delete

Rimuovere un elemento dalla cronologia delle conversazioni.

Event Structure

{
  "type": "conversation.item.delete",
  "item_id": "item_ABC123"
}

Properties

Field Type Description
type string Deve essere "conversation.item.delete"
item_id string ID dell'elemento da eliminare

response.create

Indicare al server di creare una risposta tramite l'inferenza del modello. Questo evento può specificare una configurazione specifica della risposta che esegue l'override delle impostazioni predefinite della sessione.

Event Structure

{
  "type": "response.create",
  "response": {
    "modalities": ["text", "audio"],
    "instructions": "Be extra helpful and detailed.",
    "voice": {
      "type": "openai",
      "name": "alloy"
    },
    "output_audio_format": "pcm16",
    "temperature": 0.7,
    "max_response_output_tokens": 1000
  }
}

Properties

Field Type Description
type string Deve essere "response.create"
response RealtimeResponseOptions Configurazione della risposta facoltativa che esegue l'override delle impostazioni predefinite della sessione

Esempio con scelta degli strumenti

{
  "type": "response.create",
  "response": {
    "modalities": ["text"],
    "tools": [
      {
        "type": "function",
        "name": "get_current_time",
        "description": "Get the current time",
        "parameters": {
          "type": "object",
          "properties": {}
        }
      }
    ],
    "tool_choice": "get_current_time",
    "temperature": 0.3
  }
}

Esempio con animazione

{
  "type": "response.create",
  "response": {
    "modalities": ["audio", "animation"],
    "animation": {
      "model_name": "default",
      "outputs": ["blendshapes", "viseme_id"]
    },
    "voice": {
      "type": "azure-custom",
      "name": "my-expressive-voice",
      "endpoint_id": "12345678-1234-1234-1234-123456789012",
      "style": "excited"
    }
  }
}

response.cancel

Annullare una risposta in corso. Questa operazione arresta immediatamente la generazione della risposta e l'output audio correlato.

Event Structure

{
  "type": "response.cancel"
}

Properties

Field Type Description
type string Deve essere "response.cancel"

input_audio_buffer.append

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 campo input_audio_format nella configurazione della sessione.

input_audio_buffer.clear

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

Il server risponde con un evento input_audio_buffer.cleared.

Event structure

{
  "type": "input_audio_buffer.clear"
}

Properties

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

input_audio_buffer.commit

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 ha bisogno di 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 evento input_audio_buffer.committed.

Event structure

{
  "type": "input_audio_buffer.commit"
}

Properties

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

Server Events

L'API Voice Live invia gli eventi del server seguenti per comunicare lo stato, le risposte e i dati al client:

Event Description
error Indica che si è verificato un errore durante l'elaborazione
warning Indica che si è verificato un avviso che non interrompe il flusso della conversazione
session.created Inviato quando viene stabilita una nuova sessione
session.updated Inviato quando viene aggiornata la configurazione della sessione
session.avatar.connecting Indica che viene stabilita la connessione WebRTC avatar
conversation.item.created Inviato quando viene aggiunto un nuovo elemento alla conversazione
conversation.item.retrieved Risposta alla richiesta conversation.item.retrieve
conversation.item.truncated Conferma il troncamento dell'elemento
conversation.item.deleted Conferma l'eliminazione dell'elemento
conversation.item.input_audio_transcription.completed Trascrizione audio di input completata
conversation.item.input_audio_transcription.delta Trascrizione audio di input di streaming
conversation.item.input_audio_transcription.failed Trascrizione audio di input non riuscita
input_audio_buffer.committed Buffer audio di input per l'elaborazione
input_audio_buffer.cleared Buffer audio di input cancellato
input_audio_buffer.speech_started Riconoscimento vocale rilevato nel buffer audio di input (VAD)
input_audio_buffer.speech_stopped Riconoscimento vocale terminato nel buffer audio di input (VAD)
response.created È stata avviata la nuova generazione di risposte
response.done La generazione della risposta è stata completata
response.output_item.added Nuovo elemento di output aggiunto alla risposta
response.output_item.done Elemento di output completato
response.content_part.added Nuova parte di contenuto aggiunta all'elemento di output
response.content_part.done Parte del contenuto completata
response.text.delta Streaming di contenuto di testo dal modello
response.text.done Il contenuto del testo è completo
response.audio_transcript.delta Trascrizione audio in streaming
response.audio_transcript.done Trascrizione audio completata
response.audio.delta Streaming di contenuti audio dal modello
response.audio.done Il contenuto audio è completo
response.animation_blendshapes.delta Dati blendshapes di animazione in streaming
response.animation_blendshapes.done I dati delle forme di fusione dell'animazione sono completi
response.audio_timestamp.delta Streaming di informazioni sul timestamp audio
response.audio_timestamp.done Le informazioni sul timestamp audio sono complete
response.animation_viseme.delta Streaming dei dati viseme dell'animazione
response.animation_viseme.done I dati viseme di animazione sono completi
response.function_call_arguments.delta Argomenti di chiamata di funzione di streaming
response.function_call_arguments.done Gli argomenti delle chiamate di funzione sono completi
mcp_list_tools.in_progress Elenco degli strumenti MCP in corso
mcp_list_tools.completed Elenco degli strumenti MCP completato
mcp_list_tools.failed Elenco degli strumenti MCP non riuscito
response.mcp_call_arguments.delta Argomenti di chiamata MCP in streaming
response.mcp_call_arguments.done Gli argomenti di chiamata MCP sono completi
response.mcp_call.in_progress Chiamata MCP in corso
response.mcp_call.completed Chiamata MCP completata
response.mcp_call.failed Chiamata MCP non riuscita

session.created

Inviato quando viene stabilita una nuova sessione. Questo è il primo evento ricevuto dopo la connessione all'API.

Event Structure

{
  "type": "session.created",
  "session": {
    "id": "sess_ABC123DEF456",
    "object": "realtime.session",
    "model": "gpt-realtime",
    "modalities": ["text", "audio"],
    "instructions": "You are a helpful assistant.",
    "voice": {
      "type": "openai",
      "name": "alloy"
    },
    "input_audio_format": "pcm16",
    "output_audio_format": "pcm16",
    "input_audio_sampling_rate": 24000,
    "turn_detection": {
      "type": "azure_semantic_vad",
      "threshold": 0.5,
      "prefix_padding_ms": 300,
      "silence_duration_ms": 500
    },
    "temperature": 0.8,
    "max_response_output_tokens": "inf"
  }
}

Properties

Field Type Description
type string Deve essere "session.created"
session RealtimeResponseSession Oggetto sessione creato

session.updated

Inviato quando la configurazione della sessione viene aggiornata correttamente in risposta a un session.update evento client.

Event Structure

{
  "type": "session.updated",
  "session": {
    "id": "sess_ABC123DEF456",
    "voice": {
      "type": "azure-custom",
      "name": "my-voice",
      "endpoint_id": "12345678-1234-1234-1234-123456789012"
    },
    "temperature": 0.7,
    "avatar": {
      "character": "lisa",
      "customized": false
    }
  }
}

Properties

Field Type Description
type string Deve essere "session.updated"
session RealtimeResponseSession Oggetto sessione aggiornato

session.avatar.connecting

Indica che viene stabilita una connessione WebRTC avatar. Questo evento viene inviato in risposta a un session.avatar.connect evento client.

Event Structure

{
  "type": "session.avatar.connecting",
  "server_sdp": "<server_sdp>"
}

Properties

Field Type Description
type string Deve essere "session.avatar.connecting"

conversation.item.created

Inviato quando un nuovo elemento viene aggiunto alla conversazione, tramite un evento client conversation.item.create o automaticamente durante la generazione della risposta.

Event Structure

{
  "type": "conversation.item.created",
  "previous_item_id": "item_ABC123",
  "item": {
    "id": "item_DEF456",
    "object": "realtime.item",
    "type": "message",
    "status": "completed",
    "role": "user",
    "content": [
      {
        "type": "input_text",
        "text": "Hello, how are you?"
      }
    ]
  }
}

Properties

Field Type Description
type string Deve essere "conversation.item.created"
previous_item_id string ID dell'elemento dopo il quale l'elemento è stato inserito
item RealtimeConversationResponseItem Elemento di conversazione creato

Esempio con elemento audio

{
  "type": "conversation.item.created",
  "item": {
    "id": "item_GHI789",
    "type": "message",
    "status": "completed",
    "role": "user",
    "content": [
      {
        "type": "input_audio",
        "audio": null,
        "transcript": "What's the weather like today?"
      }
    ]
  }
}

conversation.item.retrieved

Inviato in risposta a un conversation.item.retrieve evento client, fornendo l'elemento di conversazione richiesto.

Event Structure

{
  "type": "conversation.item.retrieved",
  "item": {
    "id": "item_ABC123",
    "object": "realtime.item",
    "type": "message",
    "status": "completed",
    "role": "assistant",
    "content": [
      {
        "type": "audio",
        "audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
        "transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
      }
    ]
  }
}

Properties

Field Type Description
type string Deve essere "conversation.item.retrieved"
item RealtimeConversationResponseItem Elemento della conversazione recuperato

conversation.item.truncated

L'evento server conversation.item.truncated viene restituito quando il client tronca un elemento di messaggio audio assistente precedente con un evento conversation.item.truncate. 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.

conversation.item.deleted

Inviato in risposta a un conversation.item.delete evento client, confermando che l'elemento specificato è stato rimosso dalla conversazione.

Event Structure

{
  "type": "conversation.item.deleted",
  "item_id": "item_ABC123"
}

Properties

Field Type Description
type string Deve essere "conversation.item.deleted"
item_id string ID dell'elemento eliminato

response.created

Inviato all'avvio di una nuova generazione di risposta. Questo è il primo evento in una sequenza di risposta.

Event Structure

{
  "type": "response.created",
  "response": {
    "id": "resp_ABC123",
    "object": "realtime.response",
    "status": "in_progress",
    "status_details": null,
    "output": [],
    "usage": {
      "total_tokens": 0,
      "input_tokens": 0,
      "output_tokens": 0
    }
  }
}

Properties

Field Type Description
type string Deve essere "response.created"
response RealtimeResponse Oggetto risposta creato

response.done

Inviato al termine della generazione della risposta. Questo evento contiene la risposta finale con tutti gli elementi di output e le statistiche di utilizzo.

Event Structure

{
  "type": "response.done",
  "response": {
    "id": "resp_ABC123",
    "object": "realtime.response",
    "status": "completed",
    "status_details": null,
    "output": [
      {
        "id": "item_DEF456",
        "object": "realtime.item",
        "type": "message",
        "status": "completed",
        "role": "assistant",
        "content": [
          {
            "type": "text",
            "text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
          }
        ]
      }
    ],
    "usage": {
      "total_tokens": 87,
      "input_tokens": 52,
      "output_tokens": 35,
      "input_token_details": {
        "cached_tokens": 0,
        "text_tokens": 45,
        "audio_tokens": 7
      },
      "output_token_details": {
        "text_tokens": 15,
        "audio_tokens": 20
      }
    }
  }
}

Properties

Field Type Description
type string Deve essere "response.done"
response RealtimeResponse Oggetto risposta completato

response.output_item.added

Inviato quando viene aggiunto un nuovo elemento di output alla risposta durante la generazione.

Event Structure

{
  "type": "response.output_item.added",
  "response_id": "resp_ABC123",
  "output_index": 0,
  "item": {
    "id": "item_DEF456",
    "object": "realtime.item",
    "type": "message",
    "status": "in_progress",
    "role": "assistant",
    "content": []
  }
}

Properties

Field Type Description
type string Deve essere "response.output_item.added"
response_id string ID della risposta a cui appartiene questo elemento
output_index integer Indice dell'elemento nella matrice di output della risposta
item RealtimeConversationResponseItem Elemento di output aggiunto

response.output_item.done

Inviato al termine di un elemento di output.

Event Structure

{
  "type": "response.output_item.done",
  "response_id": "resp_ABC123",
  "output_index": 0,
  "item": {
    "id": "item_DEF456",
    "object": "realtime.item",
    "type": "message",
    "status": "completed",
    "role": "assistant",
    "content": [
      {
        "type": "text",
        "text": "Hello! I'm doing well, thank you for asking."
      }
    ]
  }
}

Properties

Field Type Description
type string Deve essere "response.output_item.done"
response_id string ID della risposta a cui appartiene questo elemento
output_index integer Indice dell'elemento nella matrice di output della risposta
item RealtimeConversationResponseItem Elemento di output completato

response.content_part.added

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": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "part": {
    "type": "text",
    "text": ""
  }
}

Properties

Field Type Description
type string Deve essere "response.content_part.added"
response_id string ID della risposta
item_id string ID dell'elemento a cui appartiene questa parte di contenuto
output_index integer Indice dell'elemento nella risposta
content_index integer Indice di questa parte di contenuto nell'elemento
part RealtimeContentPart Parte del contenuto aggiunta

response.content_part.done

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": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "part": {
    "type": "text",
    "text": "Hello! I'm doing well, thank you for asking."
  }
}

Properties

Field Type Description
type string Deve essere "response.content_part.done"
response_id string ID della risposta
item_id string ID dell'elemento a cui appartiene questa parte di contenuto
output_index integer Indice dell'elemento nella risposta
content_index integer Indice di questa parte di contenuto nell'elemento
part RealtimeContentPart Parte del contenuto completata

response.text.delta

Streaming di contenuto di testo dal modello. Inviato in modo incrementale quando il modello genera testo.

Event Structure

{
  "type": "response.text.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "delta": "Hello! I'm"
}

Properties

Field Type Description
type string Deve essere "response.text.delta"
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto
delta string Contenuto di testo incrementale

response.text.done

Inviato al termine della generazione del contenuto di testo.

Event Structure

{
  "type": "response.text.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}

Properties

Field Type Description
type string Deve essere "response.text.done"
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto
text string Contenuto di testo completo

response.audio.delta

Streaming di contenuti audio dal modello. L'audio viene fornito come dati con codifica Base64.

Event Structure

{
  "type": "response.audio.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "delta": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}

Properties

Field Type Description
type string Deve essere "response.audio.delta"
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto
delta string Blocco di dati audio con codifica Base64

response.audio.done

Inviato al termine della generazione di contenuti audio.

Event Structure

{
  "type": "response.audio.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0
}

Properties

Field Type Description
type string Deve essere "response.audio.done"
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto

response.audio_transcript.delta

Trascrizione in streaming del contenuto audio generato.

Event Structure

{
  "type": "response.audio_transcript.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "delta": "Hello! I'm doing"
}

Properties

Field Type Description
type string Deve essere "response.audio_transcript.delta"
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto
delta string Testo di trascrizione incrementale

response.audio_transcript.done

Inviato al termine della generazione della trascrizione audio.

Event Structure

{
  "type": "response.audio_transcript.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}

Properties

Field Type Description
type string Deve essere "response.audio_transcript.done"
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto
transcript string Testo di trascrizione completo

conversation.item.input_audio_transcription.completed

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 modalità server_vad). 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.

conversation.item.input_audio_transcription.delta

L'evento server conversation.item.input_audio_transcription.delta viene restituito quando viene configurata la trascrizione audio di input e viene in corso una richiesta di trascrizione per un messaggio utente. Questo evento fornisce risultati parziali di trascrizione non appena diventano disponibili.

Event structure

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

Properties

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

conversation.item.input_audio_transcription.failed

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 eventi error 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.

response.animation_blendshapes.delta

L'evento server response.animation_blendshapes.delta viene restituito quando il modello genera forme di animazione forma i dati come parte di una risposta. Questo evento fornisce dati incrementali di blendshapes man mano che diventano disponibili.

Event structure

{
  "type": "response.animation_blendshapes.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "frame_index": 0,
  "frames": [
    [0.0, 0.1, 0.2, ..., 1.0]
    ...
  ]
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.animation_blendshapes.delta.
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto
frame_index integer Indice del primo frame in questo batch di fotogrammi
frames matrice di matrice di float Matrice di frame di forme di fusione, ogni cornice è una matrice di valori della forma di fusione

response.animation_blendshapes.done

L'evento server response.animation_blendshapes.done viene restituito quando il modello ha terminato di generare dati di forme di animazione come parte di una risposta.

Event structure

{
  "type": "response.animation_blendshapes.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.animation_blendshapes.done.
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta

response.audio_timestamp.delta

L'evento server response.audio_timestamp.delta viene restituito quando il modello genera dati timestamp audio come parte di una risposta. Questo evento fornisce dati di timestamp incrementali per l'audio di output e l'allineamento del testo non appena diventa disponibile.

Event structure

{
  "type": "response.audio_timestamp.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "audio_offset_ms": 0,
  "audio_duration_ms": 500,
  "text": "Hello",
  "timestamp_type": "word"
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.audio_timestamp.delta.
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto
audio_offset_ms integer Offset audio in millisecondi dall'inizio dell'audio
audio_duration_ms integer Durata del segmento audio in millisecondi
text string Segmento di testo corrispondente a questo timestamp audio
timestamp_type string Il tipo di timestamp, attualmente è supportato solo "word"

response.audio_timestamp.done

Inviato al termine della generazione del timestamp audio.

Event Structure

{
  "type": "response.audio_timestamp.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0
}

Properties

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

response.animation_viseme.delta

L'evento server response.animation_viseme.delta viene restituito quando il modello genera dati viseme di animazione come parte di una risposta. Questo evento fornisce dati viseme incrementali non appena diventano disponibili.

Event Structure

{
  "type": "response.animation_viseme.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "audio_offset_ms": 0,
  "viseme_id": 1
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.animation_viseme.delta.
response_id string ID della risposta
item_id string ID dell'elemento
output_index integer Indice dell'elemento nella risposta
content_index integer Indice della parte del contenuto
audio_offset_ms integer Offset audio in millisecondi dall'inizio dell'audio
viseme_id integer ID viseme corrispondente alla forma della bocca per l'animazione

response.animation_viseme.done

L'evento server response.animation_viseme.done viene restituito quando il modello ha terminato di generare dati viseme di animazione come parte di una risposta.

Event Structure

{
  "type": "response.animation_viseme.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0
}

Properties

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

error

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.

warning

L'evento server warning viene restituito quando si verifica un avviso che non interrompe il flusso di conversazione. Gli avvisi sono informativi e la sessione continua normalmente.

Event structure

{
  "type": "warning",
  "warning": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>"
  }
}

Properties

Field Type Description
type string Il tipo di evento deve essere warning.
warning object Dettagli dell'avviso. Vedere le proprietà annidate nella tabella successiva.

Warning properties

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

input_audio_buffer.cleared

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

Event structure

{
  "type": "input_audio_buffer.cleared"
}

Properties

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

input_audio_buffer.committed

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 proprietà item_id è l'ID dell'elemento del messaggio utente creato. Un evento conversation.item.created 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.

input_audio_buffer.speech_started

L'evento server input_audio_buffer.speech_started viene restituito in modalità server_vad 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 evento input_audio_buffer.speech_stopped quando il riconoscimento vocale si arresta. La proprietà item_id è l'ID dell'elemento del messaggio utente creato all'arresto vocale. item_id viene 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 quando è stato rilevato il riconoscimento vocale per la prima volta. 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.

input_audio_buffer.speech_stopped

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

Il server invia anche un evento conversation.item.created 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.

rate_limits.updated

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 RealtimeRateLimitsItem Elenco di informazioni sul limite di velocità.

response.audio.delta

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.

response.audio.done

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.

response.audio_transcript.delta

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.

response.audio_transcript.done

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.

response.function_call_arguments.delta

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.

response.function_call_arguments.done

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.

mcp_list_tools.in_progress

L'evento server mcp_list_tools.in_progress viene restituito quando il servizio inizia a elencare gli strumenti disponibili da un server mcp.

Event structure

{
  "type": "mcp_list_tools.in_progress",
  "item_id": "<mcp_list_tools_item_id>"
}

Properties

Field Type Description
type string Il tipo di evento deve essere mcp_list_tools.in_progress.
item_id string ID dell'elemento degli strumenti elenco MCP in fase di elaborazione.

mcp_list_tools.completed

L'evento server mcp_list_tools.completed viene restituito quando il servizio completa l'elenco degli strumenti disponibili da un server mcp.

Event structure

{
  "type": "mcp_list_tools.completed",
  "item_id": "<mcp_list_tools_item_id>"
}
Properties
Field Type Description
type string Il tipo di evento deve essere mcp_list_tools.completed.
item_id string ID dell'elemento degli strumenti elenco MCP in fase di elaborazione.

mcp_list_tools.failed

L'evento server mcp_list_tools.failed viene restituito quando il servizio non riesce ad elencare gli strumenti disponibili da un server mcp.

Event structure

{
  "type": "mcp_list_tools.failed",
  "item_id": "<mcp_list_tools_item_id>"
}
Properties
Field Type Description
type string Il tipo di evento deve essere mcp_list_tools.failed.
item_id string ID dell'elemento degli strumenti elenco MCP in fase di elaborazione.

response.mcp_call_arguments.delta

L'evento server response.mcp_call_arguments.delta viene restituito quando vengono aggiornati gli argomenti di chiamata dello strumento mcp generati dal modello.

Event structure

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

Properties

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

response.mcp_call_arguments.done

L'evento server response.mcp_call_arguments.done viene restituito quando gli argomenti di chiamata dello strumento mcp generati dal modello vengono eseguiti in streaming.

Event structure

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

Properties

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

response.mcp_call.in_progress

L'evento server response.mcp_call.in_progress viene restituito quando una chiamata allo strumento MCP avvia l'elaborazione.

Event structure

{
  "type": "response.mcp_call.in_progress",
  "item_id": "<item_id>",
  "output_index": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.mcp_call.in_progress.
item_id string ID dell'elemento di chiamata dello strumento mcp.
output_index integer Indice dell'elemento di output nella risposta.

response.mcp_call.completed

L'evento server response.mcp_call.completed viene restituito quando una chiamata allo strumento MCP viene completata correttamente.

Event structure

{
  "type": "response.mcp_call.completed",
  "item_id": "<item_id>",
  "output_index": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.mcp_call.completed.
item_id string ID dell'elemento di chiamata dello strumento mcp.
output_index integer Indice dell'elemento di output nella risposta.

response.mcp_call.failed

L'evento server response.mcp_call.failed viene restituito quando una chiamata allo strumento MCP ha esito negativo.

Event structure

{
  "type": "response.mcp_call.failed",
  "item_id": "<item_id>",
  "output_index": 0
}

Properties

Field Type Description
type string Il tipo di evento deve essere response.mcp_call.failed.
item_id string ID dell'elemento di chiamata dello strumento mcp.
output_index integer Indice dell'elemento di output nella risposta.

response.output_item.added

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.

response.output_item.done

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.

response.text.delta

L'evento server response.text.delta viene restituito quando viene aggiornato il testo generato dal modello. Il testo corrisponde alla parte del contenuto text 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.

response.text.done

L'evento server response.text.done viene restituito quando il testo generato dal modello viene eseguito in streaming. Il testo corrisponde alla parte del contenuto text 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.

Components

Audio Formats

RealtimeAudioFormat

Formato audio di base usato per l'audio di input.

Allowed Values:

  • pcm16 - Formato audio PCM a 16 bit
  • g711_ulaw - Formato audio μ legge G.711
  • g711_alaw - Formato audio legale G.711

RealtimeOutputAudioFormat

Formato audio usato per l'output audio con frequenze di campionamento specifiche.

Allowed Values:

  • pcm16 - Formato audio PCM a 16 bit con frequenza di campionamento predefinita (24 kHz)
  • pcm16_8000hz - Formato audio PCM a 16 bit con frequenza di campionamento a 8 kHz
  • pcm16_16000hz - Formato audio PCM a 16 bit con frequenza di campionamento a 16 kHz
  • g711_ulaw - Formato audio di legge μ G.711 (mu-law) con frequenza di campionamento a 8 kHz
  • g711_alaw - Formato audio di legge G.711 con frequenza di campionamento a 8 kHz

RealtimeAudioInputTranscriptionSettings

Configurazione della trascrizione dell'audio di input.

Field Type Description
model string Modello di trascrizione.
Supportato con gpt-realtime e gpt-realtime-mini:
whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribegpt-4o-transcribe-diarize.
Supportato con tutti gli altri modelli e agenti: azure-speech
language string Codice linguistico facoltativo in BCP-47 (ad esempio, en-US) o ISO-639-1 (ad esempio, en) o più lingue con rilevamento automatico, ad esempio en,zh.

Per l'uso consigliato di questa impostazione, vedere Riconoscimento vocale di Azure per le lingue supportate .
custom_speech object Configurazione facoltativa per i modelli di riconoscimento vocale personalizzati, valida solo per il azure-speech modello.
phrase_list string[] Elenco facoltativo di hint di frase per il riconoscimento della distorsione, valido solo per il azure-speech modello.
prompt string Testo della richiesta facoltativo per guidare la trascrizione, valido solo per whisper-1i modelli , gpt-4o-transcribegpt-4o-mini-transcribe e gpt-4o-transcribe-diarize .

RealtimeInputAudioNoiseReductionSettings

Può trattarsi di:

RealtimeOpenAINoiseReduction

Configurazione della riduzione del rumore OpenAI con campo di tipo esplicito, disponibile solo per gpt-realtime i modelli e gpt-realtime-mini .

Field Type Description
type string near_field o far_field

RealtimeAzureDeepNoiseSuppression

Configurazione per la riduzione del rumore audio di input.

Field Type Description
type string Deve essere "azure_deep_noise_suppression"

RealtimeInputAudioEchoCancellationSettings

Configurazione dell'annullamento echo per l'elaborazione audio lato server.

Field Type Description
type string Deve essere "server_echo_cancellation"

Voice Configuration

RealtimeVoice

Unione di tutte le configurazioni vocali supportate.

Può trattarsi di:

RealtimeOpenAIVoice

Configurazione vocale OpenAI con campo di tipo esplicito.

Field Type Description
type string Deve essere "openai"
name string Nome vocale OpenAI: alloy, ash, ballad, coral, echosage, shimmer, verse, marincedar

RealtimeAzureVoice

Base per le configurazioni vocali di Azure. Si tratta di un'unione discriminante con tipi diversi:

RealtimeAzureStandardVoice

Configurazione vocale standard di Azure.

Field Type Description
type string Deve essere "azure-standard"
name string Nome voce (non può essere vuoto)
temperature number Optional. Temperatura compresa tra 0,0 e 1,0
custom_lexicon_url string Optional. URL del lessico personalizzato
custom_text_normalization_url string Optional. URL della normalizzazione del testo personalizzata
prefer_locales string[] Optional. Preferred locales
Le impostazioni locali preferite cambiano gli accenti delle lingue. Se il valore non è impostato, TTS usa l'accento predefinito di ogni lingua. Ad esempio, quando TTS parla inglese, usa l'accento inglese americano. E quando parla spagnolo, usa l'accento spagnolo messicano.
Se si imposta il prefer_locales su ["en-GB", "es-ES"], l'accento inglese è inglese britannico e l'accento spagnolo è spagnolo europeo. E TTS anche in grado di parlare altre lingue come francese, cinese, ecc.
locale string Optional. Locale specification
Imponi impostazioni locali per l'output TTS. Se non è impostato, TTS userà sempre le impostazioni locali specificate per parlare. Ad esempio, impostare le impostazioni locali su en-US, TTS userà sempre l'accento inglese americano per pronunciare il contenuto del testo, anche il contenuto del testo si trova in un'altra lingua. E TTS restituirà il silenzio se il contenuto del testo è in cinese.
style string Optional. Voice style
pitch string Optional. Pitch adjustment
rate string Optional. Regolazione della velocità vocale
volume string Optional. Volume adjustment
RealtimeAzureCustomVoice

Configurazione vocale personalizzata di Azure (preferita per le voci personalizzate).

Field Type Description
type string Deve essere "azure-custom"
name string Nome voce (non può essere vuoto)
endpoint_id string ID endpoint (non può essere vuoto)
temperature number Optional. Temperatura compresa tra 0,0 e 1,0
custom_lexicon_url string Optional. URL del lessico personalizzato
custom_text_normalization_url string Optional. URL della normalizzazione del testo personalizzata
prefer_locales string[] Optional. Preferred locales
Le impostazioni locali preferite cambiano gli accenti delle lingue. Se il valore non è impostato, TTS usa l'accento predefinito di ogni lingua. Ad esempio, quando il TTS parla inglese, usa l'accento inglese americano. E quando parla spagnolo, usa l'accento spagnolo messicano.
Se si imposta il prefer_locales su ["en-GB", "es-ES"], l'accento inglese è inglese britannico e l'accento spagnolo è spagnolo europeo. E TTS anche in grado di parlare altre lingue come francese, cinese, ecc.
locale string Optional. Locale specification
Imponi impostazioni locali per l'output TTS. Se non è impostato, TTS userà sempre le impostazioni locali specificate per parlare. Ad esempio, impostare le impostazioni locali su en-US, TTS userà sempre l'accento inglese americano per pronunciare il contenuto del testo, anche il contenuto del testo si trova in un'altra lingua. E TTS restituirà il silenzio se il contenuto del testo è in cinese.
style string Optional. Voice style
pitch string Optional. Pitch adjustment
rate string Optional. Regolazione della velocità vocale
volume string Optional. Volume adjustment

Example:

{
  "type": "azure-custom",
  "name": "my-custom-voice",
  "endpoint_id": "12345678-1234-1234-1234-123456789012",
  "temperature": 0.7,
  "style": "cheerful",
  "locale": "en-US"
}
RealtimeAzurePersonalVoice

Configurazione vocale personale di Azure.

Field Type Description
type string Deve essere "azure-personal"
name string Nome voce (non può essere vuoto)
temperature number Optional. Temperatura compresa tra 0,0 e 1,0
model string Modello di base sottostante: DragonLatestNeural, DragonHDOmniLatestNeural, MAI-Voice-1
custom_lexicon_url string Optional. URL del lessico personalizzato
custom_text_normalization_url string Optional. URL della normalizzazione del testo personalizzata
prefer_locales string[] Optional. Preferred locales
Preferisce le impostazioni locali modificare gli accenti delle lingue. Se il valore non è impostato, TTS usa l'accento predefinito di ogni lingua. Ad esempio, quando TTS parla inglese, usa l'accento inglese americano. E quando parla spagnolo, usa l'accento spagnolo messicano.
Se si imposta il prefer_locales su ["en-GB", "es-ES"], l'accento inglese è inglese britannico e l'accento spagnolo è spagnolo europeo. E TTS anche in grado di parlare altre lingue come francese, cinese, ecc.
locale string Optional. Locale specification
Imponi impostazioni locali per l'output TTS. Se non è impostato, TTS userà sempre le impostazioni locali specificate per parlare. Ad esempio, impostare le impostazioni locali su en-US, TTS userà sempre l'accento inglese americano per pronunciare il contenuto del testo, anche il contenuto del testo si trova in un'altra lingua. E TTS restituirà il silenzio se il contenuto del testo è in cinese.
pitch string Optional. Pitch adjustment
rate string Optional. Regolazione della velocità vocale
volume string Optional. Volume adjustment

Turn Detection

RealtimeTurnDetection

Configurazione per il rilevamento dei turni. Si tratta di un'unione discriminante che supporta più tipi VAD.

RealtimeServerVAD

Rilevamento dei turni basato su VAD di base.

Field Type Description
type string Deve essere "server_vad"
threshold float Optional. Soglia di attivazione (0.0-1.0) (impostazione predefinita: 0,5)
prefix_padding_ms integer Optional. Riempimento audio prima dell'avvio vocale (impostazione predefinita: 300)
silence_duration_ms integer Optional. Durata del silenzio per rilevare la fine del parlato (impostazione predefinita: 500)
speech_duration_ms integer Optional. Durata minima del riconoscimento vocale (impostazione predefinita: 200)
end_of_utterance_detection RealtimeEOUDetection Optional. Configurazione del rilevamento end-of-utterance
create_response boolean Optional. Abilitare o disabilitare se viene generata una risposta (impostazione predefinita: true).
interrupt_response boolean Optional. Abilitare o disabilitare l'interruzione barge-in (impostazione predefinita: true).
auto_truncate boolean Optional. Troncamento automatico in caso di interruzione (impostazione predefinita: false)
RealtimeOpenAISemanticVAD

Configurazione VAD semantica OpenAI che usa un modello per determinare quando l'utente ha terminato di parlare. Disponibile solo per gpt-realtime i modelli e gpt-realtime-mini .

Field Type Description
type string Deve essere "semantic_vad"
eagerness string Optional. Si tratta di un modo per controllare quanto il modello sia propenso a interrompere l'utente, regolando il timeout massimo di attesa. In modalità di trascrizione, anche se il modello non risponde, influisce su come l'audio viene suddiviso in blocchi.
Sono consentiti i valori seguenti:
- auto (impostazione predefinita) equivale a medium,
- low consente all'utente di prendere il proprio tempo per parlare,
- high segmenterà l'audio il prima possibile.

Se desideri che il modello risponda più frequentemente in modalità conversazione o restituisca gli eventi di trascrizione più rapidamente in modalità trascrizione, puoi impostare il parametro di rapidità su high.
D'altra parte, se vuoi consentire all'utente di parlare senza interruzioni in modalità conversazione o se vuoi blocchi di trascrizioni più grandi in modalità di trascrizione, puoi impostare eagerness su low.
create_response boolean Optional. Abilitare o disabilitare se viene generata una risposta (impostazione predefinita: true).
interrupt_response boolean Optional. Abilitare o disabilitare l'interruzione barge-in (impostazione predefinita: true).
RealtimeAzureSemanticVAD

VAD semantico di Azure, che determina quando l'utente inizia e parla usando un modello di riconoscimento vocale semantico, fornendo un rilevamento più affidabile in ambienti rumorosi.

Field Type Description
type string Deve essere "azure_semantic_vad"
threshold float Optional. Soglia di attivazione (impostazione predefinita: 0,5)
prefix_padding_ms integer Optional. Riempimento audio prima della voce (impostazione predefinita: 300)
silence_duration_ms integer Optional. Durata del silenzio per la fine del parlato (impostazione predefinita: 500)
end_of_utterance_detection RealtimeEOUDetection Optional. Configurazione di rilevamento EOU
speech_duration_ms integer Optional. Durata minima del riconoscimento vocale (impostazione predefinita: 80)
remove_filler_words boolean Optional. Rimuovere le parole filler (impostazione predefinita: false)
languages string[] Optional. Supports English. Le altre lingue vengono ignorate (impostazione predefinita: nessuna).
create_response boolean Optional. Abilitare o disabilitare se viene generata una risposta (impostazione predefinita: true).
interrupt_response boolean Optional. Abilitare o disabilitare l'interruzione barge-in (impostazione predefinita: true).
auto_truncate boolean Optional. Troncamento automatico in caso di interruzione (impostazione predefinita: false)
RealtimeAzureSemanticVADMultilingual

VAD semantico di Azure (variante predefinita).

Field Type Description
type string Deve essere "azure_semantic_vad_multilingual"
threshold float Optional. Soglia di attivazione (impostazione predefinita: 0,5)
prefix_padding_ms integer Optional. Riempimento audio prima della voce (impostazione predefinita: 300)
silence_duration_ms integer Optional. Durata del silenzio per la fine del parlato (impostazione predefinita: 500)
end_of_utterance_detection RealtimeEOUDetection Optional. Configurazione di rilevamento EOU
speech_duration_ms integer Optional. Durata minima del riconoscimento vocale (impostazione predefinita: 80)
remove_filler_words boolean Optional. Rimuovere le parole filler (impostazione predefinita: false)
languages string[] Optional. Supporta inglese, spagnolo, francese, italiano, tedesco (DE), giapponese, portoghese, cinese, coreano, hindi. Le altre lingue vengono ignorate (impostazione predefinita: nessuna).
create_response boolean Optional. Abilitare o disabilitare se viene generata una risposta (impostazione predefinita: true).
interrupt_response boolean Optional. Abilitare o disabilitare l'interruzione barge-in (impostazione predefinita: true).
auto_truncate boolean Optional. Troncamento automatico in caso di interruzione (impostazione predefinita: false)

RealtimeEOUDetection

Azure End-of-Utterance (EOU) può indicare quando l'utente finale ha smesso di parlare consentendo pause naturali. Il rilevamento della fine delle espressioni può ridurre significativamente i segnali di fine turno prematuri senza aumentare la latenza percepibile dall'utente.

Field Type Description
model string Potrebbe supportare semantic_detection_v1 inglese o semantic_detection_v1_multilingual supportare inglese, spagnolo, francese, italiano, tedesco (DE), giapponese, portoghese, cinese, coreano, hindi
threshold_level string Optional. Livello soglia di rilevamento (low, mediumhighe default), l'impostazione predefinita è ugualemedium. Con un'impostazione inferiore la probabilità che la frase sia completa sarà superiore.
timeout_ms number Optional. Tempo massimo in millisecondi per attendere un numero maggiore di operazioni vocali dell'utente. Il valore predefinito è 1000 ms.

Avatar Configuration

RealtimeAvatarConfig

Configurazione per lo streaming e il comportamento dell'avatar.

Field Type Description
ice_servers RealtimeIceServer[] Optional. Server ICE per WebRTC
character string Nome o ID del carattere per l'avatar
style string Optional. Stile avatar (tono emotivo, stile parlante)
customized boolean Indica se l'avatar è personalizzato
video RealtimeVideoParams Optional. Video configuration
scene RealtimeAvatarScene Optional. Configurazione per il livello di zoom, la posizione, la rotazione e l'ampiezza di movimento dell'avatar nel fotogramma video
output_protocol string Optional. Protocollo di output per lo streaming avatar. L'impostazione predefinita è webrtc
output_audit_audio boolean Optional. Se abilitata, inoltra l'audio di controllo tramite WebSocket per scopi di revisione/debug, anche quando l'output avatar viene recapitato tramite WebRTC. L'impostazione predefinita è false

RealtimeIceServer

Configurazione del server ICE per la negoziazione della connessione WebRTC.

Field Type Description
urls string[] URL del server ICE (endpoint TURN o STUN)
username string Optional. Nome utente per l'autenticazione
credential string Optional. Credenziali per l'autenticazione

RealtimeVideoParams

Parametri di streaming video per avatar.

Field Type Description
bitrate integer Optional. Velocità in bit in bit al secondo (impostazione predefinita: 2000000)
codec string Optional. Codec video, attualmente solo h264 (impostazione predefinita: h264)
crop RealtimeVideoCrop Optional. Cropping settings
resolution RealtimeVideoResolution Optional. Resolution settings

RealtimeVideoCrop

Definizione del rettangolo di ritaglio video.

Field Type Description
top_left integer[] Angolo superiore sinistro [x, y], interi non negativi
bottom_right integer[] Angolo inferiore destro [x, y], interi non negativi

RealtimeVideoResolution

Specifica della risoluzione video.

Field Type Description
width integer Larghezza in pixel (deve essere > 0)
height integer Altezza in pixel (deve essere > 0)

RealtimeAvatarScene

Configurazione per il livello di zoom, la posizione, la rotazione e l'ampiezza di movimento dell'avatar nel fotogramma video.

Field Type Description
zoom number Optional. Livello di zoom dell'avatar. L'intervallo è (0, +∞). Valori inferiori a 1 zoom indietro, valori maggiori di 1 zoom avanti. Il valore predefinito è 0
position_x number Optional. Posizione orizzontale dell'avatar. L'intervallo è [-1, 1], in proporzione alla larghezza del fotogramma. I valori negativi si spostano a sinistra, i valori positivi si spostano verso destra. Il valore predefinito è 0
position_y number Optional. Posizione verticale dell'avatar. L'intervallo è [-1, 1], in proporzione all'altezza del fotogramma. I valori negativi si spostano verso l'alto, i valori positivi si spostano verso il basso. Il valore predefinito è 0
rotation_x number Optional. Rotazione intorno all'asse X (inclinazione). L'intervallo è [-π, π] in radianti. I valori negativi ruotano verso l'alto, i valori positivi ruotano verso il basso. Il valore predefinito è 0
rotation_y number Optional. Rotazione intorno all'asse Y (yaw). L'intervallo è [-π, π] in radianti. I valori negativi ruotano a sinistra, i valori positivi ruotano a destra. Il valore predefinito è 0
rotation_z number Optional. Rotazione intorno all'asse Z (rotolo). L'intervallo è [-π, π] in radianti. I valori negativi ruotano in senso antiorario, i valori positivi ruotano in senso orario. Il valore predefinito è 0
amplitude number Optional. Ampiezza del movimento avatar. L'intervallo è (0, 1]. I valori in (0, 1) media ampiezza ridotta, 1 indica l'ampiezza completa. Il valore predefinito è 0

Animation Configuration

RealtimeAnimation

Configurazione per gli output di animazione, incluse forme e visemi.

Field Type Description
model_name string Optional. Nome del modello di animazione (impostazione predefinita: "default")
outputs RealtimeAnimationOutputType[] Optional. Tipi di output (impostazione predefinita: ["blendshapes"])

RealtimeAnimationOutputType

Tipi di dati di animazione da restituire.

Allowed Values:

  • blendshapes - Forme facciali per la forma dei dati
  • viseme_id - Dati dell'identificatore Viseme

Session Configuration

RealtimeRequestSession

Oggetto di configurazione sessione utilizzato negli session.update eventi.

Field Type Description
model string Optional. Nome del modello da usare
modalities RealtimeModality[] Optional. Modalità di output supportate per la sessione.

Ad esempio, "modalità": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di output di testo e audio. Per abilitare solo l'output di testo, impostare "modalità": ["text"]. Per abilitare l'output dell'avatar, impostare "modalità": ["text", "audio", "avatar"]. Non è possibile abilitare solo l'audio.
animation RealtimeAnimation Optional. Animation configuration
voice RealtimeVoice Optional. Voice configuration
instructions string Optional. Istruzioni di sistema per il modello. Le istruzioni potrebbero guidare l'audio di output se vengono usate voci OpenAI, ma potrebbero non essere applicabili alle voci di Azure.
input_audio_sampling_rate integer Optional. Frequenza di campionamento audio di input in Hz (impostazione predefinita: 24000 per , 8000 per pcm16g711_ulaw e g711_alaw)
input_audio_format RealtimeAudioFormat Optional. Formato audio di input (impostazione predefinita: pcm16)
output_audio_format RealtimeOutputAudioFormat Optional. Formato audio di output (impostazione predefinita: pcm16)
input_audio_noise_reduction RealtimeInputAudioNoiseReductionSettings 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 dei turni e dell'attività vocale (VAD), riducendo i falsi positivi, e le prestazioni del modello migliorando la percezione dell'audio di input.

Questa proprietà è nullable.
input_audio_echo_cancellation RealtimeInputAudioEchoCancellationSettings Configurazione per l'annullamento dell'eco audio di input. Può essere impostato su Null per disattivare. Questo annullamento echo lato servizio può contribuire a migliorare la qualità dell'audio di input riducendo l'impatto dell'eco e del riverbero.

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. Può essere impostato su Null per disattivare.
tools matrice di RealtimeTool Strumenti disponibili per il modello per la sessione.
tool_choice RealtimeToolChoice Scelta dello strumento per la sessione.

Valori consentiti: auto, none e 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, 1,2]. Il valore predefinito è 0.8.
max_response_output_tokens integer o "inf" Numero massimo di token di output per ogni risposta dell'assistente, incluse 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".
reasoning_effort ReasoningEffort Optional. Vincola il lavoro sul ragionamento per i modelli di ragionamento. Per altri dettagli, vedere la documentazione di Azure Foundry . La riduzione del lavoro di ragionamento può tradursi in risposte più veloci e in un minor numero di token usati per il ragionamento in una risposta.
avatar RealtimeAvatarConfig Optional. Avatar configuration
output_audio_timestamp_types RealtimeAudioTimestampType[] Optional. Tipi di timestamp per l'audio di output

RealtimeModality

Modalità di output della sessione supportate.

Allowed Values:

  • text - Output di testo
  • audio - Output audio
  • animation - Output dell'animazione
  • avatar - Output video avatar

RealtimeAudioTimestampType

Tipi di timestamp di output supportati nel contenuto della risposta audio.

Allowed Values:

  • word - Timestamp per parola nell'audio di output

ReasoningEffort

Vincola il lavoro sul ragionamento per i modelli di ragionamento. Controllare la documentazione del modello per i valori supportati per ogni modello. La riduzione del lavoro di ragionamento può tradursi in risposte più veloci e in un minor numero di token usati per il ragionamento in una risposta.

Allowed Values:

  • none - Nessun tentativo di ragionamento
  • minimal - Minimo sforzo di ragionamento
  • low - Scarso sforzo di ragionamento - risposte più veloci con meno ragionamenti
  • medium - Sforzo di ragionamento medio - bilanciato tra velocità e profondità di ragionamento
  • high - Sforzo di ragionamento elevato - ragionamento più approfondito, può richiedere più tempo
  • xhigh - Sforzo di ragionamento più elevato - profondità massima di ragionamento

Tool Configuration

Sono supportati due tipi di strumenti: funzione chiamante e strumenti MCP che consentono di connettersi a un server mcp.

RealtimeTool

Definizione dello strumento per la chiamata di funzione.

Field Type Description
type string Deve essere "function"
name string Function name
description string Linee guida per la descrizione e l'utilizzo delle funzioni
parameters object Parametri della funzione come oggetto schema JSON

RealtimeToolChoice

Strategia di selezione degli strumenti.

Può trattarsi di:

  • "auto" - Consente al modello di scegliere
  • "none" - Non usare gli strumenti
  • "required" - Deve usare uno strumento
  • { "type": "function", "name": "function_name" } - Usare una funzione specifica

MCPTool

Configurazione dello strumento MCP.

Field Type Description
type string Deve essere "mcp"
server_label string Required. Etichetta del server MCP.
server_url string Required. URL del server del server MCP.
allowed_tools string[] Optional. Elenco dei nomi degli strumenti consentiti. Se non specificato, tutti gli strumenti sono consentiti.
headers object Optional. Intestazioni aggiuntive da includere nelle richieste MCP.
authorization string Optional. Token di autorizzazione per le richieste MCP.
require_approval stringa o dizionario Optional.
Se impostato su una stringa, il valore deve essere never o always.
Se impostato su un dizionario, deve essere in formato {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}.
Il valore predefinito è always.
Se impostato su always, l'esecuzione dello strumento richiede l'approvazione, mcp_approval_request verrà inviata al client al termine dell'argomento mcp e verrà eseguita solo quando viene ricevuto mcp_approval_response con approve=true .
Se impostato su never, lo strumento verrà eseguito automaticamente senza approvazione.

RealtimeConversationResponseItem

Si tratta di un tipo di unione che può essere uno dei seguenti:

RealtimeConversationUserMessageItem

Elemento del messaggio dell'utente.

Field Type Description
id string ID univoco dell'elemento.
type string Deve essere "message"
object string Deve essere "conversation.item"
role string Deve essere "user"
content RealtimeInputTextContentPart Il contenuto del messaggio.
status RealtimeItemStatus Stato dell'elemento.

RealtimeConversationAssistantMessageItem

Elemento del messaggio assistente.

Field Type Description
id string ID univoco dell'elemento.
type string Deve essere "message"
object string Deve essere "conversation.item"
role string Deve essere "assistant"
content RealtimeOutputTextContentPart[] o RealtimeOutputAudioContentPart[] Il contenuto del messaggio.
status RealtimeItemStatus Stato dell'elemento.

RealtimeConversationSystemMessageItem

Elemento del messaggio di sistema.

Field Type Description
id string ID univoco dell'elemento.
type string Deve essere "message"
object string Deve essere "conversation.item"
role string Deve essere "system"
content RealtimeInputTextContentPart[] Il contenuto del messaggio.
status RealtimeItemStatus Stato dell'elemento.

RealtimeConversationFunctionCallItem

Elemento della richiesta di chiamata di funzione.

Field Type Description
id string ID univoco dell'elemento.
type string Deve essere "function_call"
object string Deve essere "conversation.item"
name string Nome della funzione da chiamare.
arguments string Argomenti per la chiamata di funzione come stringa JSON.
call_id string ID univoco della chiamata di funzione.
status RealtimeItemStatus Stato dell'elemento.

RealtimeConversationFunctionCallOutputItem

Elemento della risposta della chiamata di funzione.

Field Type Description
id string ID univoco dell'elemento.
type string Deve essere "function_call_output"
object string Deve essere "conversation.item"
name string Nome della funzione chiamata.
output string Output della chiamata di funzione.
call_id string ID univoco della chiamata di funzione.
status RealtimeItemStatus Stato dell'elemento.

RealtimeConversationMCPListToolsItem

Elemento di risposta degli strumenti elenco MCP.

Field Type Description
id string ID univoco dell'elemento.
type string Deve essere "mcp_list_tools"
server_label string Etichetta del server MCP.

RealtimeConversationMCPCallItem

Elemento di risposta della chiamata MCP.

Field Type Description
id string ID univoco dell'elemento.
type string Deve essere "mcp_call"
server_label string Etichetta del server MCP.
name string Nome dello strumento da chiamare.
approval_request_id string ID richiesta di approvazione per la chiamata MCP.
arguments string Argomenti per la chiamata MCP.
output string Output della chiamata MCP.
error object Dettagli dell'errore se la chiamata MCP non è riuscita.

RealtimeConversationMCPApprovalRequestItem

Elemento della richiesta di approvazione MCP.

Field Type Description
id string ID univoco dell'elemento.
type string Deve essere "mcp_approval_request"
server_label string Etichetta del server MCP.
name string Nome dello strumento da chiamare.
arguments string Argomenti per la chiamata MCP.

RealtimeItemStatus

Stato degli elementi della conversazione.

Allowed Values:

  • in_progress - Attualmente in fase di elaborazione
  • completed -Completato
  • incomplete - Incompleto (interrotto o non riuscito)

RealtimeContentPart

Parte contenuto all'interno di un messaggio.

RealtimeInputTextContentPart

Parte del contenuto del testo.

Field Type Description
type string Deve essere "input_text"
text string Contenuto del testo

RealtimeOutputTextContentPart

Parte del contenuto del testo.

Field Type Description
type string Deve essere "text"
text string Contenuto del testo

RealtimeInputAudioContentPart

Parte del contenuto audio.

Field Type Description
type string Deve essere "input_audio"
audio string Optional. Dati audio con codifica Base64
transcript string Optional. Audio transcript

RealtimeOutputAudioContentPart

Parte del contenuto audio.

Field Type Description
type string Deve essere "audio"
audio string Dati audio con codifica Base64
transcript string Optional. Audio transcript

Response Objects

RealtimeResponse

Oggetto risposta che rappresenta una risposta di inferenza del modello.

Field Type Description
id string Optional. Response ID
object string Optional. Sempre "realtime.response"
status RealtimeResponseStatus Optional. Response status
status_details RealtimeResponseStatusDetails Optional. Status details
output RealtimeConversationResponseItem[] Optional. Output items
usage RealtimeUsage Optional. Statistiche sull'utilizzo dei token
conversation_id string Optional. ID conversazione associato
voice RealtimeVoice Optional. Voce usata per la risposta
modalities string[] Optional. Modalità di output usate
output_audio_format RealtimeOutputAudioFormat Optional. Formato audio usato
temperature number Optional. Temperature used
max_response_output_tokens integer o "inf" Optional. Numero massimo di token usati

RealtimeResponseStatus

Valori dello stato della risposta.

Allowed Values:

  • in_progress - La risposta viene generata
  • completed - Risposta completata
  • cancelled - Risposta annullata
  • incomplete - Risposta incompleta (interrotta)
  • failed - Risposta non riuscita con errore

RealtimeUsage

Statistiche di utilizzo dei token.

Field Type Description
total_tokens integer Totale token usati
input_tokens integer Token di input usati
output_tokens integer Token di output generati
input_token_details TokenDetails Suddivisione dei token di input
output_token_details TokenDetails Suddivisione dei token di output

TokenDetails

Suddivisione dettagliata dell'utilizzo dei token.

Field Type Description
cached_tokens integer Optional. Token memorizzati nella cache usati
text_tokens integer Optional. Token di testo usati
audio_tokens integer Optional. Token audio usati

Error Handling

RealtimeErrorDetails

Oggetto informazioni sull'errore.

Field Type Description
type string Tipo di errore (ad esempio, "invalid_request_error", "server_error")
code string Optional. Codice di errore specifico
message string Descrizione dell'errore leggibile
param string Optional. Parametro correlato all'errore
event_id string Optional. ID dell'evento client che ha causato l'errore

RealtimeConversationRequestItem

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

Si tratta di un tipo di unione che può essere uno dei seguenti:

RealtimeSystemMessageItem

Elemento del messaggio di sistema.

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: message
role string Ruolo del messaggio.

Valori consentiti: system
content matrice di RealtimeInputTextContentPart Il contenuto del messaggio.
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.

RealtimeUserMessageItem

Elemento del messaggio dell'utente.

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: message
role string Ruolo del messaggio.

Valori consentiti: user
content matrice di RealtimeInputTextContentPart o RealtimeInputAudioContentPart Il contenuto del messaggio.
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.

RealtimeAssistantMessageItem

Elemento del messaggio dell'assistente.

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: message
role string Ruolo del messaggio.

Valori consentiti: assistant
content matrice di RealtimeOutputTextContentPart Il contenuto del messaggio.

RealtimeFunctionCallItem

Elemento di chiamata di funzione.

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: function_call
name string Nome della funzione da chiamare.
arguments string Argomenti della chiamata di funzione come stringa JSON.
call_id string ID dell'elemento di chiamata di funzione.
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.

RealtimeFunctionCallOutputItem

Elemento di output di una chiamata di funzione.

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 L'output della chiamata di funzione, ovvero una stringa in formato libero con il risultato della funzione, potrebbe anche essere vuota.
id string ID univoco dell'elemento. Se il client non fornisce un ID, il server ne genera uno.

RealtimeMCPApprovalResponseItem

Elemento di risposta di approvazione MCP.

Field Type Description
type string Tipo dell'elemento.

Valori consentiti: mcp_approval_response
approve boolean Indica se la richiesta MCP è approvata.
approval_request_id string ID della richiesta di approvazione MCP.
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.

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

RealtimeResponseAudioContentPart

Field Type Description
type string Tipo della parte di contenuto.

Valori consentiti: audio
transcript string Trascrizione dell'audio.

Questa proprietà è nullable.

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.

RealtimeResponseOptions

Field Type Description
modalities array Modalità di output per la risposta.

Valori consentiti: text, audio

Ad esempio, "modalities": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di output sia di testo che audio. Per abilitare solo l'output di testo, impostare "modalities": ["text"]. Non è possibile abilitare solo l'audio.
instructions string Istruzioni (messaggio di sistema) per guidare le risposte del modello.
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.
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, 1,2]. Il valore predefinito è 0.8.
max_response_output_tokens integer o "inf" Numero massimo di token di output per ogni risposta dell'assistente, incluse 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".
reasoning_effort ReasoningEffort Optional. Vincola il lavoro sul ragionamento per i modelli di ragionamento. Controllare la documentazione del modello per i valori supportati per ogni modello. La riduzione del lavoro di ragionamento può tradursi in risposte più veloci e in un minor numero di token usati per il ragionamento in una risposta.
conversation string Controlla la conversazione a cui viene aggiunta la risposta. I valori supportati sono auto e none.

Il valore auto (o non impostare 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.

L'impostazione predefinita è "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 essere lunghe al massimo 64 caratteri, mentre i valori al massimo 512 caratteri.

Ad esempio: metadata: { topic: "classification" }

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à di output per la sessione.

Valori consentiti: text, audio

Ad esempio, "modalities": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di output sia di testo che audio. Per abilitare solo l'output di 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_sampling_rate integer Frequenza di campionamento per l'audio di input.
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, 1,2]. Il valore predefinito è 0.8.
max_response_output_tokens integer o "inf" Numero massimo di token di output per ogni risposta dell'assistente, incluse 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".

RealtimeResponseStatusDetails

Field Type Description
type RealtimeResponseStatus Stato della risposta.

RealtimeRateLimitsItem

Field Type Description
name string Nome della proprietà limite di frequenza di 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.