Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Voice Live
Voice Live API tillhandahåller realtidskommunikation, tvåvägskommunikation för röstaktiverade applikationer med WebSocket-anslutningar. Detta API stöder avancerade funktioner inklusive taligenkänning, text-till-tal-syntes, avatarströmning, animationsdata och omfattande ljudbearbetningsmöjligheter.
API:et använder JSON-formaterade händelser som skickas över WebSocket-anslutningar för att hantera konversationer, ljudströmmar, avatarinteraktioner och svar i realtid. Händelser kategoriseras i klienthändelser (skickade från klient till server) och serverhändelser (skickade från server till klient).
Key Features
- Realtidsljudbehandling: Stöd för flera ljudformat inklusive PCM16 med olika samplingsfrekvenser och G.711-codecs
- Avancerade röstalternativ: OpenAI-röster, Azure anpassade röster, Azure standardröster och Azure personliga röster
- Avatarintegration: WebRTC-baserad avatarströmning med video, animation och blendshapes
- Intelligent Turn Detection: Flera VAD-alternativ inklusive Azure semantisk VAD och serverside-detektion
- Ljudförbättring: Inbyggd brusreducering och ekoreducering
- Funktionsanrop: Verktygsintegration för förbättrade konversationsmöjligheter
- Flexibel sessionshantering: Konfigurerbara utdatamodaliteter, instruktioner och responsparametrar
Client Events
Voice Live API stöder följande klienthändelser som kan skickas från klienten till servern:
| Event | Description |
|---|---|
| session.update | Uppdatera sessionskonfigurationen inklusive röst, utgångsmodaliteter, svängdetektion och andra inställningar |
| session.avatar.connect | Etablera avataranslutning genom att tillhandahålla klient-SDP för WebRTC-förhandling |
| input_audio_buffer.append | Lägg till ljudbyte i ingångsljudbufferten |
| input_audio_buffer.commit | Committera ingångsljudbufferten för bearbetning |
| input_audio_buffer.clear | Rensa ingångsljudbufferten |
| conversation.item.create | Lägg till en ny punkt i samtalskontexten |
| conversation.item.retrieve | Hämta en specifik sak från samtalet |
| conversation.item.truncate | Trunkera ett assistentljudmeddelande |
| conversation.item.delete | Ta bort ett föremål från samtalet |
| response.create | Instruera servern att skapa ett svar via modellinferens |
| response.cancel | Avbryt ett pågående svar |
session.update
Uppdatera sessionens konfiguration. Denna händelse kan skickas när som helst för att ändra inställningar såsom röst, utgångsmodaliteter, svängdetektion, verktyg och andra sessionsparametrar. Observera att när en session har initierats med en viss modell kan den inte ändras till en annan modell.
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 | Måste vara "session.update" |
| session | RealtimeRequestSession | Sessionskonfigurationsobjekt med fält att uppdatera |
Exempel med 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
Etablera en avataranslutning genom att tillhandahålla klientens SDP (Session Description Protocol) erbjudande för WebRTC-medieförhandling. Denna händelse krävs när avatarfunktioner används.
Event Structure
{
"type": "session.avatar.connect",
"client_sdp": "<client_sdp>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "session.avatar.connect" |
| client_sdp | string | Klientens SDP-erbjudande för WebRTC-anslutningsetablering, kodad med base64 |
input_audio_buffer.append
Lägg till ljudbyte i ingångsljudbufferten.
Event Structure
{
"type": "input_audio_buffer.append",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "input_audio_buffer.append" |
| audio | string | Base64-kodad ljuddata |
input_audio_buffer.commit
Sätt in ingångsljudbufferten för bearbetning.
Event Structure
{
"type": "input_audio_buffer.commit"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "input_audio_buffer.commit" |
input_audio_buffer.clear
Rensa ingångsljudbufferten.
Event Structure
{
"type": "input_audio_buffer.clear"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "input_audio_buffer.clear" |
conversation.item.create
Lägg till ett nytt ämne i samtalssammanhanget. Detta kan inkludera meddelanden, funktionsanrop och funktionsanropssvar. Objekt kan infogas på specifika platser i konversationshistoriken.
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 | Måste vara "conversation.item.create" |
| previous_item_id | string | Optional. ID för föremålet efter att sätta in detta föremål. Om det inte finns, läggs till för att sluta |
| item | RealtimeConversationRequestItem | Punkten att lägga till i samtalet |
Exempel med ljudinnehåll
{
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello there"
}
]
}
}
Exempel med Function Call-utgång
{
"type": "conversation.item.create",
"item": {
"type": "function_call_output",
"call_id": "call_123",
"output": "{\"location\": \"San Francisco\", \"temperature\": \"70\"}"
}
}
Exempel med MCP-godkännandesvar
{
"type": "conversation.item.create",
"item": {
"type": "mcp_approval_response",
"approval_request_id": "mcp_approval_req_456",
"approve": true,
}
}
conversation.item.retrieve
Hämta en specifik sak från konversationshistoriken. Detta är användbart för att inspektera bearbetat ljud efter brusreducering och VAD.
Event Structure
{
"type": "conversation.item.retrieve",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "conversation.item.retrieve" |
| item_id | string | ID:t på föremålet som ska hämtas |
conversation.item.truncate
Förkorta ljudinnehållet i ett assistentmeddelande. Detta är användbart för att stoppa uppspelningen vid en specifik punkt och synkronisera serverns förståelse med klientens tillstånd.
Event Structure
{
"type": "conversation.item.truncate",
"item_id": "item_ABC123",
"content_index": 0,
"audio_end_ms": 5000
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "conversation.item.truncate" |
| item_id | string | ID:t för assistentmeddelandet för att trunkera |
| content_index | integer | Indexet för innehållsdelen för att förkorta |
| audio_end_ms | integer | Tiden upp till vilken ljudet ska förkortas, i millisekunder |
conversation.item.delete
Ta bort ett objekt från konversationshistoriken.
Event Structure
{
"type": "conversation.item.delete",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "conversation.item.delete" |
| item_id | string | ID:t för objektet som ska tas bort |
response.create
Instruera servern att skapa ett svar via modellinferens. Denna händelse kan specificera responsspecifik konfiguration som åsidosätter sessionsstandarder.
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 | Måste vara "response.create" |
| response | RealtimeResponseOptions | Valfri svarskonfiguration som åsidosätter sessionsstandardinställningar |
Exempel med 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
}
}
Exempel med animation
{
"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
Avboka ett pågående svar. Detta stoppar omedelbart responsgenereringen och relaterad ljudutgång.
Event Structure
{
"type": "response.cancel"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "response.cancel" |
input_audio_buffer.append
input_audio_buffer.append Klienthändelsen används för att lägga till ljudbyte till indataljudbufferten. Ljudbufferten är tillfällig lagring som du kan skriva till och senare checka in.
I läget Server VAD (Röstaktivitetsidentifiering) används ljudbufferten för att identifiera tal och servern bestämmer när den ska checkas in. När server VAD är inaktiverat kan klienten välja hur mycket ljud som ska spelas in i varje händelse upp till högst 15 MiB. Om du till exempel strömmar mindre segment från klienten kan VAD vara mer dynamiskt.
Till skillnad från de flesta andra klienthändelser skickar servern inte ett bekräftelsesvar på klienthändelsen input_audio_buffer.append .
Event structure
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara input_audio_buffer.append. |
| audio | string | Base64-kodade ljudbyte. Det här värdet måste vara i det format som anges av fältet input_audio_format i sessionskonfigurationen. |
input_audio_buffer.clear
Klienthändelsen input_audio_buffer.clear används för att rensa ljudbyte i bufferten.
Servern svarar med en input_audio_buffer.cleared händelse.
Event structure
{
"type": "input_audio_buffer.clear"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara input_audio_buffer.clear. |
input_audio_buffer.commit
Klienthändelsen input_audio_buffer.commit används för att checka in användarens indataljudbuffert, vilket skapar ett nytt användarmeddelandeobjekt i konversationen. Ljud transkriberas om input_audio_transcription det är konfigurerat för sessionen.
När klienten är i server-VAD-läge behöver den inte skicka den här händelsen. Servern checkar in ljudbufferten automatiskt. Utan server VAD måste klienten checka in ljudbufferten för att skapa ett användarmeddelandeobjekt. Den här klienthändelsen genererar ett fel om indataljudbufferten är tom.
När indataljudbufferten checkas in skapas inget svar från modellen.
Servern svarar med en input_audio_buffer.committed händelse.
Event structure
{
"type": "input_audio_buffer.commit"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara input_audio_buffer.commit. |
Server Events
Voice Live API skickar följande serverhändelser för att kommunicera status, svar och data till klienten:
| Event | Description |
|---|---|
| error | Indikerar att ett fel uppstod under bearbetningen |
| warning | Indikerar att en varning inträffade som inte stör samtalsflödet |
| session.created | Skickas när en ny session har etablerats framgångsrikt |
| session.updated | Skickas när sessionskonfigurationen uppdateras |
| session.avatar.connecting | Indikerar att avatar WebRTC-anslutning etableras |
| conversation.item.created | Skickas när en ny post läggs till i konversationen |
| conversation.item.retrieved | Svar på conversation.item.retrieve-begäran |
| conversation.item.truncated | Bekräftar objektförkortning |
| conversation.item.deleted | Bekräftar borttagning av föremål |
| conversation.item.input_audio_transcription.completed | Indata-ljudtranskribering är klar |
| conversation.item.input_audio_transcription.delta | Strömmande indata-ljudtranskription |
| conversation.item.input_audio_transcription.failed | Inmatad ljudtranskribering misslyckades |
| input_audio_buffer.committed | Ingångsljudbufferten var för bearbetning |
| input_audio_buffer.cleared | Ingångsljudbufferten rensades |
| input_audio_buffer.speech_started | Tal detekterat i ingångsljudbuffert (VAD) |
| input_audio_buffer.speech_stopped | Tal avslutades i inmatningsljudbuffert (VAD) |
| response.created | Ny responsgenerering har startat |
| response.done | Responsgenereringen är klar |
| response.output_item.added | Ny utgångspost tillagd i svaret |
| response.output_item.done | Utgångsobjektet är komplett |
| response.content_part.added | Ny innehållsdel tillagd till utgående objekt |
| response.content_part.done | Innehållsdelen är komplett |
| response.text.delta | Strömmande textinnehåll från modellen |
| response.text.done | Textinnehållet är komplett |
| response.audio_transcript.delta | Strömmande ljudtranskription |
| response.audio_transcript.done | Ljudutskriften är komplett |
| response.audio.delta | Strömmande ljudinnehåll från modellen |
| response.audio.done | Ljudinnehållet är komplett |
| response.animation_blendshapes.delta | Strömmande animationsblandningsdata |
| response.animation_blendshapes.done | Animationens blendshapes-data är komplett |
| response.audio_timestamp.delta | Strömmande tidsstämpelinformation för ljud |
| response.audio_timestamp.done | Tidsstämpelinformationen för ljudet är komplett |
| response.animation_viseme.delta | Strömmande animationsvisemedata |
| response.animation_viseme.done | Animationsvisemdata är komplett |
| response.function_call_arguments.delta | Argument för strömmande funktionsanrop |
| response.function_call_arguments.done | Funktionsanropsargument är fullständiga |
| mcp_list_tools.in_progress | Listning av MCP-verktyg pågår |
| mcp_list_tools.completed | Listan över MCP-verktyg är klar |
| mcp_list_tools.failed | MCP-verktygslistan har misslyckats |
| response.mcp_call_arguments.delta | Strömmande MCP-anropsargument |
| response.mcp_call_arguments.done | MCP-anropsargument är kompletta |
| response.mcp_call.in_progress | MCP-samtalet pågår |
| response.mcp_call.completed | MCP-samtalet är slutfört |
| response.mcp_call.failed | MCP-samtalet har misslyckats |
session.created
Skickas när en ny session har etablerats framgångsrikt. Detta är den första händelsen som tas emot efter anslutning till API:et.
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 | Måste vara "session.created" |
| session | RealtimeResponseSession | Det skapade sessionsobjektet |
session.updated
Skickas när sessionskonfigurationen har uppdaterats framgångsrikt som svar på en session.update klienthändelse.
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 | Måste vara "session.updated" |
| session | RealtimeResponseSession | Det uppdaterade sessionsobjektet |
session.avatar.connecting
Indikerar att en avatar WebRTC-anslutning håller på att etableras. Denna händelse skickas som svar på en session.avatar.connect kundhändelse.
Event Structure
{
"type": "session.avatar.connecting",
"server_sdp": "<server_sdp>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "session.avatar.connecting" |
conversation.item.created
Skickas när en ny post läggs till i konversationen, antingen via en klienthändelse conversation.item.create eller automatiskt under svarsgenerering.
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 | Måste vara "conversation.item.created" |
| previous_item_id | string | ID för föremålet efter vilket detta föremål sattes in |
| item | RealtimeConversationResponseItem | Det skapade samtalsobjektet |
Exempel med ljudobjekt
{
"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
Skickad som svar på ett conversation.item.retrieve kundevent, med den begärda konversationspunkten.
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 | Måste vara "conversation.item.retrieved" |
| item | RealtimeConversationResponseItem | Det återfunna samtalsobjektet |
conversation.item.truncated
Serverhändelsen conversation.item.truncated returneras när klienten trunkerar ett tidigare ljudmeddelandeobjekt för assistenten med en conversation.item.truncate händelse. Den här händelsen används för att synkronisera serverns förståelse av ljudet med klientens uppspelning.
Den här händelsen trunkerar ljudet och tar bort textavskriften på serversidan för att säkerställa att det inte finns någon text i kontexten som användaren inte känner till.
Event structure
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara conversation.item.truncated. |
| item_id | string | ID:t för det assistentmeddelandeobjekt som trunkerades. |
| content_index | integer | Indexet för innehållsdelen som trunkerades. |
| audio_end_ms | integer | Varaktigheten upp till vilken ljudet trunkerades, i millisekunder. |
conversation.item.deleted
Skickat som svar på en conversation.item.delete kundhändelse, där det bekräftas att den angivna punkten har tagits bort från konversationen.
Event Structure
{
"type": "conversation.item.deleted",
"item_id": "item_ABC123"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "conversation.item.deleted" |
| item_id | string | ID för det borttagna objektet |
response.created
Skickas när en ny responsgenerering börjar. Detta är den första händelsen i en responssekvens.
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 | Måste vara "response.created" |
| response | RealtimeResponse | Svarobjektet som skapades |
response.done
Skickas när svarsgenereringen är klar. Denna händelse innehåller det slutliga svaret med alla utdata och användningsstatistik.
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 | Måste vara "response.done" |
| response | RealtimeResponse | Det färdigställda svarsobjektet |
response.output_item.added
Skickas när en ny utgångspunkt läggs till i svaret under genereringen.
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 | Måste vara "response.output_item.added" |
| response_id | string | ID för svaret som denna artikel tillhör |
| output_index | integer | Index av objektet i svarets utmatris. |
| item | RealtimeConversationResponseItem | Utgångsobjektet som lades till |
response.output_item.done
Skickas när en utdata är klar.
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 | Måste vara "response.output_item.done" |
| response_id | string | ID för svaret som denna artikel tillhör |
| output_index | integer | Index av objektet i svarets utmatris. |
| item | RealtimeConversationResponseItem | Den färdiga utdatan |
response.content_part.added
Serverhändelsen response.content_part.added returneras när en ny innehållsdel läggs till i ett assistentmeddelandeobjekt under genereringen av svar.
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 | Måste vara "response.content_part.added" |
| response_id | string | ID för svaret |
| item_id | string | ID för föremålet som denna innehållsdel tillhör |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över denna innehållsdel i artikeln |
| part | RealtimeContentPart | Den innehållsdelen som lades till |
response.content_part.done
Serverhändelsen response.content_part.done returneras när en innehållsdel har strömmats i ett assistentmeddelandeobjekt.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
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 | Måste vara "response.content_part.done" |
| response_id | string | ID för svaret |
| item_id | string | ID för föremålet som denna innehållsdel tillhör |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över denna innehållsdel i artikeln |
| part | RealtimeContentPart | Den färdiga delen |
response.text.delta
Strömmande textinnehåll från modellen. Skickas stegvis när modellen genererar text.
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 | Måste vara "response.text.delta" |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
| delta | string | Inkrementell textinnehåll |
response.text.done
Skickas när textinnehållsgenereringen är klar.
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 | Måste vara "response.text.done" |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
| text | string | Det fullständiga textinnehållet |
response.audio.delta
Strömmande ljudinnehåll från modellen. Ljudet tillhandahålls som base64-kodad data.
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 | Måste vara "response.audio.delta" |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
| delta | string | Base64-kodad ljuddatachunk |
response.audio.done
Skickas när ljudinnehållsgenereringen är klar.
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 | Måste vara "response.audio.done" |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
response.audio_transcript.delta
Strömmande transkription av det genererade ljudinnehållet.
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 | Måste vara "response.audio_transcript.delta" |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
| delta | string | Inkrementell transkriptionstext |
response.audio_transcript.done
Skickas när genereringen av ljudtranskriptionen är klar.
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 | Måste vara "response.audio_transcript.done" |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
| transcript | string | Den fullständiga transkriptionstexten |
conversation.item.input_audio_transcription.completed
Serverhändelsen conversation.item.input_audio_transcription.completed är resultatet av ljudavskrift för tal som skrivits till ljudbufferten.
Transkriptionen börjar när indataljudbufferten bekräftas av klienten eller servern (i server_vad läge). Transkription körs asynkront med skapande av svar, så den här händelsen kan komma före eller efter svarshändelserna.
API-modeller i realtid accepterar ljud internt och därför är indataranskription en separat processkörning på en separat taligenkänningsmodell som whisper-1. Därför kan avskriften avvika något från modellens tolkning och bör behandlas som en grov guide.
Event structure
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara conversation.item.input_audio_transcription.completed. |
| item_id | string | ID:t för användarmeddelandeobjektet som innehåller ljudet. |
| content_index | integer | Indexet för innehållsdelen som innehåller ljudet. |
| transcript | string | Den transkriberade texten. |
conversation.item.input_audio_transcription.delta
Serverhändelsen conversation.item.input_audio_transcription.delta returneras när inmatad ljudtranskribering konfigureras, och en transkriberingsförfrågan för ett användarmeddelande pågår. Detta evenemang ger delvisa transkriptionsresultat när de blir tillgängliga.
Event structure
{
"type": "conversation.item.input_audio_transcription.delta",
"item_id": "<item_id>",
"content_index": 0,
"delta": "<delta>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara conversation.item.input_audio_transcription.delta. |
| item_id | string | ID för användarmeddelandeobjektet. |
| content_index | integer | Indexet för innehållsdelen som innehåller ljudet. |
| delta | string | Den inkrementell transkriptionstexten. |
conversation.item.input_audio_transcription.failed
Serverhändelsen conversation.item.input_audio_transcription.failed returneras när inkommande ljudavskrift har konfigurerats och en transkriptionsbegäran för ett användarmeddelande misslyckades. Den här händelsen är separat från andra error händelser så att klienten kan identifiera det relaterade objektet.
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 | Händelsetypen måste vara conversation.item.input_audio_transcription.failed. |
| item_id | string | ID för användarmeddelandeobjektet. |
| content_index | integer | Indexet för innehållsdelen som innehåller ljudet. |
| error | object | Information om transkriptionsfelet. Se kapslade egenskaper i nästa tabell. |
Error properties
| Field | Type | Description |
|---|---|---|
| type | string | Typ av fel. |
| code | string | Om det finns någon felkod. |
| message | string | Ett felmeddelande som kan läsas av människor. |
| param | string | Parameter som är relaterad till felet, om det finns. |
response.animation_blendshapes.delta
Serverhändelsen response.animation_blendshapes.delta returneras när modellen genererar animations-blendshapes-data som en del av ett svar. Denna händelse tillhandahåller inkrementella blendshapes-data när den blir tillgänglig.
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 | Händelsetypen måste vara response.animation_blendshapes.delta. |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
| frame_index | integer | Index för den första bildrutan i denna omgång av ramar |
| frames | Array av array av flottör | Array av blendshape-ramar, varje frame är en array av blendshape-värden |
response.animation_blendshapes.done
Serverhändelsen response.animation_blendshapes.done returneras när modellen har avslutat genereringen av animations-blendshapes-data som en del av ett svar.
Event structure
{
"type": "response.animation_blendshapes.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara response.animation_blendshapes.done. |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
response.audio_timestamp.delta
Serverhändelsen response.audio_timestamp.delta returneras när modellen genererar ljudtidsstämpeldata som en del av ett svar. Denna händelse tillhandahåller inkrementella tidsstämpeldata för utdata av ljud och text när det blir tillgängligt.
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 | Händelsetypen måste vara response.audio_timestamp.delta. |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
| audio_offset_ms | integer | Ljudförskjutning i millisekunder från ljudets början |
| audio_duration_ms | integer | Längd av ljudsegmentet i millisekunder |
| text | string | Textsegmentet som motsvarar denna ljudtidsstämpel |
| timestamp_type | string | Tidsstämpelns typ stöds för närvarande endast "ord" |
response.audio_timestamp.done
Skickas när genereringen av ljudets tidsstämplar är klar.
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 | Händelsetypen måste vara response.audio_timestamp.done. |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
response.animation_viseme.delta
Serverhändelsen response.animation_viseme.delta returneras när modellen genererar animationsvisemedata som en del av ett svar. Denna händelse tillhandahåller inkrementell visemedata när den blir tillgänglig.
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 | Händelsetypen måste vara response.animation_viseme.delta. |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
| audio_offset_ms | integer | Ljudförskjutning i millisekunder från ljudets början |
| viseme_id | integer | Visem-ID motsvarar munformen för animation |
response.animation_viseme.done
Serverhändelsen response.animation_viseme.done returneras när modellen har genererat animationsvisemdata som en del av ett svar.
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 | Händelsetypen måste vara response.animation_viseme.done. |
| response_id | string | ID för svaret |
| item_id | string | ID på föremålet |
| output_index | integer | Index över punkten i svaret |
| content_index | integer | Index över innehållsdelen |
error
Serverhändelsen error returneras när ett fel inträffar, vilket kan vara ett klientproblem eller ett serverproblem. De flesta fel kan återställas och sessionen förblir öppen.
Event structure
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara error. |
| error | object | Information om felet. Se kapslade egenskaper i nästa tabell. |
Error properties
| Field | Type | Description |
|---|---|---|
| type | string | Typ av fel. Till exempel är "invalid_request_error" och "server_error" feltyper. |
| code | string | Om det finns någon felkod. |
| message | string | Ett felmeddelande som kan läsas av människor. |
| param | string | Parameter som är relaterad till felet, om det finns. |
| event_id | string | ID för den klienthändelse som orsakade felet, om tillämpligt. |
warning
Serverhändelsen warning returneras när en varning uppstår som inte avbryter konversationsflödet. Varningarna är informativa och sessionen fortsätter som vanligt.
Event structure
{
"type": "warning",
"warning": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara warning. |
| warning | object | Detaljer om varningen. Se kapslade egenskaper i nästa tabell. |
Warning properties
| Field | Type | Description |
|---|---|---|
| message | string | Ett varningsmeddelande läsbart för människor. |
| code | string | Optional. Varningskod, om det finns någon. |
| param | string | Optional. Parameter relaterad till varningen, om någon. |
input_audio_buffer.cleared
Serverhändelsen input_audio_buffer.cleared returneras när klienten rensar indataljudbufferten med en input_audio_buffer.clear händelse.
Event structure
{
"type": "input_audio_buffer.cleared"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara input_audio_buffer.cleared. |
input_audio_buffer.committed
Serverhändelsen input_audio_buffer.committed returneras när en indataljudbuffert checkas in, antingen av klienten eller automatiskt i server VAD-läge. Egenskapen item_id är ID:t för användarmeddelandeobjektet som skapats. Därför skickas även en conversation.item.created händelse till klienten.
Event structure
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara input_audio_buffer.committed. |
| previous_item_id | string | ID:t för föregående objekt varefter det nya objektet infogas. |
| item_id | string | ID:t för användarmeddelandeobjektet som skapats. |
input_audio_buffer.speech_started
Serverhändelsen input_audio_buffer.speech_started returneras i server_vad läge när tal identifieras i ljudbufferten. Den här händelsen kan inträffa när ljud läggs till i bufferten (såvida inte tal redan har identifierats).
Note
Klienten kanske vill använda den här händelsen för att avbryta ljuduppspelningen eller ge visuell feedback till användaren.
Klienten bör förvänta sig att få en input_audio_buffer.speech_stopped händelse när talet stoppas. Egenskapen item_id är ID:t för användarmeddelandeobjektet som skapas när talet stoppas.
item_id Ingår också i input_audio_buffer.speech_stopped händelsen om inte klienten manuellt checkar in ljudbufferten under VAD-aktiveringen.
Event structure
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara input_audio_buffer.speech_started. |
| audio_start_ms | integer | Millisekunder från början av allt ljud som skrivits till bufferten under sessionen när tal först identifierades. Den här egenskapen motsvarar början av ljud som skickas till modellen och inkluderar därför den prefix_padding_ms konfigurerade i sessionen. |
| item_id | string | ID:t för användarmeddelandeobjektet som skapas när talet stoppas. |
input_audio_buffer.speech_stopped
Serverhändelsen input_audio_buffer.speech_stopped returneras i server_vad läge när servern identifierar slutet av talet i ljudbufferten.
Servern skickar också en conversation.item.created händelse med användarmeddelandeobjektet som skapats från ljudbufferten.
Event structure
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara input_audio_buffer.speech_stopped. |
| audio_end_ms | integer | Millisekunder sedan sessionen startade när talet stoppades. Den här egenskapen motsvarar slutet på det ljud som skickas till modellen och inkluderar därför den min_silence_duration_ms konfigurerade i sessionen. |
| item_id | string | ID:t för användarmeddelandeobjektet som skapats. |
rate_limits.updated
Serverhändelsen rate_limits.updated genereras i början av ett svar för att ange de uppdaterade hastighetsgränserna.
När ett svar skapas reserveras vissa token för utdatatoken. De hastighetsgränser som visas här återspeglar den reservationen, som sedan justeras i enlighet med detta när svaret har slutförts.
Event structure
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara rate_limits.updated. |
| rate_limits | array av RealtimeRateLimitsItem | Listan över information om hastighetsbegränsning. |
response.audio.delta
Serverhändelsen response.audio.delta returneras när det modellgenererade ljudet uppdateras.
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 | Händelsetypen måste vara response.audio.delta. |
| response_id | string | ID för svaret. |
| item_id | string | Föremålets ID. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
| delta | string | Base64-kodad ljuddatadelta. |
response.audio.done
Serverhändelsen response.audio.done returneras när det modellgenererade ljudet är klart.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
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 | Händelsetypen måste vara response.audio.done. |
| response_id | string | ID för svaret. |
| item_id | string | Föremålets ID. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
response.audio_transcript.delta
Serverhändelsen response.audio_transcript.delta returneras när den modellgenererade transkriptionen av ljudutdata uppdateras.
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 | Händelsetypen måste vara response.audio_transcript.delta. |
| response_id | string | ID för svaret. |
| item_id | string | Föremålets ID. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
| delta | string | Avskriftsdeltat. |
response.audio_transcript.done
Serverhändelsen response.audio_transcript.done returneras när den modellgenererade transkriptionen av ljudutdata har strömmats.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
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 | Händelsetypen måste vara response.audio_transcript.done. |
| response_id | string | ID för svaret. |
| item_id | string | Föremålets ID. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
| transcript | string | Den sista avskriften av ljudet. |
response.function_call_arguments.delta
Serverhändelsen response.function_call_arguments.delta returneras när de modellgenererade funktionsanropsargumenten uppdateras.
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 | Händelsetypen måste vara response.function_call_arguments.delta. |
| response_id | string | ID för svaret. |
| item_id | string | ID för funktionsanropsobjektet. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| call_id | string | ID för funktionsanropet. |
| delta | string | Argumenten deltar som en JSON-sträng. |
response.function_call_arguments.done
Serverhändelsen response.function_call_arguments.done returneras när de modellgenererade funktionsanropsargumenten har strömmats.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
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 | Händelsetypen måste vara response.function_call_arguments.done. |
| response_id | string | ID för svaret. |
| item_id | string | ID för funktionsanropsobjektet. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| call_id | string | ID för funktionsanropet. |
| arguments | string | De sista argumenten som en JSON-sträng. |
mcp_list_tools.in_progress
Serverhändelsen mcp_list_tools.in_progress returneras när tjänsten börjar lista tillgängliga verktyg från en mcp-server.
Event structure
{
"type": "mcp_list_tools.in_progress",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara mcp_list_tools.in_progress. |
| item_id | string | ID:t för MCP-listverktygsobjektet som bearbetas. |
mcp_list_tools.completed
Serverhändelsen mcp_list_tools.completed returneras när tjänsten slutför listan över tillgängliga verktyg från en MCP-server.
Event structure
{
"type": "mcp_list_tools.completed",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara mcp_list_tools.completed. |
| item_id | string | ID:t för MCP-listverktygsobjektet som bearbetas. |
mcp_list_tools.failed
Serverhändelsen mcp_list_tools.failed returneras när tjänsten misslyckas med att lista tillgängliga verktyg från en MCP-server.
Event structure
{
"type": "mcp_list_tools.failed",
"item_id": "<mcp_list_tools_item_id>"
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara mcp_list_tools.failed. |
| item_id | string | ID:t för MCP-listverktygsobjektet som bearbetas. |
response.mcp_call_arguments.delta
Serverhändelsen response.mcp_call_arguments.delta returneras när de modellgenererade mcp-verktygsanropsargumenten uppdateras.
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 | Händelsetypen måste vara response.mcp_call_arguments.delta. |
| response_id | string | ID för svaret. |
| item_id | string | ID:t för MCP-verktygsanropet. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| delta | string | Argumenten deltar som en JSON-sträng. |
response.mcp_call_arguments.done
Serverhändelsen response.mcp_call_arguments.done returneras när argumenten för det modellgenererade mcp-anropet är klara med strömningen.
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 | Händelsetypen måste vara response.mcp_call_arguments.done. |
| response_id | string | ID för svaret. |
| item_id | string | ID:t för MCP-verktygsanropet. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| arguments | string | De sista argumenten som en JSON-sträng. |
response.mcp_call.in_progress
Serverhändelsen response.mcp_call.in_progress returneras när ett MCP-verktygsanrop börjar bearbetas.
Event structure
{
"type": "response.mcp_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara response.mcp_call.in_progress. |
| item_id | string | ID:t för MCP-verktygsanropet. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
response.mcp_call.completed
Serverhändelsen response.mcp_call.completed returneras när ett MCP-verktygsanrop slutförs framgångsrikt.
Event structure
{
"type": "response.mcp_call.completed",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara response.mcp_call.completed. |
| item_id | string | ID:t för MCP-verktygsanropet. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
response.mcp_call.failed
Serverhändelsen response.mcp_call.failed returneras när ett MCP-verktygsanrop misslyckas.
Event structure
{
"type": "response.mcp_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara response.mcp_call.failed. |
| item_id | string | ID:t för MCP-verktygsanropet. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
response.output_item.added
Serverhändelsen response.output_item.added returneras när ett nytt objekt skapas under svarsgenereringen.
Event structure
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara response.output_item.added. |
| response_id | string | ID för svaret som objektet tillhör. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| item | RealtimeConversationResponseItem | Objektet som lades till. |
response.output_item.done
Serverhändelsen response.output_item.done returneras när ett objekt har strömmats.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
Event structure
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Properties
| Field | Type | Description |
|---|---|---|
| type | string | Händelsetypen måste vara response.output_item.done. |
| response_id | string | ID för svaret som objektet tillhör. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| item | RealtimeConversationResponseItem | Objektet som har strömmats. |
response.text.delta
Serverhändelsen response.text.delta returneras när den modellgenererade texten uppdateras. Texten motsvarar text innehållsdelen i ett assistentmeddelandeobjekt.
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 | Händelsetypen måste vara response.text.delta. |
| response_id | string | ID för svaret. |
| item_id | string | Föremålets ID. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
| delta | string | Textdeltat. |
response.text.done
Serverhändelsen response.text.done returneras när den modellgenererade texten har strömmats. Texten motsvarar text innehållsdelen i ett assistentmeddelandeobjekt.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
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 | Händelsetypen måste vara response.text.done. |
| response_id | string | ID för svaret. |
| item_id | string | Föremålets ID. |
| output_index | integer | Indexet för utdataobjektet i svaret. |
| content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
| text | string | Det slutliga textinnehållet. |
Components
Audio Formats
RealtimeAudioFormat
Basljudformat som används för inmatningsljud.
Allowed Values:
-
pcm16- 16-bitars PCM-ljudformat -
g711_ulaw- G.711 μ-law ljudformat -
g711_alaw- G.711 A-law ljudformat
RealtimeOutputAudioFormat
Ljudformat används för utgående ljud med specifika samplingsfrekvenser.
Allowed Values:
-
pcm16- 16-bitars PCM-ljudformat med standardsamplingsfrekvens (24 kHz) -
pcm16_8000hz- 16-bitars PCM-ljudformat med 8 kHz samplingsfrekvens -
pcm16_16000hz- 16-bitars PCM-ljudformat med 16 kHz samplingsfrekvens -
g711_ulaw- G.711 μ-law (mu-law) ljudformat med 8 kHz samplingsfrekvens -
g711_alaw- G.711 A-law-ljudformat med 8 kHz samplingsfrekvens
RealtimeAudioInputTranscriptionSettings
Konfiguration för indata-ljudtranskription.
| Field | Type | Description |
|---|---|---|
| model | string | Transkriberingsmodellen. Stödd med gpt-realtime och gpt-realtime-mini:whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, . gpt-4o-transcribe-diarizeStöds med alla andra modeller och agenter: azure-speech, mai-transcribe-1 (förhandsvisning) |
| language | string | Valfri språkkod i BCP-47 (till exempel en-US), eller ISO-639-1 (till exempel en), eller flera språk med automatisk detektering (till exempel en,zh).Se Azure tal-till-text-stödda språk för rekommenderad användning av denna inställning. |
| custom_speech | object | Valfri konfiguration för anpassade talmodeller, endast giltig för azure-speech modellen. |
| phrase_list | string[] | Valfri lista med frasledtrådar för fördomsigenkänning, endast giltig för azure-speech modellen. |
| prompt | string | Valfri prompttext för att vägleda transkription, endast giltig för whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe och gpt-4o-transcribe-diarize modeller. |
RealtimeInputAudioNoiseReductionSettings
Detta kan vara:
RealtimeOpenAINoiseReduction
OpenAI brusreduceringskonfiguration med explicit typfält, endast tillgänglig för gpt-realtime och gpt-realtime-mini modeller.
| Field | Type | Description |
|---|---|---|
| type | string |
near_field Eller far_field |
RealtimeAzureDeepNoiseSuppression
Konfiguration för inmatningsljudbrusreducering.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "azure_deep_noise_suppression" |
RealtimeInputAudioEchoCancellationSettings
Eko-avstängningskonfiguration för serverbaserad ljudbearbetning.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "server_echo_cancellation" |
Voice Configuration
RealtimeVoice
Union av alla stödda röstkonfigurationer.
Detta kan vara:
RealtimeOpenAIVoice
OpenAI röstkonfiguration med explicit typfält.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "openai" |
| name | string | OpenAI röstnamn: alloy, , , ballad, coral, echo, sage, shimmerversemarinashcedar |
RealtimeAzureVoice
Base för Azure Voice-konfigurationer. Detta är en diskriminerad förening med olika typer:
RealtimeAzureStandardVoice
Azure standard voice configuration.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "azure-standard" |
| name | string | Röstnamn (kan inte vara tomt) |
| temperature | number | Optional. Temperatur mellan 0,0 och 1,0 |
| custom_lexicon_url | string | Optional. URL till anpassat lexikon |
| custom_text_normalization_url | string | Optional. URL till anpassad textnormalisering |
| prefer_locales | string[] | Optional. Preferred locales Föredragna platser ändrar språkens accenter. Om värdet inte är inställt använder TTS standardaccenten för varje språk. till exempel när TTS talar engelska använder den den amerikanska engelska accenten. Och när man talar spanska använder man mexikansk spansk accent. Om prefer_locales ställs in till ["en-GB", "es-ES"], är den engelska accenten brittisk engelska och den spanska accenten är europeisk spanska. Och TTS kan också tala andra språk som franska, kinesiska, etc. |
| locale | string | Optional. Locale specification Upprätthåll platsen för TTS-utgången. Om det inte är inställt kommer TTS alltid att använda den angivna platsen för att tala. Till exempel, sätt platsen till en-US, TTS kommer alltid att använda amerikansk engelsk accent för att tala textinnehållet, även textinnehållet är på ett annat språk. Och TTS ger tystnad om textinnehållet är på kinesiska. |
| style | string | Optional. Voice style |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Justering av talhastighet |
| volume | string | Optional. Volume adjustment |
RealtimeAzureCustomVoice
Azure anpassad röstkonfiguration (föredras för anpassade röster).
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "azure-custom" |
| name | string | Röstnamn (kan inte vara tomt) |
| endpoint_id | string | Endpoint-ID (kan inte vara tomt) |
| temperature | number | Optional. Temperatur mellan 0,0 och 1,0 |
| custom_lexicon_url | string | Optional. URL till anpassat lexikon |
| custom_text_normalization_url | string | Optional. URL till anpassad textnormalisering |
| prefer_locales | string[] | Optional. Preferred locales Föredragna platser ändrar språkens accenter. Om värdet inte är inställt använder TTS standardaccenten för varje språk. Till exempel när TTS talar engelska använder den den amerikanska engelska accenten. Och när man talar spanska använder man mexikansk spansk accent. Om prefer_locales ställs in till ["en-GB", "es-ES"], är den engelska accenten brittisk engelska och den spanska accenten är europeisk spanska. Och TTS kan också tala andra språk som franska, kinesiska, etc. |
| locale | string | Optional. Locale specification Upprätthåll platsen för TTS-utgången. Om det inte är inställt kommer TTS alltid att använda den angivna platsen för att tala. Till exempel, sätt locale till en-US, TTS kommer alltid att använda amerikansk engelsk accent för att tala textinnehållet, även om textinnehållet är på ett annat språk. Och TTS ger tystnad om textinnehållet är på kinesiska. |
| style | string | Optional. Voice style |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Justering av talhastighet |
| 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 | Måste vara "azure-personal" |
| name | string | Röstnamn (kan inte vara tomt) |
| temperature | number | Optional. Temperatur mellan 0,0 och 1,0 |
| model | string | Underliggande basmodell: DragonLatestNeural, DragonHDOmniLatestNeural, MAI-Voice-1 |
| custom_lexicon_url | string | Optional. URL till anpassat lexikon |
| custom_text_normalization_url | string | Optional. URL till anpassad textnormalisering |
| prefer_locales | string[] | Optional. Preferred locales Föredra platser ändrar dialekterna i språken. Om värdet inte är inställt använder TTS standardaccenten för varje språk. Till exempel när TTS talar engelska använder den amerikansk engelsk accent. Och när man talar spanska använder man mexikansk spansk accent. Om prefer_locales ställs in till ["en-GB", "es-ES"], är den engelska accenten brittisk engelska och den spanska accenten är europeisk spanska. Och TTS kan också tala andra språk som franska, kinesiska, etc. |
| locale | string | Optional. Locale specification Upprätthåll platsen för TTS-utgången. Om det inte är inställt kommer TTS alltid att använda den angivna platsen för att tala. Till exempel, sätt locale till en-US, TTS kommer alltid att använda amerikansk engelsk accent för att tala textinnehållet, även om textinnehållet är på ett annat språk. Och TTS ger tystnad om textinnehållet är på kinesiska. |
| pitch | string | Optional. Pitch adjustment |
| rate | string | Optional. Justering av talhastighet |
| volume | string | Optional. Volume adjustment |
Turn Detection
RealtimeTurnDetection
Konfiguration för svängdetektion. Detta är en diskriminerad fackförening som stödjer flera typer av VAD.
RealtimeServerVAD
Bas-VAD-baserad turdetektion.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "server_vad" |
| threshold | float | Optional. Aktiveringströskel (0,0–1,0) (standard: 0,5) |
| prefix_padding_ms | integer | Optional. Ljudutfyllnad innan talet börjar (standard: 300) |
| silence_duration_ms | integer | Optional. Tystnadstid för att upptäcka talslut (standard: 500) |
| speech_duration_ms | integer | Optional. Minsta taltid (standard: 200) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. Konfiguration för slut-av-yttrande-detektering |
| create_response | boolean | Optional. Aktivera eller inaktivera om ett svar genereras (standard: sant). |
| interrupt_response | boolean | Optional. Aktivera eller inaktivera inbrott (standard: sant). |
| auto_truncate | boolean | Optional. Auto-trunkera vid avbrott (standard: falskt) |
RealtimeOpenAISemanticVAD
OpenAI semantisk VAD-konfiguration som använder en modell för att avgöra när användaren har talat klart. Endast tillgänglig för gpt-realtime och gpt-realtime-mini modeller.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "semantic_vad" |
| eagerness | string | Optional. Detta är ett sätt att kontrollera hur ivrig modellen är att avbryta användaren, vilket justerar den maximala väntetiden. I transkriptionsläge, även om modellen inte svarar, påverkar det hur ljudet delas upp. Följande värden är tillåtna: - auto (standard) är ekvivalent med medium,- low låter användaren ta sin tid att tala,- high Kommer att klippa ljudet så snart som möjligt.Om du vill att modellen ska svara oftare i samtalsläge, eller returnera transkriptionshändelser snabbare i transkriptionsläge, kan du ställa in iver till high.Å andra sidan, om du vill låta användaren tala ostört i samtalsläge, eller om du vill ha större transkriptionsdelar i transkriptionsläge, kan du ställa in iver till low. |
| create_response | boolean | Optional. Aktivera eller inaktivera om ett svar genereras (standard: sant). |
| interrupt_response | boolean | Optional. Aktivera eller inaktivera inbrott (standard: sant). |
RealtimeAzureSemanticVAD
Azure semantisk VAD, som avgör när användaren börjar och talar med en semantisk talmodell, vilket ger mer robust detektion i bullriga miljöer.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "azure_semantic_vad" |
| threshold | float | Optional. Aktiveringsgräns (standard: 0,5) |
| prefix_padding_ms | integer | Optional. Ljudutfyllnad före tal (standard: 300) |
| silence_duration_ms | integer | Optional. Tystnadstid för talets slut (standard: 500) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. EOU-detekteringskonfiguration |
| speech_duration_ms | integer | Optional. Minsta tallängd (standard: 80) |
| remove_filler_words | boolean | Optional. Ta bort utfyllnadsord (standard: falskt) |
| languages | string[] | Optional. Supports English. Andra språk ignoreras (standard: inga). |
| create_response | boolean | Optional. Aktivera eller inaktivera om ett svar genereras (standard: sant). |
| interrupt_response | boolean | Optional. Aktivera eller inaktivera inbrott (standard: sant). |
| auto_truncate | boolean | Optional. Auto-trunkera vid avbrott (standard: falskt) |
RealtimeAzureSemanticVADMultilingual
Azure semantic VAD (standardvariant).
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "azure_semantic_vad_multilingual" |
| threshold | float | Optional. Aktiveringsgräns (standard: 0,5) |
| prefix_padding_ms | integer | Optional. Ljudutfyllnad före tal (standard: 300) |
| silence_duration_ms | integer | Optional. Tystnadstid för talets slut (standard: 500) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. EOU-detekteringskonfiguration |
| speech_duration_ms | integer | Optional. Minsta tallängd (standard: 80) |
| remove_filler_words | boolean | Optional. Ta bort utfyllnadsord (standard: falskt) |
| languages | string[] | Optional. Stöder engelska, spanska, franska, italienska, tyska (DE), japanska, portugisiska, kinesiska, koreanska och hindi. Andra språk ignoreras (standard: inga). |
| create_response | boolean | Optional. Aktivera eller inaktivera om ett svar genereras (standard: sant). |
| interrupt_response | boolean | Optional. Aktivera eller inaktivera inbrott (standard: sant). |
| auto_truncate | boolean | Optional. Auto-trunkera vid avbrott (standard: falskt) |
RealtimeEOUDetection
Azure End-of-Utterance (EOU) kunde indikera när slutanvändaren slutade tala samtidigt som naturliga pauser tilläts. Slut-av-yttrande-detektering kan avsevärt minska för tidiga slutsignaler utan att lägga till användaruppfattad latens.
| Field | Type | Description |
|---|---|---|
| model | string | Kan stödja semantic_detection_v1 engelska eller semantic_detection_v1_multilingual stödja engelska, spanska, franska, italienska, tyska (DE), japanska, portugisiska, kinesiska, koreanska, hindi |
| threshold_level | string | Optional. Detektionströskelnivån (low, , och highdefault), standardinställningen medium är lika med inställningenmedium. Med en lägre inställning blir sannolikheten att meningen är klar högre. |
| timeout_ms | number | Optional. Maximal tid i millisekunder för att vänta på mer användartal. Standardvärdet är 1000 ms. |
Avatar Configuration
RealtimeAvatarConfig
Konfiguration för avatarstreaming och beteende.
| Field | Type | Description |
|---|---|---|
| ice_servers | RealtimeIceServer[] | Optional. ICE-servrar för WebRTC |
| character | string | Karaktärsnamn eller ID för avataren |
| style | string | Optional. Avatar-stil (känslomässig ton, talstil) |
| customized | boolean | Om avataren är anpassad |
| video | RealtimeVideoParams | Optional. Video configuration |
| scene | RealtimeAvatarScene | Optional. Konfiguration för avatarens zoomnivå, position, rotation och rörelseamplitud i videoramen |
| output_protocol | string | Optional. Utgångsprotokoll för avatar-strömning. Standard är webrtc |
| output_audit_audio | boolean | Optional. När det är aktiverat vidarebefordras auditljud via WebSocket för granskning/felsökning, även när avatar-utdata levereras via WebRTC. Standard är false |
RealtimeIceServer
ICE-serverkonfiguration för WebRTC-anslutningsförhandling.
| Field | Type | Description |
|---|---|---|
| urls | string[] | ICE-server-URL:er (TURN eller STUN-endpoints) |
| username | string | Optional. Användarnamn för autentisering |
| credential | string | Optional. Behörighet för autentisering |
RealtimeVideoParams
Videoströmningsparametrar för avatar.
| Field | Type | Description |
|---|---|---|
| bitrate | integer | Optional. Bithastighet i bitar per sekund (standard: 2000000) |
| codec | string | Optional. Videocodec, för närvarande endast h264 (standard: h264) |
| crop | RealtimeVideoCrop | Optional. Cropping settings |
| resolution | RealtimeVideoResolution | Optional. Resolution settings |
RealtimeVideoCrop
Videobeskärning av rektangeldefinition.
| Field | Type | Description |
|---|---|---|
| top_left | integer[] | Övre vänstra hörnet [x, y], icke-negativa heltal |
| bottom_right | integer[] | Nedre högra hörnet [x, y], icke-negativa heltal |
RealtimeVideoResolution
Videoupplösningsspecifikation.
| Field | Type | Description |
|---|---|---|
| width | integer | Bredd i pixlar (måste vara > 0) |
| height | integer | Höjd i pixlar (måste vara > 0) |
RealtimeAvatarScene
Konfiguration för avatarens zoomnivå, position, rotation och rörelseamplitud i videobilden.
| Field | Type | Description |
|---|---|---|
| zoom | number | Optional. Zoom-nivå på avataren. Räckvidden är (0, +∞). Värden mindre än 1 zoom ut, värden större än 1 zoom in. Standard är 0 |
| position_x | number | Optional. Avatarens horisontella position. Räckvidden är [-1, 1], som en andel av rambredden. Negativa värden rör sig åt vänster, positiva värden rör sig åt höger. Standard är 0 |
| position_y | number | Optional. Avatarens vertikala position. Räckvidden är [-1, 1], som en proportion av bildhöjden. Negativa värden stiger, positiva värden går ner. Standard är 0 |
| rotation_x | number | Optional. Rotation runt X-axeln (pitch). Räckvidden är [-π, π] i radianer. Negativa värden roterar uppåt, positiva värden roterar nedåt. Standard är 0 |
| rotation_y | number | Optional. Rotation runt Y-axeln (yaw). Räckvidden är [-π, π] i radianer. Negativa värden roterar åt vänster, positiva värden roterar åt höger. Standard är 0 |
| rotation_z | number | Optional. Rotation runt Z-axeln (rullning). Räckvidden är [-π, π] i radianer. Negativa värden roterar moturs, positiva värden roterar medurs. Standard är 0 |
| amplitude | number | Optional. Amplituden av avatarrörelsen. Räckvidden är (0, 1]. Värden i (0, 1) betyder minskad amplitud, 1 betyder full amplitud. Standard är 0 |
Animation Configuration
RealtimeAnimation
Konfiguration för animationsutdata inklusive blendshapes och visem.
| Field | Type | Description |
|---|---|---|
| model_name | string | Optional. Namn på animationsmodellen (standard: "default") |
| outputs | RealtimeAnimationOutputType[] | Optional. Utdatatyper (standard: ["blendshapes"]) |
RealtimeAnimationOutputType
Typer av animationsdata att exportera.
Allowed Values:
-
blendshapes- Data om ansiktsblandningar -
viseme_id- Viseme-identifieringsdata
Session Configuration
RealtimeRequestSession
Sessionskonfigurationsobjekt som används i session.update händelser.
| Field | Type | Description |
|---|---|---|
| model | string | Optional. Modellnamn att använda |
| modalities | RealtimeModality[] | Optional. De stödda utdatamodaliteterna för sessionen. Till exempel är "modaliteter": ["text", "ljud"] standardinställningen som möjliggör både text- och ljudutgångsmodaliteter. För att endast aktivera textutmatning, ställ in "modaliteter": ["text"]. För att aktivera avatarutdata, ställ in "modaliteter": ["text", "ljud", "avatar"]. Du kan inte bara aktivera ljud. |
| animation | RealtimeAnimation | Optional. Animation configuration |
| voice | RealtimeVoice | Optional. Voice configuration |
| instructions | string | Optional. Systeminstruktioner för modellen. Instruktionerna kan styra utgångsljudet om OpenAI-röster används men kanske inte gäller för Azure-röster. |
| input_audio_sampling_rate | integer | Optional. Ingångsljudsamplingsfrekvens i Hz (standard: 24000 för pcm16, 8000 för g711_ulaw och g711_alaw) |
| input_audio_format | RealtimeAudioFormat | Optional. Inmatningsljudformat (standard: pcm16) |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Utgångsljudformat (standard: pcm16) |
| input_audio_noise_reduction | RealtimeInputAudioNoiseReductionSettings | Konfiguration för inmatningsljudbrusreducering. Detta kan ställas in på null för att stänga av. Brusreducering filtrerar ljud som läggs till i ingångsljudbufferten innan det skickas till VAD och modellen. Filtrering av ljudet kan förbättra noggrannheten för VAD och vändningsdetektering (minska falska positiva) samt modellera prestandan genom att förbättra uppfattningen av inmatningsljudet. Den här egenskapen kan inte användas. |
| input_audio_echo_cancellation | RealtimeInputAudioEchoCancellationSettings | Konfiguration för inmatad ljud-eko-avstängning. Detta kan ställas in på null för att stänga av. Denna service-side ekoborttagning kan hjälpa till att förbättra kvaliteten på ingångsljudet genom att minska ekots och efterklangens påverkan. Den här egenskapen kan inte användas. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Konfigurationen för transkription av indataljud. Konfigurationen är null (av) som standard. Inmatad ljudtranskribering är inte inbyggd i modellen, eftersom modellen konsumerar ljud direkt. Transkription körs asynkront via /audio/transcriptions slutpunkten och bör behandlas som vägledning för indataljudinnehåll snarare än exakt vad modellen hörde. Om du vill ha ytterligare vägledning om transkriptionstjänsten kan klienten ange språket och fråga efter transkription.Den här egenskapen kan inte användas. |
| turn_detection | RealtimeTurnDetection | Inställningarna för turidentifiering för sessionen. Detta kan ställas in på null för att stänga av. |
| tools | matris med RealtimeTool | Verktygen som är tillgängliga för modellen för sessionen. |
| tool_choice | RealtimeToolChoice | Verktygsvalet för sessionen. Tillåtna värden: auto, noneoch required. Annars kan du ange namnet på den funktion som ska användas. |
| temperature | number | Samplingstemperaturen för modellen. De tillåtna temperaturvärdena är begränsade till [0,6, 1,2]. Standardinställningen är 0,8. |
| max_response_output_tokens | heltal eller "inf" | Det maximala antalet utdatatoken per assistentsvar, inklusive verktygsanrop. Ange ett heltal mellan 1 och 4096 för att begränsa utdatatoken. Annars anger du värdet till "inf" för att tillåta det maximala antalet token. Om du till exempel vill begränsa utdatatoken till 1 000 anger du "max_response_output_tokens": 1000. Om du vill tillåta det maximala antalet token anger du "max_response_output_tokens": "inf".Går som standard till "inf". |
| reasoning_effort | ReasoningEffort | Optional. Begränsar ansträngningen i resonemanget för resonemangsmodeller. Kolla Azure Foundry doc för mer information. Att minska resonemangsansträngningen kan leda till snabbare svar och färre tokens som används på resonemang i ett svar. |
| avatar | RealtimeAvatarConfig | Optional. Avatar configuration |
| output_audio_timestamp_types | RealtimeAudioTimestampType[] | Optional. Tidsstämpeltyper för utgångsljud |
RealtimeModality
Stödde sessionsutdatamodaliteter.
Allowed Values:
-
text- Textutdata -
audio- Ljudutgång -
animation- Animationsutdata -
avatar- Avatar-videoutgång
RealtimeAudioTimestampType
Utdata tidsstämpeltyper stöds i ljudsvarsinnehåll.
Allowed Values:
-
word- Tidsstämplar per ord i utgångsljudet
ReasoningEffort
Begränsar ansträngningen i resonemanget för resonemangsmodeller. Kontrollera modelldokumentationen för stödda värden för varje modell. Att minska resonemangsansträngningen kan leda till snabbare svar och färre tokens som används på resonemang i ett svar.
Allowed Values:
-
none- Ingen resonemangsansträngning -
minimal- Minimal resonemanginsats -
low- Låg resonemangsansträngning – snabbare svar med mindre resonemang -
medium- Medeltung resonemangsinsats – balanserad mellan hastighet och resonemangsdjup -
high- Hög resonemangsinsats – mer grundligt resonemang, kan ta längre tid -
xhigh- Extra hög resonemangsinsats – maximal resonemangsdjup
Tool Configuration
Vi stödjer två typer av verktyg: funktionsanrop och MCP-verktyg som låter dig ansluta till en MCP-server.
RealtimeTool
Verktygsdefinition för funktionsanrop.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "function" |
| name | string | Function name |
| description | string | Funktionsbeskrivning och användningsriktlinjer |
| parameters | object | Funktionsparametrar som JSON-schemaobjekt |
RealtimeToolChoice
Verktygsvalsstrategi.
Detta kan vara:
-
"auto"- Låt modellen välja -
"none"- Använd inte verktyg -
"required"- Måste använda ett verktyg -
{ "type": "function", "name": "function_name" }- Använd specifik funktion
MCPTool
MCP-verktygskonfiguration.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "mcp" |
| server_label | string | Required. MCP-serverns etikett. |
| server_url | string | Required. Serverns URL till MCP-servern. |
| allowed_tools | string[] | Optional. Listan över tillåtna verktygsnamn. Om det inte specificeras är alla verktyg tillåtna. |
| headers | object | Optional. Ytterligare rubriker att inkludera i MCP-förfrågningar. |
| authorization | string | Optional. Auktorisationstoken för MCP-förfrågningar. |
| require_approval | Sträng eller ordbok | Optional. Om det sätts till en sträng, måste värdet vara never eller always. Om den är inställd på en ordbok måste den vara i format {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}. Standardvärdet är always. När den sätts till always, kräver verktygets exekvering godkännande, mcp_approval_request skickas till klienten när mcp-argumentet är klart, och körs bara när mcp_approval_response med approve=true har mottagits. När det sätts till never, kommer verktyget att köras automatiskt utan godkännande. |
RealtimeConversationResponseItem
Detta är en uniontyp som kan vara en av följande:
RealtimeConversationUserMessageItem
Användarmeddelande.
| Field | Type | Description |
|---|---|---|
| id | string | Objektets unika ID. |
| type | string | Måste vara "message" |
| object | string | Måste vara "conversation.item" |
| role | string | Måste vara "user" |
| content | RealtimeInputTextContentPart | Innehållet i meddelandet. |
| status | RealtimeItemStatus | Statusen på föremålet. |
RealtimeConversationAssistantMessageItem
Assistentmeddelande.
| Field | Type | Description |
|---|---|---|
| id | string | Objektets unika ID. |
| type | string | Måste vara "message" |
| object | string | Måste vara "conversation.item" |
| role | string | Måste vara "assistant" |
| content | RealtimeOutputTextContentPart[] eller RealtimeOutputAudioContentPart[] | Innehållet i meddelandet. |
| status | RealtimeItemStatus | Statusen på föremålet. |
RealtimeConversationSystemMessageItem
Systemmeddelandeobjekt.
| Field | Type | Description |
|---|---|---|
| id | string | Objektets unika ID. |
| type | string | Måste vara "message" |
| object | string | Måste vara "conversation.item" |
| role | string | Måste vara "system" |
| content | RealtimeInputTextContentPart[] | Innehållet i meddelandet. |
| status | RealtimeItemStatus | Statusen på föremålet. |
RealtimeConversationFunctionCallItem
Funktion anropsförfrågan.
| Field | Type | Description |
|---|---|---|
| id | string | Objektets unika ID. |
| type | string | Måste vara "function_call" |
| object | string | Måste vara "conversation.item" |
| name | string | Namnet på funktionen att anropa. |
| arguments | string | Argumenten för funktionen anropas som en JSON-sträng. |
| call_id | string | Det unika ID:t för funktionsanropet. |
| status | RealtimeItemStatus | Statusen på föremålet. |
RealtimeConversationFunctionCallOutputItem
Funktion anropssvar.
| Field | Type | Description |
|---|---|---|
| id | string | Objektets unika ID. |
| type | string | Måste vara "function_call_output" |
| object | string | Måste vara "conversation.item" |
| name | string | Namnet på evenemanget som kallades. |
| output | string | Utgången från funktionsanropet. |
| call_id | string | Det unika ID:t för funktionsanropet. |
| status | RealtimeItemStatus | Statusen på föremålet. |
RealtimeConversationMCPListToolsItem
MCP-listverktygssvarspunkt.
| Field | Type | Description |
|---|---|---|
| id | string | Objektets unika ID. |
| type | string | Måste vara "mcp_list_tools" |
| server_label | string | MCP-serverns etikett. |
RealtimeConversationMCPCallItem
MCP:s samtalssvarsobjekt.
| Field | Type | Description |
|---|---|---|
| id | string | Objektets unika ID. |
| type | string | Måste vara "mcp_call" |
| server_label | string | MCP-serverns etikett. |
| name | string | Namnet på verktyget att ringa. |
| approval_request_id | string | Godkännande-ID:t för MCP-samtalet. |
| arguments | string | Argumenten för MCP-samtalet. |
| output | string | Utgången från MCP-samtalet. |
| error | object | Felet beskriver om MCP-anropet misslyckades. |
RealtimeConversationMCPApprovalRequestItem
MCP-godkännandeförfrågan är punkt.
| Field | Type | Description |
|---|---|---|
| id | string | Objektets unika ID. |
| type | string | Måste vara "mcp_approval_request" |
| server_label | string | MCP-serverns etikett. |
| name | string | Namnet på verktyget att ringa. |
| arguments | string | Argumenten för MCP-samtalet. |
RealtimeItemStatus
Status för samtalsämnen.
Allowed Values:
-
in_progress- För närvarande under bearbetning -
completed- Framgångsrikt genomförd -
incomplete- Ofullständig (avbruten eller misslyckad)
RealtimeContentPart
Innehållsdelen i ett meddelande.
RealtimeInputTextContentPart
Textinnehållsdelen.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "input_text" |
| text | string | Textinnehållet |
RealtimeOutputTextContentPart
Textinnehållsdelen.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "text" |
| text | string | Textinnehållet |
RealtimeInputAudioContentPart
Ljudinnehållsdelen.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "input_audio" |
| audio | string | Optional. Base64-kodad ljuddata |
| transcript | string | Optional. Audio transcript |
RealtimeOutputAudioContentPart
Ljudinnehållsdelen.
| Field | Type | Description |
|---|---|---|
| type | string | Måste vara "audio" |
| audio | string | Base64-kodad ljuddata |
| transcript | string | Optional. Audio transcript |
Response Objects
RealtimeResponse
Responsobjekt som representerar ett modellinferenssvar.
| Field | Type | Description |
|---|---|---|
| id | string | Optional. Response ID |
| object | string | Optional. Alltid "realtime.response" |
| status | RealtimeResponseStatus | Optional. Response status |
| status_details | RealtimeResponseStatusDetails | Optional. Status details |
| output | RealtimeConversationResponseItem[] | Optional. Output items |
| usage | RealtimeUsage | Optional. Statistik över tokenanvändning |
| conversation_id | string | Optional. Associerad konversations-ID |
| voice | RealtimeVoice | Optional. Röst som används för svar |
| modalities | string[] | Optional. Använda utmatningsmodaliteter |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Används ljudformat |
| temperature | number | Optional. Temperature used |
| max_response_output_tokens | heltal eller "inf" | Optional. Maxantal tokens som används |
RealtimeResponseStatus
Svarsstatusvärden.
Allowed Values:
-
in_progress- Svar genereras -
completed- Svar slutfört framgångsrikt -
canceled- Svaret avbröts -
incomplete- Svar ofullständigt (avbrutet) -
failed- Svar misslyckades med fel
RealtimeUsage
Statistik för tokenanvändning.
| Field | Type | Description |
|---|---|---|
| total_tokens | integer | Totalt antal tokens som används |
| input_tokens | integer | Använda inmatningstokens |
| output_tokens | integer | Genererade utgångstokens |
| input_token_details | TokenDetails | Uppdelning av indatatoken |
| output_token_details | TokenDetails | Uppdelning av utmatningstokens |
TokenDetails
Detaljerad uppdelning av tokenanvändning.
| Field | Type | Description |
|---|---|---|
| cached_tokens | integer | Optional. Cachade tokens som används |
| text_tokens | integer | Optional. Använda texttokens |
| audio_tokens | integer | Optional. Använda ljudtokens |
Error Handling
RealtimeErrorDetails
Felinformationsobjekt.
| Field | Type | Description |
|---|---|---|
| type | string | Feltyp (t.ex. "invalid_request_error", , "server_error") |
| code | string | Optional. Specifik felkod |
| message | string | Beskrivning av mänskligt läsbart fel |
| param | string | Optional. Parameter relaterad till felet |
| event_id | string | Optional. ID för klienthändelsen som orsakade felet |
RealtimeConversationRequestItem
Du använder RealtimeConversationRequestItem objektet för att skapa ett nytt objekt i konversationen via händelsen conversation.item.create .
Detta är en uniontyp som kan vara en av följande:
RealtimeSystemMessageItem
Ett systemmeddelande.
| Field | Type | Description |
|---|---|---|
| type | string | Typ av objekt. Tillåtna värden: message |
| role | string | Meddelandets roll. Tillåtna värden: system |
| content | array av RealtimeInputTextContentPart | Innehållet i meddelandet. |
| id | string | Objektets unika ID. Klienten kan ange ID:t för att hantera kontext på serversidan. Om klienten inte anger något ID genererar servern ett. |
RealtimeUserMessageItem
Ett användarmeddelande.
| Field | Type | Description |
|---|---|---|
| type | string | Typ av objekt. Tillåtna värden: message |
| role | string | Meddelandets roll. Tillåtna värden: user |
| content | array av RealtimeInputTextContentPart eller RealtimeInputAudioContentPart | Innehållet i meddelandet. |
| id | string | Objektets unika ID. Klienten kan ange ID:t för att hantera kontext på serversidan. Om klienten inte anger något ID genererar servern ett. |
RealtimeAssistantMessageItem
Ett meddelande från assistenten.
| Field | Type | Description |
|---|---|---|
| type | string | Typ av objekt. Tillåtna värden: message |
| role | string | Meddelandets roll. Tillåtna värden: assistant |
| content | array av RealtimeOutputTextContentPart | Innehållet i meddelandet. |
RealtimeFunctionCallItem
Ett funktionsanropsobjekt.
| Field | Type | Description |
|---|---|---|
| type | string | Typ av objekt. Tillåtna värden: function_call |
| name | string | Namnet på funktionen att anropa. |
| arguments | string | Argumenten i funktionen kallas en JSON-sträng. |
| call_id | string | ID för funktionsanropsobjektet. |
| id | string | Objektets unika ID. Klienten kan ange ID:t för att hantera kontext på serversidan. Om klienten inte anger något ID genererar servern ett. |
RealtimeFunctionCallOutputItem
En funktion anropar utdataobjekt.
| Field | Type | Description |
|---|---|---|
| type | string | Typ av objekt. Tillåtna värden: function_call_output |
| call_id | string | ID för funktionsanropsobjektet. |
| output | string | Utdata från funktionsanropet, detta är en fri sträng med funktionsresultatet, kan också vara tom. |
| id | string | Objektets unika ID. Om klienten inte anger något ID genererar servern ett. |
RealtimeMCPApprovalResponseItem
Ett godkännandesvar från MCP.
| Field | Type | Description |
|---|---|---|
| type | string | Typ av objekt. Tillåtna värden: mcp_approval_response |
| approve | boolean | Om MCP-ansökan godkänns. |
| approval_request_id | string | ID:t för MCP:s godkännandebegäran. |
| id | string | Objektets unika ID. Klienten kan ange ID:t för att hantera kontext på serversidan. Om klienten inte anger något ID genererar servern ett. |
RealtimeFunctionTool
Definitionen av ett funktionsverktyg som används av realtidsslutpunkten.
| Field | Type | Description |
|---|---|---|
| type | string | Typen av verktyg. Tillåtna värden: function |
| name | string | Namnet på funktionen. |
| description | string | Beskrivningen av funktionen, inklusive användningsriktlinjer. Till exempel "Använd den här funktionen för att hämta den aktuella tiden." |
| parameters | object | Parametrarna för funktionen i form av ett JSON-objekt. |
RealtimeItemStatus
Allowed Values:
in_progresscompletedincomplete
RealtimeResponseAudioContentPart
| Field | Type | Description |
|---|---|---|
| type | string | Typen av innehållsdelen. Tillåtna värden: audio |
| transcript | string | Avskriften av ljudet. Den här egenskapen kan inte användas. |
RealtimeResponseFunctionCallItem
| Field | Type | Description |
|---|---|---|
| type | string | Typ av objekt. Tillåtna värden: function_call |
| name | string | Namnet på funktionsanropsobjektet. |
| call_id | string | ID för funktionsanropsobjektet. |
| arguments | string | Argumenten för funktionsanropsobjektet. |
| status | RealtimeItemStatus | Statusen på föremålet. |
RealtimeResponseFunctionCallOutputItem
| Field | Type | Description |
|---|---|---|
| type | string | Typ av objekt. Tillåtna värden: function_call_output |
| call_id | string | ID för funktionsanropsobjektet. |
| output | string | Utdata för funktionsanropsobjektet. |
RealtimeResponseOptions
| Field | Type | Description |
|---|---|---|
| modalities | array | Utdatamodaliteterna för svaret. Tillåtna värden: text, audioTill exempel "modalities": ["text", "audio"] är standardinställningen som aktiverar både text- och ljudutgångsmodaliteter. För att endast aktivera textutmatning, sätt "modalities": ["text"]. Du kan inte bara aktivera ljud. |
| instructions | string | Instruktionerna (systemmeddelandet) för att styra modellens svar. |
| voice | RealtimeVoice | Rösten som används för modellsvaret för sessionen. När rösten används i sessionen för modellens ljudsvar kan den inte ändras. |
| tools | matris med RealtimeTool | Verktygen som är tillgängliga för modellen för sessionen. |
| tool_choice | RealtimeToolChoice | Verktygsvalet för sessionen. |
| temperature | number | Samplingstemperaturen för modellen. De tillåtna temperaturvärdena är begränsade till [0,6, 1,2]. Standardinställningen är 0,8. |
| max_response_output_tokens | heltal eller "inf" | Det maximala antalet utdatatoken per assistentsvar, inklusive verktygsanrop. Ange ett heltal mellan 1 och 4096 för att begränsa utdatatoken. Annars anger du värdet till "inf" för att tillåta det maximala antalet token. Om du till exempel vill begränsa utdatatoken till 1 000 anger du "max_response_output_tokens": 1000. Om du vill tillåta det maximala antalet token anger du "max_response_output_tokens": "inf".Går som standard till "inf". |
| reasoning_effort | ReasoningEffort | Optional. Begränsar ansträngningen i resonemanget för resonemangsmodeller. Kontrollera modelldokumentationen för stödda värden för varje modell. Att minska resonemangsansträngningen kan leda till snabbare svar och färre tokens som används på resonemang i ett svar. |
| conversation | string | Styr vilken konversation svaret läggs till i. De värden som stöds är auto och none.Värdet auto (eller om du inte anger den här egenskapen) ser till att innehållet i svaret läggs till i sessionens standardkonversation.Ange den här egenskapen till none för att skapa ett out-of-band-svar där objekt inte läggs till i standardkonversationen. Standardvärdet är "auto" |
| metadata | map | Konfigurera upp till 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara maximalt 64 tecken långa och värden kan vara maximalt 512 tecken långa. Till exempel: metadata: { topic: "classification" } |
RealtimeResponseSession
Objektet RealtimeResponseSession representerar en session i REALTIDS-API:et. Den används i några av serverhändelserna, till exempel:
| Field | Type | Description |
|---|---|---|
| object | string | Sessionsobjektet. Tillåtna värden: realtime.session |
| id | string | Sessionens unika ID. |
| model | string | Den modell som används för sessionen. |
| modalities | array | Utgångsmetoderna för sessionen. Tillåtna värden: text, audioTill exempel "modalities": ["text", "audio"] är standardinställningen som aktiverar både text- och ljudutgångsmodaliteter. För att endast aktivera textutmatning, sätt "modalities": ["text"]. Du kan inte bara aktivera ljud. |
| instructions | string | Anvisningarna (systemmeddelandet) för att vägleda modellens text- och ljudsvar. Här följer några exempelinstruktioner som hjälper dig att vägleda innehåll och format för text- och ljudsvar: "instructions": "be succinct""instructions": "act friendly""instructions": "here are examples of good responses"Här följer några exempelinstruktioner som hjälper dig att vägleda ljudbeteendet: "instructions": "talk quickly""instructions": "inject emotion into your voice""instructions": "laugh frequently"Även om modellen kanske inte alltid följer dessa instruktioner ger de vägledning om önskat beteende. |
| voice | RealtimeVoice | Rösten som används för modellsvaret för sessionen. När rösten används i sessionen för modellens ljudsvar kan den inte ändras. |
| input_audio_sampling_rate | integer | Samplingsfrekvensen för ingångsljudet. |
| input_audio_format | RealtimeAudioFormat | Formatet för indataljudet. |
| output_audio_format | RealtimeAudioFormat | Formatet för utdataljudet. |
| input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Inställningarna för transkription av ljudindata. Den här egenskapen kan inte användas. |
| turn_detection | RealtimeTurnDetection | Inställningarna för turidentifiering för sessionen. Den här egenskapen kan inte användas. |
| tools | matris med RealtimeTool | Verktygen som är tillgängliga för modellen för sessionen. |
| tool_choice | RealtimeToolChoice | Verktygsvalet för sessionen. |
| temperature | number | Samplingstemperaturen för modellen. De tillåtna temperaturvärdena är begränsade till [0,6, 1,2]. Standardinställningen är 0,8. |
| max_response_output_tokens | heltal eller "inf" | Det maximala antalet utdatatoken per assistentsvar, inklusive verktygsanrop. Ange ett heltal mellan 1 och 4096 för att begränsa utdatatoken. Annars anger du värdet till "inf" för att tillåta det maximala antalet token. Om du till exempel vill begränsa utdatatoken till 1 000 anger du "max_response_output_tokens": 1000. Om du vill tillåta det maximala antalet token anger du "max_response_output_tokens": "inf". |
RealtimeResponseStatusDetails
| Field | Type | Description |
|---|---|---|
| type | RealtimeResponseStatus | Status för svaret. |
RealtimeRateLimitsItem
| Field | Type | Description |
|---|---|---|
| name | string | Egenskapsnamnet för hastighetsbegränsning som det här objektet innehåller information om. |
| limit | integer | Den maximala konfigurerade gränsen för den här egenskapen för hastighetsgräns. |
| remaining | integer | Den återstående tillgängliga kvoten mot den konfigurerade gränsen för den här egenskapen för hastighetsgräns. |
| reset_seconds | number | Återstående tid, i sekunder, tills den här egenskapen för hastighetsbegränsning återställs. |
Related Resources
- Prova snabbstarten av Voice Live
- Prova Voice Live-agenternas snabbstart
- Läs mer om hur du använder Voice Live-API:et