Voice Live 2025-10-01 API-referentie

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-diarize
Ondersteund 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:

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_progress
  • completed
  • incomplete

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, audio

Bijvoorbeeld, "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, audio

Bijvoorbeeld, "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.