Voice Live 2025-10-01 API-referens

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

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

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

Till 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.