Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voice Live
De Voice Live API biedt realtime, bidirectionele communicatie voor spraakgestuurde applicaties via WebSocket-verbindingen. Deze API ondersteunt geavanceerde functies zoals spraakherkenning, tekst-naar-spraak synthese, avatarstreaming, animatiedata en uitgebreide audioverwerkingsmogelijkheden.
De API gebruikt JSON-geformatteerde gebeurtenissen die via WebSocket-verbindingen worden verzonden om gesprekken, audiostreams, avatarinteracties en realtime antwoorden te beheren. Gebeurtenissen worden gecategoriseerd in clientgebeurtenissen (verzonden van client naar server) en serverevenementen (verzonden van server naar client).
Key Features
- Real-time audioverwerking: Ondersteuning voor meerdere audioformaten, waaronder PCM16 bij verschillende samplefrequenties en G.711-codecs
- Geavanceerde Spraakopties: OpenAI-stemmen, Azure aangepaste stemmen, Azure standaardstemmen en Azure persoonlijke stemmen
- Avatarintegratie: WebRTC-gebaseerde avatarstreaming met video, animatie en blendshapes
- Intelligent Turn Detection: Meerdere VAD-opties, waaronder Azure semantische VAD en server-side detectie
- Audioverbetering: Ingebouwde ruisonderdrukking en echo-onderdrukking
- Functieaanroep: Toolintegratie voor verbeterde conversatiemogelijkheden
- Flexibel sessiebeheer: Configureerbare uitvoermodaliteiten, instructies en responsparameters
Client Events
De Voice Live API ondersteunt de volgende clientgebeurtenissen die van de client naar de server kunnen worden gestuurd:
| Event | Description |
|---|---|
| session.update | Werk de sessieconfiguratie bij, inclusief spraak, uitvoermodaliteiten, beurtdetectie en andere instellingen |
| session.avatar.connect | Vestig avatarverbinding door client SDP te bieden voor WebRTC-onderhandeling |
| input_audio_buffer.append | Voeg audiobytes toe aan de input-audiobuffer |
| input_audio_buffer.commit | Commit de input-audiobuffer voor verwerking |
| input_audio_buffer.clear | Maak de input-audiobuffer schoon |
| conversation.item.create | Voeg een nieuw item toe aan de context van het gesprek |
| conversation.item.retrieve | Haal een specifiek item uit het gesprek |
| conversation.item.truncate | Kort een assistent-audiobericht af |
| conversation.item.delete | Verwijder een item uit het gesprek |
| response.create | Geef de server opdracht om een antwoord te maken via modelinferentie |
| response.cancel | Annuleer een lopende reactie |
session.update
Werk de configuratie van de sessie bij. Dit event kan op elk moment worden verzonden om instellingen zoals spraak, uitvoermodaliteiten, beurtdetectie, tools en andere sessieparameters aan te passen. Let op dat zodra een sessie is geïnitialiseerd met een bepaald model, deze niet naar een ander model kan worden veranderd.
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 | Moet "session.update" |
| session | RealtimeRequestSession | Sessieconfiguratieobject met velden om bij te werken |
Voorbeeld met Azure Custom Voice
{
"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
Stel een avatarverbinding tot stand door het SDP (Session Description Protocol) aanbod van de client voor WebRTC-mediaonderhandeling aan te bieden. Dit evenement is vereist bij het gebruik van avatarfuncties.
Event Structure
{
"type": "session.avatar.connect",
"client_sdp": "<client_sdp>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "session.avatar.connect" |
| client_sdp | string | De SDP-aanbieding van de client voor WebRTC-verbinding, gecodeerd met base64 |
input_audio_buffer.append
Voeg audiobytes toe aan de input-audiobuffer.
Event Structure
{
"type": "input_audio_buffer.append",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "input_audio_buffer.append" |
| audio | string | Base64-gecodeerde audiogegevens |
input_audio_buffer.commit
Committen de input-audiobuffer voor verwerking.
Event Structure
{
"type": "input_audio_buffer.commit"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "input_audio_buffer.commit" |
input_audio_buffer.clear
Maak de input-audiobuffer leeg.
Event Structure
{
"type": "input_audio_buffer.clear"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "input_audio_buffer.clear" |
conversation.item.create
Voeg een nieuw item toe aan de context van het gesprek. Dit kan berichten, functieaanroepen en functieoproepantwoorden omvatten. Items kunnen op specifieke plekken in de gespreksgeschiedenis worden ingevoegd.
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 | Moet "conversation.item.create" |
| previous_item_id | string | Optional. ID van het item waarna dit item moet worden ingevoegd. Indien niet vermeld, wordt toegevoegd aan het einde |
| item | RealtimeConversationRequestItem | Het punt om aan het gesprek toe te voegen |
Voorbeeld met audio-inhoud
{
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello there"
}
]
}
}
Voorbeeld met Function Call-uitvoer
{
"type": "conversation.item.create",
"item": {
"type": "function_call_output",
"call_id": "call_123",
"output": "{\"location\": \"San Francisco\", \"temperature\": \"70\"}"
}
}
Voorbeeld met MCP-goedkeuringsreactie
{
"type": "conversation.item.create",
"item": {
"type": "mcp_approval_response",
"approval_request_id": "mcp_approval_req_456",
"approve": true,
}
}
conversation.item.retrieve
Haal een specifiek item uit de gespreksgeschiedenis. Dit is nuttig voor het inspecteren van bewerkte audio na ruisonderdrukking en VAD.
Event Structure
{
"type": "conversation.item.retrieve",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "conversation.item.retrieve" |
| item_id | string | De ID van het item dat je moet ophalen |
conversation.item.truncate
Kort de audio-inhoud van een assistent-bericht in. Dit is handig om de weergave op een specifiek punt te stoppen en het begrip van de server te synchroniseren met de status van de client.
Event Structure
{
"type": "conversation.item.truncate",
"item_id": "item_ABC123",
"content_index": 0,
"audio_end_ms": 5000
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "conversation.item.truncate" |
| item_id | string | De ID van het assistent-berichtitem om af te snijden |
| content_index | integer | De index van het inhoudsgedeelte om af te kappen |
| audio_end_ms | integer | De duur tot welke het geluid moet worden ingekort, in milliseconden |
conversation.item.delete
Verwijder een item uit de gespreksgeschiedenis.
Event Structure
{
"type": "conversation.item.delete",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "conversation.item.delete" |
| item_id | string | De ID van het item dat verwijderd moet worden |
response.create
Geef de server opdracht een antwoord te maken via modelinferentie. Dit event kan responsspecifieke configuratie specificeren die de standaardinstellingen van sessies overschrijft.
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 | Moet "response.create" |
| response | RealtimeResponseOptions | Optionele responsconfiguratie die de standaardinstellingen van de sessie overschrijft |
Voorbeeld met Tool Choice
{
"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
}
}
Voorbeeld met animatie
{
"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
Annuleer een lopende reactie. Dit stopt onmiddellijk de responsgeneratie en de bijbehorende audio-uitvoer.
Event Structure
{
"type": "response.cancel"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "response.cancel" |
input_audio_buffer.append
Het clientevent input_audio_buffer.append wordt gebruikt om audiobytes toe te voegen aan de input-audiobuffer. De audiobuffer is tijdelijke opslag waar je naartoe kunt schrijven en later kunt commiten.
In Server VAD (Voice Activity Detection)-modus wordt de audiobuffer gebruikt om spraak te detecteren en beslist de server wanneer hij commit. Wanneer server-VAD is uitgeschakeld, kan de client kiezen hoeveel audio hij in elk event plaatst tot maximaal 15 MiB. Bijvoorbeeld, het streamen van kleinere stukken vanuit de client kan ervoor zorgen dat de VAD responsiever wordt.
In tegenstelling tot de meeste andere client-events stuurt de server geen bevestigingsantwoord naar client-event input_audio_buffer.append .
Event structure
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn input_audio_buffer.append. |
| audio | string | Base64-gecodeerde audiobytes. Deze waarde moet in het formaat zijn dat door het input_audio_format veld in de sessieconfiguratie wordt gespecificeerd. |
input_audio_buffer.clear
Het client-event input_audio_buffer.clear wordt gebruikt om de audiobytes in de buffer te wissen.
De server reageert met een input_audio_buffer.cleared gebeurtenis.
Event structure
{
"type": "input_audio_buffer.clear"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn input_audio_buffer.clear. |
input_audio_buffer.commit
Het client-event input_audio_buffer.commit wordt gebruikt om de gebruikersinvoer-audiobuffer te commien, die een nieuw gebruikersbericht in het gesprek aanmaakt. Audio wordt getranscribeerd als input_audio_transcription het voor de sessie is geconfigureerd.
In server VAD-modus hoeft de client dit event niet te verzenden, de server commit automatisch de audiobuffer. Zonder server VAD moet de client de audiobuffer committen om een gebruikersberichtitem te maken. Dit client-event veroorzaakt een foutmelding als de input-audiobuffer leeg is.
Het committen van de input-audiobuffer genereert geen respons van het model.
De server reageert met een input_audio_buffer.committed gebeurtenis.
Event structure
{
"type": "input_audio_buffer.commit"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn input_audio_buffer.commit. |
Server Events
De Voice Live API stuurt de volgende servergebeurtenissen om status, antwoorden en data naar de client te communiceren:
| Event | Description |
|---|---|
| error | Geeft aan dat er een fout is opgetreden tijdens de verwerking |
| warning | Geeft aan dat er een waarschuwing is opgetreden die de gespreksstroom niet onderbreekt |
| session.created | Verzonden wanneer een nieuwe sessie succesvol is opgezet |
| session.updated | Verzonden wanneer de sessieconfiguratie wordt bijgewerkt |
| session.avatar.connecting | Geeft aan dat er een avatar WebRTC-verbinding wordt gelegd |
| conversation.item.created | Verzonden wanneer er een nieuw item aan het gesprek wordt toegevoegd |
| conversation.item.retrieved | Reactie op conversation.item.retrieve verzoek |
| conversation.item.truncated | Bevestigt itemafkorting |
| conversation.item.deleted | Bevestigt verwijdering van het item |
| conversation.item.input_audio_transcription.completed | Input audiotranscriptie is voltooid |
| conversation.item.input_audio_transcription.delta | Streaming input audio-transcriptie |
| conversation.item.input_audio_transcription.failed | Input-audiotranscriptie faalde |
| input_audio_buffer.committed | De input-audiobuffer was bedoeld voor verwerking |
| input_audio_buffer.cleared | Input audio buffer werd gewist |
| input_audio_buffer.speech_started | Spraak gedetecteerd in input audio buffer (VAD) |
| input_audio_buffer.speech_stopped | Spraak eindigde in input audio buffer (VAD) |
| response.created | Nieuwe responsgeneratie is gestart |
| response.done | Responsgeneratie is voltooid |
| response.output_item.added | Nieuw uitvoeritem toegevoegd aan de respons |
| response.output_item.done | Het uitvoeritem is voltooid |
| response.content_part.added | Nieuw inhoudsdeel toegevoegd aan het uitvoerobject |
| response.content_part.done | Het inhoudsgedeelte is compleet |
| response.text.delta | Streaming van tekstinhoud van het model |
| response.text.done | De tekstinhoud is compleet |
| response.audio_transcript.delta | Streaming audiotranscript |
| response.audio_transcript.done | Audiotranscriptie is compleet |
| response.audio.delta | Audio-inhoud streamen van het model |
| response.audio.done | De audiocontent is compleet |
| response.animation_blendshapes.delta | Streaming animatie blendshapes-gegevens |
| response.animation_blendshapes.done | De animatie-blendshapes-data is compleet |
| response.audio_timestamp.delta | Streaming audio-tijdstempelinformatie |
| response.audio_timestamp.done | De informatie over de audio-tijdstempel is compleet |
| response.animation_viseme.delta | Streaming animatie-visemegegevens |
| response.animation_viseme.done | De animatievisemegegevens zijn compleet |
| response.function_call_arguments.delta | Streamingfunctie-aanroepargumenten |
| response.function_call_arguments.done | Functieaanroepargumenten zijn compleet |
| mcp_list_tools.in_progress | De lijst van MCP-gereedschappen is in uitvoering |
| mcp_list_tools.completed | MCP-gereedschapslijst is voltooid |
| mcp_list_tools.failed | MCP-toollijst is mislukt |
| response.mcp_call_arguments.delta | Streaming MCP-oproepargumenten |
| response.mcp_call_arguments.done | MCP-aanroepargumenten zijn compleet |
| response.mcp_call.in_progress | MCP-oproep is in uitvoering |
| response.mcp_call.completed | MCP-oproep is voltooid |
| response.mcp_call.failed | MCP-oproep is mislukt |
session.created
Verzonden wanneer een nieuwe sessie succesvol is opgezet. Dit is het eerste event dat na het verbinden met de API wordt ontvangen.
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 | Moet "session.created" |
| session | RealtimeResponseSession | Het gecreëerde sessieobject |
session.updated
Verzonden wanneer de sessieconfiguratie succesvol is bijgewerkt als reactie op een session.update clientgebeurtenis.
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 | Moet "session.updated" |
| session | RealtimeResponseSession | Het bijgewerkte sessieobject |
session.avatar.connecting
Geeft aan dat er een avatar WebRTC-verbinding wordt gelegd. Dit evenement wordt verzonden als reactie op een session.avatar.connect klantgebeurtenis.
Event Structure
{
"type": "session.avatar.connecting",
"server_sdp": "<server_sdp>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "session.avatar.connecting" |
conversation.item.created
Verzonden wanneer een nieuw item aan het gesprek wordt toegevoegd, hetzij via een klantgebeurtenis conversation.item.create , hetzij automatisch tijdens het genereren van reacties.
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 | Moet "conversation.item.created" |
| previous_item_id | string | ID van het item waarna dit item is ingebracht |
| item | RealtimeConversationResponseItem | Het aangemaakte conversatie-item |
Voorbeeld met audio-item
{
"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
Verzonden als reactie op een conversation.item.retrieve klantevenement, met het gevraagde gespreksonderwerp.
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 | Moet "conversation.item.retrieved" |
| item | RealtimeConversationResponseItem | Het teruggevonden gespreksitem |
conversation.item.truncated
Het serverevent conversation.item.truncated wordt teruggegeven wanneer de client een eerder assistent-audiobericht afsnijdt met een conversation.item.truncate gebeurtenis. Dit event wordt gebruikt om het begrip van de server van de audio te synchroniseren met de weergave van de client.
Dit event kortte de audio af en verwijderde de server-side teksttranscriptie om te garanderen dat er geen tekst in de context is die de gebruiker niet kent.
Event structure
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn conversation.item.truncated. |
| item_id | string | De ID van het assistent-bericht dat werd afgekapt. |
| content_index | integer | Het inhoudsdeel van de inhoud die werd ingekort. |
| audio_end_ms | integer | De duur waarin het geluid werd ingekort, in milliseconden. |
conversation.item.deleted
Verzonden als reactie op een conversation.item.delete klantgebeurtenis, waarin wordt bevestigd dat het opgegeven item uit het gesprek is verwijderd.
Event Structure
{
"type": "conversation.item.deleted",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Moet "conversation.item.deleted" |
| item_id | string | ID van het verwijderde item |
response.created
Verzonden wanneer een nieuwe responsgeneratie begint. Dit is het eerste evenement in een responsreeks.
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 | Moet "response.created" |
| response | RealtimeResponse | Het responsobject dat is gemaakt |
response.done
Verzonden wanneer de responsgeneratie voltooid is. Dit evenement bevat de uiteindelijke reactie met alle uitvoeritems en gebruiksstatistieken.
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 | Moet "response.done" |
| response | RealtimeResponse | Het voltooide responsobject |
response.output_item.added
Verzonden wanneer een nieuw uitvoeritem aan de respons wordt toegevoegd tijdens de generatie.
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 | Moet "response.output_item.added" |
| response_id | string | ID van de reactie waar dit item bij hoort |
| output_index | integer | Index van het item in de output array van het antwoord |
| item | RealtimeConversationResponseItem | Het uitvoeritem dat werd toegevoegd |
response.output_item.done
Verzonden wanneer een uitvoeritem voltooid is.
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 | Moet "response.output_item.done" |
| response_id | string | ID van de reactie waar dit item bij hoort |
| output_index | integer | Index van het item in de output array van het antwoord |
| item | RealtimeConversationResponseItem | Het voltooide uitvoeritem |
response.content_part.added
Het serverevent response.content_part.added wordt teruggegeven wanneer een nieuw inhoudsdeel wordt toegevoegd aan een assistent-berichtitem tijdens het genereren van reacties.
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 | Moet "response.content_part.added" |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item waar dit inhoudsdeel toe behoort |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van dit inhoudsdeel in het artikel |
| part | RealtimeContentPart | Het inhoudsgedeelte dat is toegevoegd |
response.content_part.done
Het serverevent response.content_part.done wordt teruggegeven wanneer een contentonderdeel is gestreamd in een assistent-berichtitem.
Dit evenement wordt ook teruggegeven wanneer een reactie wordt onderbroken, onvolledig of geannuleerd.
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 | Moet "response.content_part.done" |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item waar dit inhoudsdeel toe behoort |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van dit inhoudsdeel in het artikel |
| part | RealtimeContentPart | Het gedeelte over de voltooide inhoud |
response.text.delta
Tekstinhoud streamen vanuit het model. Incrementeel verzonden terwijl het model tekst genereert.
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 | Moet "response.text.delta" |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
| delta | string | Incrementele tekstinhoud |
response.text.done
Verstuurd wanneer de tekstgeneratie voltooid is.
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 | Moet "response.text.done" |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
| text | string | De volledige tekstinhoud |
response.audio.delta
Audio-inhoud van het model streamen. Audio wordt geleverd als base64-gecodeerde gegevens.
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 | Moet "response.audio.delta" |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
| delta | string | Base64-gecodeerde audiodata-chunk |
response.audio.done
Verzonden wanneer de audio-inhoud is gegenereerd.
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 | Moet "response.audio.done" |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
response.audio_transcript.delta
Streaming transcriptie van de gegenereerde audio-inhoud.
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 | Moet "response.audio_transcript.delta" |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
| delta | string | Incrementele transcripttekst |
response.audio_transcript.done
Verzonden wanneer het genereren van audiotranscripties voltooid is.
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 | Moet "response.audio_transcript.done" |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
| transcript | string | De volledige transcripttekst |
conversation.item.input_audio_transcription.completed
Het serverevent conversation.item.input_audio_transcription.completed is het resultaat van audio-transcriptie voor spraak die naar de audiobuffer is geschreven.
De transcriptie begint wanneer de input-audiobuffer door de client of server (in server_vad modus) wordt gecommitteerd. Transcriptie verloopt asynchroon met het creëren van reacties, dus dit event kan vóór of na de response events plaatsvinden.
Realtime API-modellen accepteren audio native, en dus is invoertranscriptie een apart proces dat wordt uitgevoerd op een apart spraakherkenningsmodel zoals whisper-1. Daardoor kan het transcript enigszins afwijken van de interpretatie van het model en moet het als een ruwe richtlijn worden behandeld.
Event structure
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn conversation.item.input_audio_transcription.completed. |
| item_id | string | De ID van het gebruikersbericht dat de audio bevat. |
| content_index | integer | De index van het inhoudsgedeelte met de audio. |
| transcript | string | De getranscribeerde tekst. |
conversation.item.input_audio_transcription.delta
Het serverevent conversation.item.input_audio_transcription.delta wordt teruggegeven wanneer invoer audiotranscriptie wordt geconfigureerd en er een transcriptieverzoek voor een gebruikersbericht in uitvoering is. Dit evenement levert gedeeltelijke transcriptieresultaten zodra deze beschikbaar zijn.
Event structure
{
"type": "conversation.item.input_audio_transcription.delta",
"item_id": "<item_id>",
"content_index": 0,
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn conversation.item.input_audio_transcription.delta. |
| item_id | string | De ID van het gebruikersbericht. |
| content_index | integer | De index van het inhoudsgedeelte met de audio. |
| delta | string | De incrementele transcriptietekst. |
conversation.item.input_audio_transcription.failed
Het serverevent conversation.item.input_audio_transcription.failed wordt teruggegeven wanneer invoer-audiotranscriptie wordt geconfigureerd en een transcriptieverzoek voor een gebruikersbericht mislukte. Dit evenement staat los van andere error gebeurtenissen, zodat de klant het gerelateerde item kan identificeren.
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 | Het gebeurtenistype moet zijn conversation.item.input_audio_transcription.failed. |
| item_id | string | De ID van het gebruikersbericht. |
| content_index | integer | De index van het inhoudsgedeelte met de audio. |
| error | object | Details van de transcriptiefout. Zie geneste eigenschappen in de volgende tabel. |
Error properties
| Field | Type | Description |
|---|---|---|
| type | string | Het soort fout. |
| code | string | Foutcode, als die er is. |
| message | string | Een door mensen leesbaar foutmelding. |
| param | string | Parameter gerelateerd aan de fout, als die er is. |
response.animation_blendshapes.delta
Het serverevent response.animation_blendshapes.delta wordt teruggegeven wanneer het model animatie-blendshapes-data genereert als onderdeel van een respons. Dit event levert incrementele blendshapes-data zodra deze beschikbaar komt.
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 | Het gebeurtenistype moet zijn response.animation_blendshapes.delta. |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
| frame_index | integer | Index van het eerste frame in deze batch frames |
| frames | array van array van float | Array van blendshape-frames, elk frame is een array van blendshape-waarden |
response.animation_blendshapes.done
Het serverevent response.animation_blendshapes.done wordt teruggegeven wanneer het model klaar is met het genereren van animatie-blendshapes-gegevens als onderdeel van een respons.
Event structure
{
"type": "response.animation_blendshapes.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn response.animation_blendshapes.done. |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
response.audio_timestamp.delta
Het serverevent response.audio_timestamp.delta wordt teruggegeven wanneer het model audio-timestampgegevens genereert als onderdeel van een reactie. Dit event levert incrementele tijdstempelgegevens voor uitlijning van audio en tekst zodra deze beschikbaar komt.
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 | Het gebeurtenistype moet zijn response.audio_timestamp.delta. |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
| audio_offset_ms | integer | Audioverstelling in milliseconden vanaf het begin van de audio |
| audio_duration_ms | integer | Duur van het audiosegment in milliseconden |
| text | string | Het tekstsegment dat overeenkomt met deze audio-tijdstempel |
| timestamp_type | string | Het type tijdstempel, momenteel alleen "woord", wordt ondersteund |
response.audio_timestamp.done
Verzonden wanneer de generatie van de audio-tijdstempel voltooid is.
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 | Het gebeurtenistype moet zijn response.audio_timestamp.done. |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
response.animation_viseme.delta
Het serverevent response.animation_viseme.delta wordt teruggegeven wanneer het model animatie-visemegegevens genereert als onderdeel van een respons. Dit evenement levert incrementele viseme-gegevens zodra deze beschikbaar komen.
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 | Het gebeurtenistype moet zijn response.animation_viseme.delta. |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
| audio_offset_ms | integer | Audioverstelling in milliseconden vanaf het begin van de audio |
| viseme_id | integer | De viseme ID die overeenkomt met de mondvorm voor animatie |
response.animation_viseme.done
Het serverevent response.animation_viseme.done wordt teruggegeven wanneer het model is klaar met het genereren van animatievisemegegevens als onderdeel van een respons.
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 | Het gebeurtenistype moet zijn response.animation_viseme.done. |
| response_id | string | ID van de reactie |
| item_id | string | ID van het item |
| output_index | integer | Index van het item in de reactie |
| content_index | integer | Index van het inhoudsgedeelte |
error
Het serverevent error wordt teruggegeven wanneer er een fout optreedt, wat een client- of serverprobleem kan zijn. De meeste fouten zijn herstelbaar en de sessie blijft open.
Event structure
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn error. |
| error | object | Details van de fout. Zie geneste eigenschappen in de volgende tabel. |
Error properties
| Field | Type | Description |
|---|---|---|
| type | string | Het soort fout. Bijvoorbeeld, "invalid_request_error" en "server_error" zijn fouttypes. |
| code | string | Foutcode, als die er is. |
| message | string | Een door mensen leesbaar foutmelding. |
| param | string | Parameter gerelateerd aan de fout, als die er is. |
| event_id | string | De ID van het clientevent dat de fout veroorzaakte, indien van toepassing. |
warning
Het serverevent warning wordt teruggegeven wanneer er een waarschuwing optreedt die de gespreksstroom niet onderbreekt. Waarschuwingen zijn informatief en de sessie verloopt normaal.
Event structure
{
"type": "warning",
"warning": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn warning. |
| warning | object | Details van de waarschuwing. Zie geneste eigenschappen in de volgende tabel. |
Warning properties
| Field | Type | Description |
|---|---|---|
| message | string | Een door mensen leesbaar waarschuwingsbericht. |
| code | string | Optional. Waarschuwingscode, als die er is. |
| param | string | Optional. Parameter gerelateerd aan de waarschuwing, als die er is. |
input_audio_buffer.cleared
Het serverevent input_audio_buffer.cleared wordt teruggegeven wanneer de client de input-audiobuffer wist met een input_audio_buffer.clear gebeurtenis.
Event structure
{
"type": "input_audio_buffer.cleared"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn input_audio_buffer.cleared. |
input_audio_buffer.committed
Het serverevent input_audio_buffer.committed wordt teruggegeven wanneer een input-audiobuffer wordt gecommit, hetzij door de client of automatisch in server VAD-modus. De item_id eigenschap is de ID van het aangemaakte gebruikersberichtitem. Zo wordt er ook een conversation.item.created gebeurtenis naar de cliënt gestuurd.
Event structure
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn input_audio_buffer.committed. |
| previous_item_id | string | De ID van het voorgaande item waarna het nieuwe item wordt ingevoegd. |
| item_id | string | De ID van het aangemaakte gebruikersberichtitem. |
input_audio_buffer.speech_started
Het serverevent input_audio_buffer.speech_started wordt teruggebracht in server_vad modus wanneer spraak wordt gedetecteerd in de audiobuffer. Dit gebeuren kan optreden telkens wanneer audio aan de buffer wordt toegevoegd (tenzij spraak al is gedetecteerd).
Note
De client wil dit evenement mogelijk gebruiken om de audioweergave te onderbreken of visuele feedback aan de gebruiker te geven.
De cliënt moet verwachten een input_audio_buffer.speech_stopped gebeurtenis te ontvangen wanneer de spraak stopt. De item_id eigenschap is de ID van het gebruikersberichtitem dat wordt aangemaakt wanneer spraak stopt. Deze item_id wordt ook meegenomen in het input_audio_buffer.speech_stopped evenement, tenzij de client handmatig de audiobuffer commiteert tijdens de VAD-activatie.
Event structure
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn input_audio_buffer.speech_started. |
| audio_start_ms | integer | Milliseconden vanaf het begin van alle audio die tijdens de sessie in de buffer werd geschreven toen spraak voor het eerst werd gedetecteerd. Deze eigenschap komt overeen met het begin van audio die naar het model wordt gestuurd, en omvat dus ook de geconfigureerde in prefix_padding_ms de sessie. |
| item_id | string | De ID van het gebruikersberichtitem dat wordt aangemaakt wanneer spraak stopt. |
input_audio_buffer.speech_stopped
Het serverevent input_audio_buffer.speech_stopped wordt teruggebracht in server_vad modus wanneer de server het einde van spraak in de audiobuffer detecteert.
De server stuurt ook een conversation.item.created event met het gebruikersberichtitem dat is gemaakt vanuit de audiobuffer.
Event structure
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn input_audio_buffer.speech_stopped. |
| audio_end_ms | integer | Milliseconden sinds de sessie begon toen het spreken stopte. Deze eigenschap komt overeen met het einde van audio die naar het model wordt gestuurd, en omvat dus ook de min_silence_duration_ms geconfigureerde in de sessie. |
| item_id | string | De ID van het aangemaakte gebruikersberichtitem. |
rate_limits.updated
Het serverevent rate_limits.updated wordt aan het begin van een reactie geactiveerd om de bijgewerkte snelheidslimieten aan te geven.
Wanneer een antwoord wordt aangemaakt, worden sommige tokens gereserveerd voor de uitvoertokens. De hier getoonde tarieflimieten weerspiegelen die reservering, die vervolgens wordt aangepast zodra de reactie is afgerond.
Event structure
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn rate_limits.updated. |
| rate_limits | array van RealtimeRateLimitsItem | De lijst met informatie over de snelheidslimiet. |
response.audio.delta
Het serverevent response.audio.delta wordt teruggegeven wanneer de door het model gegenereerde audio wordt bijgewerkt.
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 | Het gebeurtenistype moet zijn response.audio.delta. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het item. |
| output_index | integer | De index van het outputitem in het antwoord. |
| content_index | integer | De index van de inhoud in de contentarray van het item. |
| delta | string | Base64-gecodeerde audiodata-delta. |
response.audio.done
Het serverevent response.audio.done wordt teruggegeven wanneer de door het model gegenereerde audio is voltooid.
Dit evenement wordt ook teruggegeven wanneer een reactie wordt onderbroken, onvolledig of geannuleerd.
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 | Het gebeurtenistype moet zijn response.audio.done. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het item. |
| output_index | integer | De index van het outputitem in het antwoord. |
| content_index | integer | De index van de inhoud in de contentarray van het item. |
response.audio_transcript.delta
Het serverevent response.audio_transcript.delta wordt teruggegeven wanneer de door het model gegenereerde transcriptie van audio-uitvoer wordt bijgewerkt.
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 | Het gebeurtenistype moet zijn response.audio_transcript.delta. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het item. |
| output_index | integer | De index van het outputitem in het antwoord. |
| content_index | integer | De index van de inhoud in de contentarray van het item. |
| delta | string | De transcript delta. |
response.audio_transcript.done
Het serverevent response.audio_transcript.done wordt teruggegeven wanneer de door het model gegenereerde transcriptie van audio-uitvoer is gestreamd.
Dit evenement wordt ook teruggegeven wanneer een reactie wordt onderbroken, onvolledig of geannuleerd.
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 | Het gebeurtenistype moet zijn response.audio_transcript.done. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het item. |
| output_index | integer | De index van het outputitem in het antwoord. |
| content_index | integer | De index van de inhoud in de contentarray van het item. |
| transcript | string | De definitieve transcriptie van de audio. |
response.function_call_arguments.delta
Het serverevent response.function_call_arguments.delta wordt teruggegeven wanneer de door het model gegenereerde functie-aanroepargumenten worden bijgewerkt.
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 | Het gebeurtenistype moet zijn response.function_call_arguments.delta. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het functie-aanroepitem. |
| output_index | integer | De index van het outputitem in het antwoord. |
| call_id | string | De ID van de functieaanroep. |
| delta | string | De argumenten delta'en als een JSON-string. |
response.function_call_arguments.done
Het serverevent response.function_call_arguments.done wordt teruggegeven wanneer de door het model gegenereerde functie-aanroepargumenten klaar zijn met streamen.
Dit evenement wordt ook teruggegeven wanneer een reactie wordt onderbroken, onvolledig of geannuleerd.
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 | Het gebeurtenistype moet zijn response.function_call_arguments.done. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het functie-aanroepitem. |
| output_index | integer | De index van het outputitem in het antwoord. |
| call_id | string | De ID van de functieaanroep. |
| arguments | string | De eindargumenten als een JSON-string. |
mcp_list_tools.in_progress
Het serverevent mcp_list_tools.in_progress wordt teruggegeven wanneer de service begint met het vermelden van beschikbare tools van een mcp-server.
Event structure
{
"type": "mcp_list_tools.in_progress",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn mcp_list_tools.in_progress. |
| item_id | string | De ID van het MCP-lijstgereedschap dat wordt verwerkt. |
mcp_list_tools.completed
Het serverevent mcp_list_tools.completed wordt geretourneerd wanneer de service de beschikbare tools van een MCP-server heeft voltooid.
Event structure
{
"type": "mcp_list_tools.completed",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn mcp_list_tools.completed. |
| item_id | string | De ID van het MCP-lijstgereedschap dat wordt verwerkt. |
mcp_list_tools.failed
Het serverevent mcp_list_tools.failed wordt teruggegeven wanneer de service niet de beschikbare tools van een mcp-server vermeldt.
Event structure
{
"type": "mcp_list_tools.failed",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn mcp_list_tools.failed. |
| item_id | string | De ID van het MCP-lijstgereedschap dat wordt verwerkt. |
response.mcp_call_arguments.delta
Het serverevent response.mcp_call_arguments.delta wordt teruggegeven wanneer de door het model gegenereerde MCP-tool-aanroepargumenten worden bijgewerkt.
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 | Het gebeurtenistype moet zijn response.mcp_call_arguments.delta. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het MCP-tool-aanroepitem. |
| output_index | integer | De index van het outputitem in het antwoord. |
| delta | string | De argumenten delta'en als een JSON-string. |
response.mcp_call_arguments.done
Het serverevent response.mcp_call_arguments.done wordt teruggegeven wanneer de door het model gegenereerde mcp-tool-aanroepargumenten klaar zijn met streamen.
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 | Het gebeurtenistype moet zijn response.mcp_call_arguments.done. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het MCP-tool-aanroepitem. |
| output_index | integer | De index van het outputitem in het antwoord. |
| arguments | string | De eindargumenten als een JSON-string. |
response.mcp_call.in_progress
Het serverevent response.mcp_call.in_progress wordt teruggegeven wanneer een MCP-tool-aanroep begint te verwerken.
Event structure
{
"type": "response.mcp_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn response.mcp_call.in_progress. |
| item_id | string | De ID van het MCP-tool-aanroepitem. |
| output_index | integer | De index van het outputitem in het antwoord. |
response.mcp_call.completed
Het serverevent response.mcp_call.completed wordt teruggegeven wanneer een MCP-toolaanroep succesvol wordt voltooid.
Event structure
{
"type": "response.mcp_call.completed",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn response.mcp_call.completed. |
| item_id | string | De ID van het MCP-tool-aanroepitem. |
| output_index | integer | De index van het outputitem in het antwoord. |
response.mcp_call.failed
Het serverevent response.mcp_call.failed wordt teruggegeven wanneer een MCP-toolaanroep faalt.
Event structure
{
"type": "response.mcp_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn response.mcp_call.failed. |
| item_id | string | De ID van het MCP-tool-aanroepitem. |
| output_index | integer | De index van het outputitem in het antwoord. |
response.output_item.added
Het serverevent response.output_item.added wordt teruggegeven wanneer een nieuw item wordt aangemaakt tijdens het genereren van reacties.
Event structure
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn response.output_item.added. |
| response_id | string | De ID van het antwoord waartoe het item behoort. |
| output_index | integer | De index van het outputitem in het antwoord. |
| item | RealtimeConversationResponseItem | Het item dat is toegevoegd. |
response.output_item.done
Het serverevent response.output_item.done wordt teruggegeven wanneer een item klaar is met streamen.
Dit evenement wordt ook teruggegeven wanneer een reactie wordt onderbroken, onvolledig of geannuleerd.
Event structure
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Het gebeurtenistype moet zijn response.output_item.done. |
| response_id | string | De ID van het antwoord waartoe het item behoort. |
| output_index | integer | De index van het outputitem in het antwoord. |
| item | RealtimeConversationResponseItem | Het item dat gestreamd wordt. |
response.text.delta
Het serverevent response.text.delta wordt teruggegeven wanneer de door het model gegenereerde tekst wordt bijgewerkt. De tekst komt overeen met het text inhoudsgedeelte van een assistent-berichtitem.
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 | Het gebeurtenistype moet zijn response.text.delta. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het item. |
| output_index | integer | De index van het outputitem in het antwoord. |
| content_index | integer | De index van de inhoud in de contentarray van het item. |
| delta | string | De tekstdelta. |
response.text.done
Het serverevent response.text.done wordt teruggegeven wanneer de door het model gegenereerde tekst is gestreamd. De tekst komt overeen met het text inhoudsgedeelte van een assistent-berichtitem.
Dit evenement wordt ook teruggegeven wanneer een reactie wordt onderbroken, onvolledig of geannuleerd.
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 | Het gebeurtenistype moet zijn response.text.done. |
| response_id | string | De ID van de reactie. |
| item_id | string | De ID van het item. |
| output_index | integer | De index van het outputitem in het antwoord. |
| content_index | integer | De index van de inhoud in de contentarray van het item. |
| text | string | De uiteindelijke tekstinhoud. |
Components
Audio Formats
RealtimeAudioFormat
Basisaudioformaat dat wordt gebruikt voor invoeraudio.
Allowed Values:
-
pcm16- 16-bit PCM-audioformaat -
g711_ulaw- G.711 μ-law audioformaat -
g711_alaw- G.711 A-law audioformaat
RealtimeOutputAudioFormat
Audioformaat wordt gebruikt voor uitvoer van audio met specifieke samplefrequenties.
Allowed Values:
-
pcm16- 16-bit PCM audioformaat met standaard bemonsteringssnelheid (24kHz) -
pcm16_8000hz- 16-bit PCM-audioformaat met 8kHz samplefrequentie -
pcm16_16000hz- 16-bit PCM-audioformaat met een samplefrequentie van 16kHz -
g711_ulaw- G.711 μ-law (mu-law) audioformaat met 8kHz samplefrequentie -
g711_alaw- G.711 A-law audioformaat met 8kHz samplefrequentie
RealtimeAudioInputTranscriptionSettings
Configuratie voor input audio transcriptie.
| Field | Type | Description |
|---|---|---|
| model | string | Het transcriptiemodel. Ondersteund met gpt-realtime en gpt-realtime-mini:whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, . gpt-4o-transcribe-diarizeOndersteund met alle andere modellen en agenten: azure-speech, mai-transcribe-1 (preview) |
| language | string | Optionele taalcode in BCP-47 (bijvoorbeeld en-US), of ISO-639-1 (bijvoorbeeld en), of meerdere talen met automatische detectie (bijvoorbeeld en,zh).Zie Azure spraak-naar-tekst ondersteunde talen voor aanbevolen gebruik van deze instelling. |
| custom_speech | object | Optionele configuratie voor aangepaste spraakmodellen, alleen geldig voor azure-speech model. |
| phrase_list | string[] | Optionele lijst met zinsaanwijzingen voor biasherkenning, alleen geldig voor azure-speech model. |
| prompt | string | Optionele prompttekst om transcriptie te begeleiden, alleen geldig voor whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe en gpt-4o-transcribe-diarize modellen. |
RealtimeInputAudioNoiseReductionSettings
Dit kan zijn:
RealtimeOpenAINoiseReduction
OpenAI ruisonderdrukkingsconfiguratie met expliciet typeveld, alleen beschikbaar voor gpt-realtime en gpt-realtime-mini modellen.
| Field | Type | Description |
|---|---|---|
| type | string |
near_field Of far_field |
RealtimeAzureDeepNoiseSuppression
Configuratie voor input-audio ruisonderdrukking.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "azure_deep_noise_suppression" |
RealtimeInputAudioEchoCancellationSettings
Echo-onderdrukkingsconfiguratie voor server-side audioverwerking.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "server_echo_cancellation" |
Voice Configuration
RealtimeVoice
Vereniging van alle ondersteunde spraakconfiguraties.
Dit kan zijn:
- Een RealtimeOpenAIVoice-object
- An RealtimeAzureVoice object
RealtimeOpenAIVoice
OpenAI spraakconfiguratie met expliciet type veld.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "openai" |
| name | string | OpenAI spraaknaam: , , , , , echo, sage, shimmerversemarincoralballadashalloycedar |
RealtimeAzureVoice
Base voor Azure voice-configuraties. Dit is een gediscrimineerde vakbond met verschillende typen:
RealtimeAzureStandardVoice
Azure standard voice configuration.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "azure-standard" |
| name | string | Stemnaam (kan niet leeg zijn) |
| temperature | number | Optional. Temperatuur tussen 0,0 en 1,0 |
| custom_lexicon_url | string | Optional. URL naar aangepast lexicon |
| custom_text_normalization_url | string | Optional. URL naar aangepaste tekstnormalisatie |
| prefer_locales | string[] | Optional. Preferred locales Voorkeurslocaties veranderen de accenten van talen. Als de waarde niet is ingesteld, gebruikt TTS het standaardaccent van elke taal. bijvoorbeeld: wanneer TTS Engels spreekt, gebruikt het het Amerikaanse Engelse accent. En als je Spaans spreekt, gebruikt het het Mexicaanse Spaanse accent. Als je de prefer_locales ["en-GB", "es-ES"]op zet, is het Engelse accent Brits-Engels en het Spaanse accent is Europees Spaans. En TTS kan ook andere talen spreken zoals Frans, Chinees, enzovoort. |
| locale | string | Optional. Locale specification Handhaaf de locatie voor TTS-uitvoer. Als het niet is ingesteld, zal TTS altijd de betreffende locatie gebruiken om te spreken. Stel bijvoorbeeld locale in op en-US, TTS zal altijd het Amerikaanse Engelse accent gebruiken om de tekstinhoud te spreken, zelfs als de tekst in een andere taal is. En TTS geeft stilte als de tekstinhoud in het Chinees is. |
| style | string | Optional. Voice style |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Aanpassing van de spraaksnelheid |
| volume | string | Optional. Volume adjustment |
RealtimeAzureCustomVoice
Azure aangepaste spraakconfiguratie (voorkeur voor aangepaste stemmen).
| Field | Type | Description |
|---|---|---|
| type | string | Moet "azure-custom" |
| name | string | Stemnaam (kan niet leeg zijn) |
| endpoint_id | string | Endpoint-ID (kan niet leeg zijn) |
| temperature | number | Optional. Temperatuur tussen 0,0 en 1,0 |
| custom_lexicon_url | string | Optional. URL naar aangepast lexicon |
| custom_text_normalization_url | string | Optional. URL naar aangepaste tekstnormalisatie |
| prefer_locales | string[] | Optional. Preferred locales Voorkeurslocaties veranderen de accenten van talen. Als de waarde niet is ingesteld, gebruikt TTS het standaardaccent van elke taal. Bijvoorbeeld: wanneer TTS Engels spreekt, gebruikt het het Amerikaanse Engelse accent. En als je Spaans spreekt, gebruikt het het Mexicaanse Spaanse accent. Als je de prefer_locales ["en-GB", "es-ES"]op zet, is het Engelse accent Brits-Engels en het Spaanse accent is Europees Spaans. En TTS kan ook andere talen spreken zoals Frans, Chinees, enzovoort. |
| locale | string | Optional. Locale specification Handhaaf de locatie voor TTS-uitvoer. Als het niet is ingesteld, zal TTS altijd de betreffende locatie gebruiken om te spreken. Stel bijvoorbeeld locale in op en-US, TTS zal altijd een Amerikaans Engels accent gebruiken om de tekst uit te spreken, zelfs als de tekst in een andere taal is. En TTS geeft stilte als de tekstinhoud in het Chinees is. |
| style | string | Optional. Voice style |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Aanpassing van de spraaksnelheid |
| 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
Azure personal voice configuration.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "azure-personal" |
| name | string | Stemnaam (kan niet leeg zijn) |
| temperature | number | Optional. Temperatuur tussen 0,0 en 1,0 |
| model | string | Onderliggend basismodel: DragonLatestNeural, DragonHDOmniLatestNeural, MAI-Voice-1 |
| custom_lexicon_url | string | Optional. URL naar aangepast lexicon |
| custom_text_normalization_url | string | Optional. URL naar aangepaste tekstnormalisatie |
| prefer_locales | string[] | Optional. Preferred locales Voorkeurslocaties veranderen de accenten van talen. Als de waarde niet is ingesteld, gebruikt TTS het standaardaccent van elke taal. Bijvoorbeeld, wanneer TTS Engels spreekt, wordt het Amerikaanse Engelse accent gebruikt. En als je Spaans spreekt, gebruikt het het Mexicaanse Spaanse accent. Als je de prefer_locales ["en-GB", "es-ES"]op zet, is het Engelse accent Brits-Engels en het Spaanse accent is Europees Spaans. En TTS kan ook andere talen spreken zoals Frans, Chinees, enzovoort. |
| locale | string | Optional. Locale specification Handhaaf de locatie voor TTS-uitvoer. Als het niet is ingesteld, zal TTS altijd de betreffende locatie gebruiken om te spreken. Stel bijvoorbeeld locale in op en-US, TTS zal altijd een Amerikaans Engels accent gebruiken om de tekst uit te spreken, zelfs als de tekst in een andere taal is. En TTS geeft stilte als de tekstinhoud in het Chinees is. |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Aanpassing van de spraaksnelheid |
| volume | string | Optional. Volume adjustment |
Turn Detection
RealtimeTurnDetection
Configuratie voor bochtdetectie. Dit is een gediscrimineerde vakbond die meerdere VAD-typen ondersteunt.
RealtimeServerVAD
Basis VAD-gebaseerde beurtdetectie.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "server_vad" |
| threshold | float | Optional. Activatiedrempel (0,0-1,0) (standaard: 0,5) |
| prefix_padding_ms | integer | Optional. Audio-opvulling voordat de spraak begint (standaard: 300) |
| silence_duration_ms | integer | Optional. Stilteduur tot spraak beëindigen (standaard: 500) |
| speech_duration_ms | integer | Optional. Minimale spreekduur (standaard: 200) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Configuratie voor einde-van-uitspraakdetectie |
| create_response | boolean | Optional. Schakel in of uit of er een reactie wordt gegenereerd (standaard: waar). |
| interrupt_response | boolean | Optional. In- of uitbargende onderbreking inschakelen (standaard: waar). |
| auto_truncate | boolean | Optional. Auto-afsnijden bij onderbreking (standaard: vals) |
RealtimeOpenAISemanticVAD
OpenAI semantische VAD-configuratie die een model gebruikt om te bepalen wanneer de gebruiker is uitgesproken. Alleen beschikbaar voor gpt-realtime en gpt-realtime-mini modellen.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "semantic_vad" |
| eagerness | string | Optional. Dit is een manier om te bepalen hoe gretig het model is om de gebruiker te onderbreken, waarmee de maximale wachttijd wordt afgestemd. In transcriptiemodus, zelfs als het model niet reageert, beïnvloedt dat hoe de audio wordt gehuld. De volgende waarden zijn toegestaan: - auto (standaard) is equivalent aan medium,- low laat de gebruiker de tijd nemen om te spreken,- high Ik zal de audio zo snel mogelijk in stukken zetten.Als je wilt dat het model vaker reageert in gespreksmodus, of transcriptiegebeurtenissen sneller teruggeeft in transcriptiemodus, kun je eagerness instellen op high.Aan de andere kant, als je de gebruiker ononderbroken wilt laten spreken in gespreksmodus, of als je grotere transcriptstukken in transcriptiemodus wilt, kun je de gretigheid instellen op low. |
| create_response | boolean | Optional. Schakel in of uit of er een reactie wordt gegenereerd (standaard: waar). |
| interrupt_response | boolean | Optional. In- of uitbargende onderbreking inschakelen (standaard: waar). |
RealtimeAzureSemanticVAD
Azure semantische VAD, die bepaalt wanneer de gebruiker begint te spreken met behulp van een semantisch spraakmodel, wat robuustere detectie biedt in ruisachtige omgevingen.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "azure_semantic_vad" |
| threshold | float | Optional. Activatiedrempel (standaard: 0,5) |
| prefix_padding_ms | integer | Optional. Audio-opvulling vóór spraak (standaard: 300) |
| silence_duration_ms | integer | Optional. Stilteduur voor het einde van de spraak (standaard: 500) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. EOU detectieconfiguratie |
| speech_duration_ms | integer | Optional. Minimale spreekduur (standaard: 80) |
| remove_filler_words | boolean | Optional. Verwijder opvulwoorden (standaard: onwaar) |
| languages | string[] | Optional. Supports English. Andere talen worden genegeerd (standaard: geen). |
| create_response | boolean | Optional. Schakel in of uit of er een reactie wordt gegenereerd (standaard: waar). |
| interrupt_response | boolean | Optional. In- of uitbargende onderbreking inschakelen (standaard: waar). |
| auto_truncate | boolean | Optional. Auto-afsnijden bij onderbreking (standaard: vals) |
RealtimeAzureSemanticVADMultilingual
Azure semantic VAD (default variant).
| Field | Type | Description |
|---|---|---|
| type | string | Moet "azure_semantic_vad_multilingual" |
| threshold | float | Optional. Activatiedrempel (standaard: 0,5) |
| prefix_padding_ms | integer | Optional. Audio-opvulling vóór spraak (standaard: 300) |
| silence_duration_ms | integer | Optional. Stilteduur voor het einde van de spraak (standaard: 500) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. EOU detectieconfiguratie |
| speech_duration_ms | integer | Optional. Minimale spreekduur (standaard: 80) |
| remove_filler_words | boolean | Optional. Verwijder opvulwoorden (standaard: onwaar) |
| languages | string[] | Optional. Ondersteunt Engels, Spaans, Frans, Italiaans, Duits (DE), Japans, Portugees, Chinees, Koreaans en Hindi. Andere talen worden genegeerd (standaard: geen). |
| create_response | boolean | Optional. Schakel in of uit of er een reactie wordt gegenereerd (standaard: waar). |
| interrupt_response | boolean | Optional. In- of uitbargende onderbreking inschakelen (standaard: waar). |
| auto_truncate | boolean | Optional. Auto-afsnijden bij onderbreking (standaard: vals) |
RealtimeEOUDetection
Azure End-of-Utterance (EOU) kon aangeven wanneer de eindgebruiker stopte met spreken, terwijl natuurlijke pauzes werden toegestaan. Detectie van eind-van-uiting kan voortijdige eind-van-bocht-richtingaanwijzers aanzienlijk verminderen zonder door de gebruiker waarneembare latentie toe te voegen.
| Field | Type | Description |
|---|---|---|
| model | string | Kan semantic_detection_v1 Engels ondersteunen of semantic_detection_v1_multilingual Engels, Spaans, Frans, Italiaans, Duits (DE), Japans, Portugees, Chinees, Koreaans, Hindi |
| threshold_level | string | Optional. Detectiedrempelniveau (low, medium, , high en default), de standaardinstelling is medium gelijk aan de instelling. Bij een lagere instelling is de kans dat de zin voltooid is hoger. |
| timeout_ms | number | Optional. Maximale tijd in milliseconden om te wachten op meer gebruikersspraak. Standaard is het 1000 ms. |
Avatar Configuration
RealtimeAvatarConfig
Configuratie voor avatarstreaming en gedrag.
| Field | Type | Description |
|---|---|---|
| ice_servers | RealtimeIceServer[] | Optional. ICE-servers voor WebRTC |
| character | string | Personagenaam of ID voor de avatar |
| style | string | Optional. Avatarstijl (emotionele toon, spreekstijl) |
| customized | boolean | Of de avatar is aangepast |
| video | RealtimeVideoParams | Optional. Video configuration |
| scene | RealtimeAvatarScene | Optional. Configuratie voor het zoomniveau, positie, rotatie en bewegingsamplitude van de avatar in het videoframe |
| output_protocol | string | Optional. Outputprotocol voor avatarstreaming. Standaard is webrtc |
| output_audit_audio | boolean | Optional. Wanneer ingeschakeld, stuurt het audio via WebSocket door voor review-/debuggingdoeleinden, zelfs wanneer avatar-uitvoer via WebRTC wordt geleverd. Standaard is false |
RealtimeIceServer
ICE-serverconfiguratie voor WebRTC-verbindingsonderhandeling.
| Field | Type | Description |
|---|---|---|
| urls | string[] | ICE-server-URL's (TURN of STUN-eindpunten) |
| username | string | Optional. Gebruikersnaam voor authenticatie |
| credential | string | Optional. Credential voor authenticatie |
RealtimeVideoParams
Videostreamingparameters voor avatar.
| Field | Type | Description |
|---|---|---|
| bitrate | integer | Optional. Bitrate in bits per seconde (standaard: 2000000) |
| codec | string | Optional. Videocodec, momenteel alleen h264 (standaard: h264) |
| crop | RealtimeVideoCrop | Optional. Cropping settings |
| resolution | RealtimeVideoResolution | Optional. Resolution settings |
RealtimeVideoCrop
Video crop rechthoekdefinitie.
| Field | Type | Description |
|---|---|---|
| top_left | integer[] | Linker bovenhoek [x, y], niet-negatieve gehele getallen |
| bottom_right | integer[] | Rechtsonder [x, y], niet-negatieve gehele getallen |
RealtimeVideoResolution
Videoresolutiespecificatie.
| Field | Type | Description |
|---|---|---|
| width | integer | Breedte in pixels (moet 0 zijn > ) |
| height | integer | Hoogte in pixels (moet 0 zijn > ) |
RealtimeAvatarScene
Configuratie voor het zoomniveau, positie, rotatie en bewegingsamplitude van de avatar in het videoframe.
| Field | Type | Description |
|---|---|---|
| zoom | number | Optional. Zoomniveau van de avatar. Het bereik is (0, +∞). Waarden minder dan 1 uitzoomen, waarden groter dan 1 inzoomen. Standaard is 0 |
| position_x | number | Optional. Horizontale positie van de avatar. Het bereik is [-1, 1], als proportie van de framebreedte. Negatieve waarden bewegen naar links, positieve waarden bewegen naar rechts. Standaard is 0 |
| position_y | number | Optional. Verticale positie van de avatar. Het bereik is [-1, 1], als proportie van de framehoogte. Negatieve waarden stijgen, positieve waarden dalen. Standaard is 0 |
| rotation_x | number | Optional. Rotatie rond de X-as (pitch). Het bereik is [-π, π] in radialen. Negatieve waarden roteren omhoog, positieve waarden roteren omlaag. Standaard is 0 |
| rotation_y | number | Optional. Rotatie rond de Y-as (yaw). Het bereik is [-π, π] in radialen. Negatieve waarden draaien naar links, positieve waarden roteren naar rechts. Standaard is 0 |
| rotation_z | number | Optional. Rotatie rond de Z-as (rol). Het bereik is [-π, π] in radialen. Negatieve waarden draaien tegen de klok in, positieve waarden draaien met de klok mee. Standaard is 0 |
| amplitude | number | Optional. Amplitude van de avatarbeweging. Het bereik is (0, 1]. Waarden in (0, 1) betekenen verminderde amplitude, 1 betekent volledige amplitude. Standaard is 0 |
Animation Configuration
RealtimeAnimation
Configuratie voor animatie-uitvoer, inclusief blendshapes en visemes.
| Field | Type | Description |
|---|---|---|
| model_name | string | Optional. Naam van het animatiemodel (standaard: "default") |
| outputs | RealtimeAnimationOutputType[] | Optional. Uitvoertypes (standaard: ["blendshapes"]) |
RealtimeAnimationOutputType
Soorten animatiedata om uit te voeren.
Allowed Values:
-
blendshapes- Gegevens over gezichtsblendshapes -
viseme_id- Viseme-identificatiegegevens
Session Configuration
RealtimeRequestSession
Sessieconfiguratieobject gebruikt in session.update gebeurtenissen.
| Field | Type | Description |
|---|---|---|
| model | string | Optional. Modelnaam om te gebruiken |
| modalities | RealtimeModality[] | Optional. De ondersteunde outputmodaliteiten voor de sessie. Bijvoorbeeld, "modaliteiten": ["tekst", "audio"] is de standaardinstelling die zowel tekst- als audio-uitvoermodaliteiten mogelijk maakt. Om alleen tekstuitvoer mogelijk te maken, stel je "modaliteiten" in: ["tekst"]. Om avatar-uitvoer mogelijk te maken, stel je "modaliteiten" in: ["tekst", "audio", "avatar"]. Je kunt niet alleen audio inschakelen. |
| animation | RealtimeAnimation | Optional. Animation configuration |
| voice | RealtimeVoice | Optional. Voice configuration |
| instructions | string | Optional. Systeeminstructies voor het model. De instructies kunnen de uitvoeraudio sturen als OpenAI-stemmen worden gebruikt, maar zijn mogelijk niet van toepassing op Azure-stemmen. |
| input_audio_sampling_rate | integer | Optional. Invoer audio samplefrequentie in Hz (standaard: 24000 voor pcm16, 8000 voor g711_ulaw en g711_alaw) |
| input_audio_format | RealtimeAudioFormat | Optional. Invoer audioformaat (standaard: pcm16) |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Uitvoer audioformaat (standaard: pcm16) |
| input_audio_noise_reduction | RealtimeInputAudioNoiseReductionSettings | Configuratie voor input-audio ruisonderdrukking. Dit kan op null worden gezet om uit te schakelen. Ruisonderdrukking filtert audio die aan de input-audiobuffer wordt toegevoegd voordat deze naar VAD en het model wordt gestuurd. Het filteren van audio kan de nauwkeurigheid van VAD en draaidetectie verbeteren (waardoor valse positieven worden verminderd) en de prestaties worden gemodelleerd door de perceptie van de invoeraudio te verbeteren. Deze eigenschap is ongedaan. |
| input_audio_echo_cancellation | RealtimeInputAudioEchoCancellationSettings | Configuratie voor input audio echo-onderdrukking. Dit kan op null worden gezet om uit te schakelen. Deze servicezijde echo-onderdrukking kan helpen de kwaliteit van het ingangsgeluid te verbeteren door de impact van echo en nagalm te verminderen. Deze eigenschap is ongedaan. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | De configuratie voor input audio transcriptie. De configuratie is standaard null (uit). Input-audiotranscriptie is niet native in het model, omdat het model direct audio consumeert. Transcriptie loopt asynchroon door het /audio/transcriptions eindpunt en moet worden behandeld als geleiding van de invoeraudio-inhoud in plaats van precies wat het model hoorde. Voor extra begeleiding bij de transcriptiedienst kan de cliënt optioneel de taal en prompt voor transcriptie instellen.Deze eigenschap is ongedaan. |
| turn_detection | RealtimeTurnDetection | De instellingen voor beurtdetectie voor de sessie. Dit kan op null worden gezet om uit te schakelen. |
| tools | array van RealtimeTool | De tools die het model voor de sessie beschikbaar heeft. |
| tool_choice | RealtimeToolChoice | De keuze voor de sessie. Toegestane waarden: auto, none, en required. Anders kun je de naam van de functie specificeren die gebruikt moet worden. |
| temperature | number | De bemonsteringstemperatuur voor het model. De toegestane temperatuurwaarden zijn beperkt tot [0,6, 1,2]. Standaard is 0,8. |
| max_response_output_tokens | geheel getal of "inf" | Het maximale aantal outputtokens per assistentrespons, inclusief toolcalls. Specificeer een geheel getal tussen 1 en 4096 om het aantal outputtokens te beperken. Anders zet je de waarde op "inf" om het maximale aantal tokens mogelijk te maken. Om bijvoorbeeld de output tokens te beperken tot 1000, stel "max_response_output_tokens": 1000je . Om het maximale aantal tokens toe te staan, stel "max_response_output_tokens": "inf"je .Standaard is . "inf" |
| reasoning_effort | ReasoningEffort | Optional. Beperkt de inspanning van redeneren voor redeneermodellen. Bekijk Azure Foundry doc voor meer details. Het verminderen van de redeneerinspanning kan leiden tot snellere antwoorden en minder tokens die worden gebruikt voor redeneren in een antwoord. |
| avatar | RealtimeAvatarConfig | Optional. Avatar configuration |
| output_audio_timestamp_types | RealtimeAudioTimestampType[] | Optional. Tijdstempeltypen voor uitvoeraudio |
RealtimeModality
Ondersteunde sessie-uitvoermodaliteiten.
Allowed Values:
-
text- Tekstuitvoer -
audio- Audio-uitgang -
animation- Animatie-uitvoer -
avatar- Avatar video-uitgang
RealtimeAudioTimestampType
Uitvoertijdstempeltypes die worden ondersteund in audioresponsinhoud.
Allowed Values:
-
word- Tijdstempels per woord in de uitvoeraudio
ReasoningEffort
Beperkt de inspanning van redeneren voor redeneermodellen. Bekijk de modeldocumentatie voor ondersteunde waarden voor elk model. Het verminderen van de redeneerinspanning kan leiden tot snellere antwoorden en minder tokens die worden gebruikt voor redeneren in een antwoord.
Allowed Values:
-
none- Geen reden -
minimal- Minimale redeneerinspanning -
low- Lage redeneerinspanning - snellere antwoorden met minder redeneren -
medium- Medium redeneerinspanning - gebalanceerd tussen snelheid en redeneerdiepte -
high- Hoge redeneerinspanning - grondiger redeneren, kan langer duren -
xhigh- Extra hoge redeneerinspanning - maximale redeneerdiepte
Tool Configuration
We ondersteunen twee soorten tools: function calling en MCP-tools waarmee je verbinding maakt met een mcp-server.
RealtimeTool
Tooldefinitie voor functieaanroep.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "function" |
| name | string | Function name |
| description | string | Functiebeschrijving en gebruiksrichtlijnen |
| parameters | object | Functieparameters als JSON-schemaobject |
RealtimeToolChoice
Strategie voor het selecteren van tools.
Dit kan zijn:
-
"auto"- Laat het model kiezen -
"none"- Gebruik geen gereedschap -
"required"- Moet een gereedschap gebruiken -
{ "type": "function", "name": "function_name" }- Gebruik specifieke functie
MCPTool
MCP-toolconfiguratie.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "mcp" |
| server_label | string | Required. Het label van de MCP-server. |
| server_url | string | Required. De server-URL van de MCP-server. |
| allowed_tools | string[] | Optional. De lijst met toegestane toolnamen. Indien niet gespecificeerd, zijn alle gereedschappen toegestaan. |
| headers | object | Optional. Extra headers om op te nemen in MCP-verzoeken. |
| authorization | string | Optional. Autorisatietoken voor MCP-verzoeken. |
| require_approval | String of woordenboek | Optional. Als deze op een string wordt gezet, moet de waarde of alwayszijnnever. Als het op een woordenboek staat, moet het in formaat {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}zijn. Standaardwaarde is always. Wanneer ingesteld op always, vereist de uitvoering van het tool goedkeuring, mcp_approval_request wordt naar de client gestuurd wanneer het mcp-argument is voltooid, en wordt pas uitgevoerd wanneer mcp_approval_response met approve=true is ontvangen. Wanneer ingesteld op never, wordt het hulpmiddel automatisch uitgevoerd zonder goedkeuring. |
RealtimeConversationResponseItem
Dit is een unietype dat een van de volgende kan zijn:
RealtimeConversationUserMessageItem
Gebruikersbericht.
| Field | Type | Description |
|---|---|---|
| id | string | De unieke ID van het item. |
| type | string | Moet "message" |
| object | string | Moet "conversation.item" |
| role | string | Moet "user" |
| content | RealtimeInputTextContentPart | De inhoud van het bericht. |
| status | RealtimeItemStatus | De status van het item. |
RealtimeConversationAssistantMessageItem
Assistent-bericht.
| Field | Type | Description |
|---|---|---|
| id | string | De unieke ID van het item. |
| type | string | Moet "message" |
| object | string | Moet "conversation.item" |
| role | string | Moet "assistant" |
| content | RealtimeOutputTextContentPart[] of RealtimeOutputAudioContentPart[] | De inhoud van het bericht. |
| status | RealtimeItemStatus | De status van het item. |
RealtimeConversationSystemMessageItem
Systeembericht.
| Field | Type | Description |
|---|---|---|
| id | string | De unieke ID van het item. |
| type | string | Moet "message" |
| object | string | Moet "conversation.item" |
| role | string | Moet "system" |
| content | RealtimeInputTextContentPart[] | De inhoud van het bericht. |
| status | RealtimeItemStatus | De status van het item. |
RealtimeConversationFunctionCallItem
Functie-aanroepverzoekitem.
| Field | Type | Description |
|---|---|---|
| id | string | De unieke ID van het item. |
| type | string | Moet "function_call" |
| object | string | Moet "conversation.item" |
| name | string | De naam van de functie die je moet aanroepen. |
| arguments | string | De argumenten voor de functie roepen aan als een JSON-string. |
| call_id | string | De unieke ID van de functieaanroep. |
| status | RealtimeItemStatus | De status van het item. |
RealtimeConversationFunctionCallOutputItem
Functie-oproepresponsitem.
| Field | Type | Description |
|---|---|---|
| id | string | De unieke ID van het item. |
| type | string | Moet "function_call_output" |
| object | string | Moet "conversation.item" |
| name | string | De naam van de bijeenkomst die werd genoemd. |
| output | string | De output van de functieaanroep. |
| call_id | string | De unieke ID van de functieaanroep. |
| status | RealtimeItemStatus | De status van het item. |
RealtimeConversationMCPListToolsItem
MCP lijst tools responsitem.
| Field | Type | Description |
|---|---|---|
| id | string | De unieke ID van het item. |
| type | string | Moet "mcp_list_tools" |
| server_label | string | Het label van de MCP-server. |
RealtimeConversationMCPCallItem
MCP oproeprespons-item.
| Field | Type | Description |
|---|---|---|
| id | string | De unieke ID van het item. |
| type | string | Moet "mcp_call" |
| server_label | string | Het label van de MCP-server. |
| name | string | De naam van het gereedschap dat je moet bellen. |
| approval_request_id | string | De goedkeuringsverzoek-ID voor het MCP-gesprek. |
| arguments | string | De argumenten voor de MCP-oproep. |
| output | string | De output van de MCP-oproep. |
| error | object | De foutmelding geeft aan als de MCP-oproep mislukte. |
RealtimeConversationMCPApprovalRequestItem
MCP-goedkeuringsverzoek.
| Field | Type | Description |
|---|---|---|
| id | string | De unieke ID van het item. |
| type | string | Moet "mcp_approval_request" |
| server_label | string | Het label van de MCP-server. |
| name | string | De naam van het gereedschap dat je moet bellen. |
| arguments | string | De argumenten voor de MCP-oproep. |
RealtimeItemStatus
Status van gespreksonderwerpen.
Allowed Values:
-
in_progress- Momenteel in behandeling -
completed- Succesvol voltooid -
incomplete- Onvolledig (onderbroken of mislukt)
RealtimeContentPart
Inhoudsdeel binnen een bericht.
RealtimeInputTextContentPart
Tekstinhoud.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "input_text" |
| text | string | De tekstinhoud |
RealtimeOutputTextContentPart
Tekstinhoud.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "text" |
| text | string | De tekstinhoud |
RealtimeInputAudioContentPart
Audio-inhoud.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "input_audio" |
| audio | string | Optional. Base64-gecodeerde audiogegevens |
| transcript | string | Optional. Audio transcript |
RealtimeOutputAudioContentPart
Audio-inhoud.
| Field | Type | Description |
|---|---|---|
| type | string | Moet "audio" |
| audio | string | Base64-gecodeerde audiogegevens |
| transcript | string | Optional. Audio transcript |
Response Objects
RealtimeResponse
Responsobject dat een modelinferentierespons vertegenwoordigt.
| Field | Type | Description |
|---|---|---|
| id | string | Optional. Response ID |
| object | string | Optional. Altijd "realtime.response" |
| status | RealtimeResponseStatus | Optional. Response status |
| status_details | RealtimeResponseStatusDetails | Optional. Status details |
| output | RealtimeConversationResponseItem[] | Optional. Output items |
| usage | RealtimeUsage | Optional. Statistieken over tokengebruik |
| conversation_id | string | Optional. Gekoppeld gespreks-ID |
| voice | RealtimeVoice | Optional. Stem gebruikt voor antwoord |
| modalities | string[] | Optional. Gebruikte uitvoermodaliteiten |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Gebruikt audioformaat |
| temperature | number | Optional. Temperature used |
| max_response_output_tokens | geheel getal of "inf" | Optional. Maximaal aantal tokens gebruikt |
RealtimeResponseStatus
Responsstatuswaarden.
Allowed Values:
-
in_progress- Er wordt een reactie gegenereerd -
completed- Respons succesvol voltooid -
canceled- Reactie werd geannuleerd -
incomplete- Antwoord onvolledig (onderbroken) -
failed- Respons mislukt met fout
RealtimeUsage
Statistieken over tokengebruik.
| Field | Type | Description |
|---|---|---|
| total_tokens | integer | Totaal aantal gebruikte tokens |
| input_tokens | integer | Gebruikte invoertokens |
| output_tokens | integer | Gegenereerde outputtokens |
| input_token_details | TokenDetails | Uitsplitsing van invoertokens |
| output_token_details | TokenDetails | Uitsplitsing van outputtokens |
TokenDetails
Gedetailleerde uitsplitsing van tokengebruik.
| Field | Type | Description |
|---|---|---|
| cached_tokens | integer | Optional. Gebruikte gecachte tokens |
| text_tokens | integer | Optional. Gebruikte teksttokens |
| audio_tokens | integer | Optional. Gebruikte audiotokens |
Error Handling
RealtimeErrorDetails
Foutinformatieobject.
| Field | Type | Description |
|---|---|---|
| type | string | Fouttype (bijv. "invalid_request_error", , "server_error") |
| code | string | Optional. Specifieke foutcode |
| message | string | Mensleesbare foutbeschrijving |
| param | string | Optional. Parameter gerelateerd aan de fout |
| event_id | string | Optional. ID van het clientevent dat de fout veroorzaakte |
RealtimeConversationRequestItem
Je gebruikt het RealtimeConversationRequestItem object om een nieuw item in het gesprek aan te maken via het conversation.item.create-evenement .
Dit is een unietype dat een van de volgende kan zijn:
RealtimeSystemMessageItem
Een systeembericht.
| Field | Type | Description |
|---|---|---|
| type | string | Het type van het item. Toegestane waarden: message |
| role | string | De rol van de boodschap. Toegestane waarden: system |
| content | array van RealtimeInputTextContentPart | De inhoud van het bericht. |
| id | string | De unieke ID van het item. De client kan de ID specificeren om server-side context te beheren. Als de client geen ID geeft, genereert de server er een. |
RealtimeUserMessageItem
Een gebruikersbericht.
| Field | Type | Description |
|---|---|---|
| type | string | Het type van het item. Toegestane waarden: message |
| role | string | De rol van de boodschap. Toegestane waarden: user |
| content | array van RealtimeInputTextContentPart of RealtimeInputAudioContentPart | De inhoud van het bericht. |
| id | string | De unieke ID van het item. De client kan de ID specificeren om server-side context te beheren. Als de client geen ID geeft, genereert de server er een. |
RealtimeAssistantMessageItem
Een assistent-bericht.
| Field | Type | Description |
|---|---|---|
| type | string | Het type van het item. Toegestane waarden: message |
| role | string | De rol van de boodschap. Toegestane waarden: assistant |
| content | array van RealtimeOutputTextContentPart | De inhoud van het bericht. |
RealtimeFunctionCallItem
Een functie-aanroepitem.
| Field | Type | Description |
|---|---|---|
| type | string | Het type van het item. Toegestane waarden: function_call |
| name | string | De naam van de functie die je moet aanroepen. |
| arguments | string | De argumenten van de functie roepen als een JSON-string. |
| call_id | string | De ID van het functie-aanroepitem. |
| id | string | De unieke ID van het item. De client kan de ID specificeren om server-side context te beheren. Als de client geen ID geeft, genereert de server er een. |
RealtimeFunctionCallOutputItem
Een functie die uitvoeritem aanroept.
| Field | Type | Description |
|---|---|---|
| type | string | Het type van het item. Toegestane waarden: function_call_output |
| call_id | string | De ID van het functie-aanroepitem. |
| output | string | De output van de functieaanroep, dit is een vrije string met het functieresultaat, kan ook leeg zijn. |
| id | string | De unieke ID van het item. Als de client geen ID geeft, genereert de server er een. |
RealtimeMCPApprovalResponseItem
Een MCP-goedkeuringsreactie.
| Field | Type | Description |
|---|---|---|
| type | string | Het type van het item. Toegestane waarden: mcp_approval_response |
| approve | boolean | Of het MCP-verzoek wordt goedgekeurd. |
| approval_request_id | string | De ID van het MCP-goedkeuringsverzoek. |
| id | string | De unieke ID van het item. De client kan de ID specificeren om server-side context te beheren. Als de client geen ID geeft, genereert de server er een. |
RealtimeFunctionTool
De definitie van een functietool zoals gebruikt door het realtime eindpunt.
| Field | Type | Description |
|---|---|---|
| type | string | Het type gereedschap. Toegestane waarden: function |
| name | string | De naam van de functie. |
| description | string | De beschrijving van de functie, inclusief gebruiksrichtlijnen. Bijvoorbeeld: "Gebruik deze functie om de huidige tijd te krijgen." |
| parameters | object | De parameters van de functie in de vorm van een JSON-object. |
RealtimeItemStatus
Allowed Values:
in_progresscompletedincomplete
RealtimeResponseAudioContentPart
| Field | Type | Description |
|---|---|---|
| type | string | Het type inhoud. Toegestane waarden: audio |
| transcript | string | De transcriptie van de audio. Deze eigenschap is ongedaan. |
RealtimeResponseFunctionCallItem
| Field | Type | Description |
|---|---|---|
| type | string | Het type van het item. Toegestane waarden: function_call |
| name | string | De naam van het functie-aanroepitem. |
| call_id | string | De ID van het functie-aanroepitem. |
| arguments | string | De argumenten van de functie roepen item aan. |
| status | RealtimeItemStatus | De status van het item. |
RealtimeResponseFunctionCallOutputItem
| Field | Type | Description |
|---|---|---|
| type | string | Het type van het item. Toegestane waarden: function_call_output |
| call_id | string | De ID van het functie-aanroepitem. |
| output | string | De output van het functie-aanroep-item. |
RealtimeResponseOptions
| Field | Type | Description |
|---|---|---|
| modalities | array | De uitvoermodaliteiten voor de respons. Toegestane waarden: text, audioBijvoorbeeld, "modalities": ["text", "audio"] is de standaardinstelling die zowel tekst- als audio-uitvoermodaliteiten inschakelt. Om alleen tekstuitvoer in te schakelen, stel "modalities": ["text"]je . Je kunt niet alleen audio inschakelen. |
| instructions | string | De instructies (het systeembericht) om de antwoorden van het model te sturen. |
| voice | RealtimeVoice | De stem die wordt gebruikt voor het modelantwoord tijdens de sessie. Zodra de stem in de sessie wordt gebruikt voor de audiorespons van het model, kan deze niet meer worden veranderd. |
| tools | array van RealtimeTool | De tools die het model voor de sessie beschikbaar heeft. |
| tool_choice | RealtimeToolChoice | De keuze voor de sessie. |
| temperature | number | De bemonsteringstemperatuur voor het model. De toegestane temperatuurwaarden zijn beperkt tot [0,6, 1,2]. Standaard is 0,8. |
| max_response_output_tokens | geheel getal of "inf" | Het maximale aantal outputtokens per assistentrespons, inclusief toolcalls. Specificeer een geheel getal tussen 1 en 4096 om het aantal outputtokens te beperken. Anders zet je de waarde op "inf" om het maximale aantal tokens mogelijk te maken. Om bijvoorbeeld de output tokens te beperken tot 1000, stel "max_response_output_tokens": 1000je . Om het maximale aantal tokens toe te staan, stel "max_response_output_tokens": "inf"je .Standaard is . "inf" |
| reasoning_effort | ReasoningEffort | Optional. Beperkt de inspanning van redeneren voor redeneermodellen. Bekijk de modeldocumentatie voor ondersteunde waarden voor elk model. Het verminderen van de redeneerinspanning kan leiden tot snellere antwoorden en minder tokens die worden gebruikt voor redeneren in een antwoord. |
| conversation | string | Bepaalt aan welk gesprek het antwoord wordt toegevoegd. De ondersteunde waarden zijn auto en none.De auto waarde (of het niet instellen van deze eigenschap) zorgt ervoor dat de inhoud van de reactie wordt toegevoegd aan het standaardgesprek van de sessie.Stel deze eigenschap in om none een out-of-band antwoord te maken waarbij items niet aan het standaardgesprek worden toegevoegd. Standaardinstellingen op "auto" |
| metadata | map | Set van maximaal 16 sleutel-waarde paren die aan een object kunnen worden gekoppeld. Dit kan nuttig zijn om extra informatie over het object in een gestructureerd formaat op te slaan. Sleutels kunnen maximaal 64 tekens lang zijn en waarden maximaal 512 tekens. Bijvoorbeeld: metadata: { topic: "classification" } |
RealtimeResponseSession
Het RealtimeResponseSession object vertegenwoordigt een sessie in de Realtime API. Het wordt gebruikt in sommige servergebeurtenissen, zoals:
| Field | Type | Description |
|---|---|---|
| object | string | Het sessieobject. Toegestane waarden: realtime.session |
| id | string | De unieke ID van de sessie. |
| model | string | Het model dat voor de sessie werd gebruikt. |
| modalities | array | De uitvoermodaliteiten voor de sessie. Toegestane waarden: text, audioBijvoorbeeld, "modalities": ["text", "audio"] is de standaardinstelling die zowel tekst- als audio-uitvoermodaliteiten inschakelt. Om alleen tekstuitvoer in te schakelen, stel "modalities": ["text"]je . Je kunt niet alleen audio inschakelen. |
| instructions | string | De instructies (het systeembericht) sturen de tekst- en audioresponsen van het model. Hier zijn enkele voorbeeldinstructies om de inhoud en het formaat van tekst- en audio-antwoorden te sturen: "instructions": "be succinct""instructions": "act friendly""instructions": "here are examples of good responses"Hier zijn enkele voorbeeldinstructies om audiogedrag te sturen: "instructions": "talk quickly""instructions": "inject emotion into your voice""instructions": "laugh frequently"Hoewel het model deze instructies niet altijd volgt, geven ze wel richtlijnen over het gewenste gedrag. |
| voice | RealtimeVoice | De stem die wordt gebruikt voor het modelantwoord tijdens de sessie. Zodra de stem in de sessie wordt gebruikt voor de audiorespons van het model, kan deze niet meer worden veranderd. |
| input_audio_sampling_rate | integer | De samplefrequentie voor het ingangsgeluid. |
| input_audio_format | RealtimeAudioFormat | Het formaat voor de invoeraudio. |
| output_audio_format | RealtimeAudioFormat | Het formaat voor de uitvoer van audio. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | De instellingen voor audio-invoertranscriptie. Deze eigenschap is ongedaan. |
| turn_detection | RealtimeTurnDetection | De instellingen voor beurtdetectie voor de sessie. Deze eigenschap is ongedaan. |
| tools | array van RealtimeTool | De tools die het model voor de sessie beschikbaar heeft. |
| tool_choice | RealtimeToolChoice | De keuze voor de sessie. |
| temperature | number | De bemonsteringstemperatuur voor het model. De toegestane temperatuurwaarden zijn beperkt tot [0,6, 1,2]. Standaard is 0,8. |
| max_response_output_tokens | geheel getal of "inf" | Het maximale aantal outputtokens per assistentrespons, inclusief toolcalls. Specificeer een geheel getal tussen 1 en 4096 om het aantal outputtokens te beperken. Anders zet je de waarde op "inf" om het maximale aantal tokens mogelijk te maken. Om bijvoorbeeld de output tokens te beperken tot 1000, stel "max_response_output_tokens": 1000je . Om het maximale aantal tokens toe te staan, stel "max_response_output_tokens": "inf"je . |
RealtimeResponseStatusDetails
| Field | Type | Description |
|---|---|---|
| type | RealtimeResponseStatus | De status van de reactie. |
RealtimeRateLimitsItem
| Field | Type | Description |
|---|---|---|
| name | string | De naam van het tarieflimiet waar dit item informatie over bevat. |
| limit | integer | De maximaal geconfigureerde limiet voor deze snelheidslimiet. |
| remaining | integer | De resterende quota is beschikbaar tegen de geconfigureerde limiet voor deze tarieflimiet. |
| reset_seconds | number | De resterende tijd, in seconden, totdat deze snelheidslimiet wordt gereset. |
Related Resources
- Probeer de Voice Live quickstart
- Probeer de Voice Live agents quickstart
- Meer informatie over het gebruik van de Voice Live-API