Voice Live 2025-10-01 API-Referenz

Die Voice Live API bietet Echtzeit-bidirektionale Kommunikation für sprachgestützte Anwendungen über WebSocket-Verbindungen. Diese API unterstützt fortschrittliche Funktionen wie Spracherkennung, Text-zu-Sprach-Synthese, Avatar-Streaming, Animationsdaten und umfassende Audioverarbeitungsfunktionen.

Die API verwendet JSON-formatierte Ereignisse, die über WebSocket-Verbindungen gesendet werden, um Gespräche, Audiostreams, Avatar-Interaktionen und Echtzeitantworten zu verwalten. Ereignisse werden in Client-Events (vom Client zum Server gesendet) und Server-Events (vom Server zu Client gesendet) unterteilt.

Key Features

  • Echtzeit-Audioverarbeitung: Unterstützung für mehrere Audioformate, einschließlich PCM16 bei unterschiedlichen Abtastraten und G.711-Codecs
  • Erweiterte Sprachoptionen: OpenAI-Stimmen, Azure benutzerdefinierte Stimmen, Azure Standardstimmen und Azure persönliche Stimmen
  • Avatar-Integration: WebRTC-basiertes Avatar-Streaming mit Video, Animation und Blendshapes
  • Intelligente Dreherkennung: Mehrere VAD-Optionen, darunter Azure semantisches VAD und serverseitige Erkennung
  • Audio-Verbesserung: Eingebaute Rauschunterdrückung und Echounterdrückung
  • Function Calling: Tool-Integration für verbesserte Konversationsmöglichkeiten
  • Flexible Sitzungsverwaltung: Konfigurierbare Ausgabemodalitäten, Anweisungen und Antwortparameter

Client Events

Die Voice Live API unterstützt folgende Client-Events, die vom Client an den Server gesendet werden können:

Event Description
session.update Aktualisieren Sie die Sitzungskonfiguration einschließlich Sprache, Ausgabemodalitäten, Zugerkennung und weiteren Einstellungen
session.avatar.connect Stellen Sie eine Avatarverbindung her, indem Sie Client-SDP für WebRTC-Verhandlungen bereitstellen
input_audio_buffer.append Audiobytes an den Eingabe-Audiopuffer anfügen
input_audio_buffer.commit Commit den Eingangs-Audiopuffer zur Verarbeitung
input_audio_buffer.clear Lösche den Eingangs-Audiopuffer
conversation.item.create Füge einen neuen Gegenstand zum Gesprächskontext hinzu
conversation.item.retrieve Holen Sie sich einen bestimmten Gegenstand aus dem Gespräch ab
conversation.item.truncate Eine Assistenten-Audionachricht abschneiden
conversation.item.delete Entferne einen Gegenstand aus dem Gespräch
response.create Weisen Sie den Server an, eine Antwort mittels Modellinferenz zu erstellen
response.cancel Eine laufende Antwort abbrechen

session.update

Aktualisieren Sie die Konfiguration der Sitzung. Dieses Ereignis kann jederzeit gesendet werden, um Einstellungen wie Sprache, Ausgabemodalitäten, Zugerkennung, Werkzeuge und andere Sitzungsparameter zu ändern. Beachte, dass eine Sitzung, sobald sie mit einem bestimmten Modell initialisiert wurde, nicht mehr in ein anderes Modell geändert werden kann.

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 Muss sein "session.update"
session RealtimeRequestSession Sitzungskonfigurationsobjekt mit Feldern zum Aktualisieren

Beispiel mit 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

Stellen Sie eine Avatarverbindung her, indem Sie das SDP-Angebot (Session Description Protocol) des Kunden für WebRTC-Medienverhandlungen bereitstellen. Dieses Ereignis ist erforderlich, wenn Avatar-Funktionen verwendet werden.

Event Structure

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

Properties

Field Type Description
type string Muss sein "session.avatar.connect"
client_sdp string Das SDP-Angebot des Kunden für die WebRTC-Verbindungseinrichtung, codiert mit base64

input_audio_buffer.append

Fügen Sie Audiobytes dem Eingabe-Audiopuffer hinzu.

Event Structure

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

Properties

Field Type Description
type string Muss sein "input_audio_buffer.append"
audio string Base64-kodierte Audiodaten

input_audio_buffer.commit

Committen Sie den Eingangs-Audiopuffer zur Verarbeitung.

Event Structure

{
  "type": "input_audio_buffer.commit"
}

Properties

Field Type Description
type string Muss sein "input_audio_buffer.commit"

input_audio_buffer.clear

Lösche den Eingangs-Audiopuffer.

Event Structure

{
  "type": "input_audio_buffer.clear"
}

Properties

Field Type Description
type string Muss sein "input_audio_buffer.clear"

conversation.item.create

Füge einen neuen Gegenstand zum Gesprächskontext hinzu. Dies kann Nachrichten, Funktionsaufrufe und Funktionsaufrufantworten umfassen. Punkte können an bestimmten Stellen im Gesprächsverlauf eingefügt werden.

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 Muss sein "conversation.item.create"
previous_item_id string Optional. ID des Gegenstands, nach dem man diesen Einsatz einfügen soll. Falls nicht angegeben, fügt es am Ende hinzu
item RealtimeConversationRequestItem Der Punkt, den man zur Diskussion hinzufügen möchte

Beispiel mit Audio-Inhalten

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

Beispiel mit Function Call-Ausgabe

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

Beispiel mit MCP-Genehmigungsantwort

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

conversation.item.retrieve

Rufen Sie einen bestimmten Gegenstand aus dem Gesprächsverlauf ab. Dies ist nützlich, um verarbeitete Audioaufnahmen nach Rauschunterdrückung und VAD zu inspizieren.

Event Structure

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

Properties

Field Type Description
type string Muss sein "conversation.item.retrieve"
item_id string Die ID des zu holenden Gegenstands

conversation.item.truncate

Kürze den Audioinhalt einer Assistentennachricht. Dies ist nützlich, um die Wiedergabe an einem bestimmten Punkt zu stoppen und das Verständnis des Servers mit dem Zustand des Clients zu synchronisieren.

Event Structure

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

Properties

Field Type Description
type string Muss sein "conversation.item.truncate"
item_id string Die ID des Assistenten-Nachrichtenelements zum Abschneiden
content_index integer Der Index des Inhalts ist zum Abkürzen
audio_end_ms integer Die Dauer, bis zu der das Audio gekürzt werden kann, in Millisekunden

conversation.item.delete

Entferne einen Punkt aus dem Gesprächsverlauf.

Event Structure

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

Properties

Field Type Description
type string Muss sein "conversation.item.delete"
item_id string Die ID des zu löschenden Objekts

response.create

Weist den Server an, eine Antwort über Modellinferenz zu erstellen. Dieses Ereignis kann eine reaktionsspezifische Konfiguration spezifizieren, die die Sitzungsstandardeinstellungen überschreibt.

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 Muss sein "response.create"
response RealtimeResponseOptions Optionale Antwortkonfiguration, die die Session-Standardwerte überschreibt

Beispiel mit 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
  }
}

Beispiel mit 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

Stornieren Sie eine laufende Antwort. Dadurch wird sofort die Antwortgenerierung und die zugehörige Audioausgabe gestoppt.

Event Structure

{
  "type": "response.cancel"
}

Properties

Field Type Description
type string Muss sein "response.cancel"

input_audio_buffer.append

Das Client-Event input_audio_buffer.append wird verwendet, um Audiobytes an den Eingabe-Audiopuffer anzuhängen. Der Audiopuffer ist ein temporärer Speicher, auf den du schreiben und später committen kannst.

Im Server VAD (Voice Activity Detection)-Modus wird der Audiopuffer verwendet, um Sprache zu erkennen, und der Server entscheidet, wann er commitet. Wenn das Server-VAD deaktiviert ist, kann der Client wählen, wie viel Audio in jedem Ereignis bis zu maximal 15 MiB eingefügt werden soll. Zum Beispiel kann das Streamen kleinerer Abschnitte vom Client das VAD ermöglichen, reaktionsschneller zu werden.

Im Gegensatz zu den meisten anderen Client-Events sendet der Server keine Bestätigungsantwort an das Client-Event input_audio_buffer.append .

Event structure

{
  "type": "input_audio_buffer.append",
  "audio": "<audio>"
}

Properties

Field Type Description
type string Der Ereignistyp muss sein input_audio_buffer.append.
audio string Base64-codierte Audiobytes. Dieser Wert muss im vom Feld input_audio_format in der Sitzungskonfiguration angegebenen Format sein.

input_audio_buffer.clear

Das Client-Event input_audio_buffer.clear wird verwendet, um die Audiobytes im Puffer zu löschen.

Der Server antwortet mit einem input_audio_buffer.cleared Ereignis.

Event structure

{
  "type": "input_audio_buffer.clear"
}

Properties

Field Type Description
type string Der Ereignistyp muss sein input_audio_buffer.clear.

input_audio_buffer.commit

Das Client-Event input_audio_buffer.commit wird verwendet, um den Audiopuffer der Benutzereingabe zu committen, der ein neues Benutzernachrichtenelement in der Konversation erstellt. Audio wird transkribiert, wenn input_audio_transcription es für die Sitzung konfiguriert ist.

Im Server-VAD-Modus muss der Client dieses Ereignis nicht senden, sondern der Server comminiert automatisch den Audiopuffer. Ohne Server-VAD muss der Client den Audiopuffer committen, um ein Benutzernachrichtenelement zu erstellen. Dieses Client-Ereignis erzeugt einen Fehler, wenn der Eingangs-Audiopuffer leer ist.

Das Committing des Eingangs-Audiopuffers erzeugt keine Reaktion vom Modell.

Der Server antwortet mit einem input_audio_buffer.committed Ereignis.

Event structure

{
  "type": "input_audio_buffer.commit"
}

Properties

Field Type Description
type string Der Ereignistyp muss sein input_audio_buffer.commit.

Server Events

Die Voice Live API sendet folgende Serverereignisse, um Status, Antworten und Daten an den Client zu kommunizieren:

Event Description
error Zeigt an, dass während der Verarbeitung ein Fehler aufgetreten ist
warning Zeigt eine Warnung an, die den Gesprächsfluss nicht unterbricht
session.created Gesendet, wenn eine neue Sitzung erfolgreich eingerichtet wurde
session.updated Gesendet, wenn die Sitzungskonfiguration aktualisiert wird
session.avatar.connecting Zeigt an, dass eine WebRTC-Verbindung zum Avatar hergestellt wird.
conversation.item.created Gesendet, wenn ein neuer Eintrag zum Gespräch hinzugefügt wird
conversation.item.retrieved Antwort auf conversation.item.retrieve-Anfrage
conversation.item.truncated Bestätigt die Punktabschneidung
conversation.item.deleted Bestätigt die Löschung des Elements
conversation.item.input_audio_transcription.completed Die Eingabe-Audiotranskription ist abgeschlossen
conversation.item.input_audio_transcription.delta Audio-Transkription mit Streaming-Eingabe
conversation.item.input_audio_transcription.failed Eingabe-Audio-Transkription fehlschlug
input_audio_buffer.committed Der Eingangs-Audiopuffer diente der Verarbeitung
input_audio_buffer.cleared Der Eingangs-Audiopuffer wurde gelöscht
input_audio_buffer.speech_started Sprache im Eingangs-Audiopuffer (VAD) erkannt
input_audio_buffer.speech_stopped Sprachending im Eingangs-Audiopuffer (VAD)
response.created Eine neue Reaktionsgeneration hat begonnen
response.done Die Antwortgenerierung ist abgeschlossen
response.output_item.added Neuer Ausgabepunkt zur Antwort hinzugefügt
response.output_item.done Das Ausgabeobjekt ist vollständig
response.content_part.added Neuer Inhaltsteil zum Ausgabeobjekt hinzugefügt
response.content_part.done Der inhaltliche Teil ist abgeschlossen
response.text.delta Streaming-Textinhalte aus dem Modell
response.text.done Der Textinhalt ist vollständig
response.audio_transcript.delta Audiotranskript im Streaming
response.audio_transcript.done Audio-Transkript ist vollständig
response.audio.delta Audio-Streaming-Inhalte aus dem Modell
response.audio.done Die Audioinhalte sind vollständig
response.animation_blendshapes.delta Streaming-Animations-Blendshapes-Daten
response.animation_blendshapes.done Animations-Blendshapes-Daten sind vollständig
response.audio_timestamp.delta Streaming-Audio-Zeitstempelinformationen
response.audio_timestamp.done Audio-Zeitstempelinformationen sind vollständig
response.animation_viseme.delta Streaming-Animationsvisem-Daten
response.animation_viseme.done Die Animationsviseme-Daten sind vollständig
response.function_call_arguments.delta Streaming-Funktionsaufrufargumente
response.function_call_arguments.done Funktionsaufrufargumente sind vollständig
mcp_list_tools.in_progress Die Auflistung der MCP-Werkzeuge ist in Arbeit
mcp_list_tools.completed Die Auflistung der MCP-Werkzeuge ist abgeschlossen
mcp_list_tools.failed Die MCP-Werkzeugliste ist gescheitert
response.mcp_call_arguments.delta Streaming von MCP-Aufrufargumenten
response.mcp_call_arguments.done MCP-Aufrufargumente sind vollständig
response.mcp_call.in_progress Der MCP-Anruf ist im Gange
response.mcp_call.completed MCP-Anruf ist abgeschlossen
response.mcp_call.failed MCP-Anruf ist fehlgeschlagen

session.created

Gesendet, wenn eine neue Sitzung erfolgreich eingerichtet wurde. Dies ist das erste Ereignis, das nach der Verbindung zur API empfangen wird.

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 Muss sein "session.created"
session RealtimeResponseSession Das erstellte Session-Objekt

session.updated

Gesendet, wenn die Sitzungskonfiguration als Reaktion auf ein session.update Client-Ereignis erfolgreich aktualisiert wurde.

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 Muss sein "session.updated"
session RealtimeResponseSession Das aktualisierte Sitzungsobjekt

session.avatar.connecting

Zeigt an, dass eine Avatar-WebRTC-Verbindung hergestellt wird. Dieses Ereignis wird als Antwort auf ein session.avatar.connect Kundenereignis gesendet.

Event Structure

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

Properties

Field Type Description
type string Muss sein "session.avatar.connecting"

conversation.item.created

Gesendet, wenn ein neuer Punkt zur Konversation hinzugefügt wird, entweder über ein Kundenereignis conversation.item.create oder automatisch während der Antwortgenerierung.

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 Muss sein "conversation.item.created"
previous_item_id string ID des Gegenstands, nach dem dieser Gegenstand eingesetzt wurde
item RealtimeConversationResponseItem Das erstellte Gesprächselement

Beispiel mit Audio-Item

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

conversation.item.retrieved

Gesendet als Antwort auf ein conversation.item.retrieve Kundenereignis und liefert das gewünschte Gesprächsobjekt.

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 Muss sein "conversation.item.retrieved"
item RealtimeConversationResponseItem Das wiederholte Gesprächsobjekt

conversation.item.truncated

Das Server-Event conversation.item.truncated wird zurückgegeben, wenn der Client ein früheres Assistant-Audio-Message-Element mit einem Ereignis abschneidet conversation.item.truncate . Dieses Ereignis wird verwendet, um das Verständnis des Tons durch den Server mit der Wiedergabe des Clients zu synchronisieren.

Dieses Ereignis kürzt das Audio und entfernt das serverseitige Texttranskript, um sicherzustellen, dass kein Text im Kontext vorhanden ist, von dem der Nutzer nichts weiß.

Event structure

{
  "type": "conversation.item.truncated",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Properties

Field Type Description
type string Der Ereignistyp muss sein conversation.item.truncated.
item_id string Die ID des Assistenten-Nachrichtenelements, das abgeschnitten wurde.
content_index integer Der Index des Inhaltsteils, der gekürzt wurde.
audio_end_ms integer Die Dauer, bis zu der das Audio verkürzt wurde, in Millisekunden.

conversation.item.deleted

Gesendet als Antwort auf ein conversation.item.delete Kundenereignis, das bestätigt, dass der angegebene Punkt aus dem Gespräch entfernt wurde.

Event Structure

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

Properties

Field Type Description
type string Muss sein "conversation.item.deleted"
item_id string ID des gelöschten Gegenstands

response.created

Gesendet, wenn eine neue Antwortgenerierung beginnt. Dies ist das erste Ereignis in einer Reaktionssequenz.

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 Muss sein "response.created"
response RealtimeResponse Das erstellte Antwortobjekt

response.done

Gesendet, wenn die Antwortgenerierung abgeschlossen ist. Dieses Ereignis enthält die endgültige Antwort mit allen Ausgabeeinträgen und Nutzungsstatistiken.

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 Muss sein "response.done"
response RealtimeResponse Das Objekt der abgeschlossenen Antwort

response.output_item.added

Gesendet, wenn während der Generierung ein neues Ausgabeelement zur Antwort hinzugefügt wird.

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 Muss sein "response.output_item.added"
response_id string ID der Antwort, zu der dieser Beitrag gehört
output_index integer Index des Elements im Ausgabearray der Antwort
item RealtimeConversationResponseItem Das hinzugefügte Ausgabeelement

response.output_item.done

Gesendet, wenn ein Ausgabepunkt abgeschlossen ist.

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 Muss sein "response.output_item.done"
response_id string ID der Antwort, zu der dieser Beitrag gehört
output_index integer Index des Elements im Ausgabearray der Antwort
item RealtimeConversationResponseItem Das abgeschlossene Ausgabeelement

response.content_part.added

Das Server-Ereignis response.content_part.added wird zurückgegeben, wenn während der Antwortgenerierung ein neuer Inhaltsteil zu einem Assistant-Nachrichtenelement hinzugefügt wird.

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 Muss sein "response.content_part.added"
response_id string ID der Antwort
item_id string ID des Artikels, zu dem dieser Inhaltsteil gehört
output_index integer Index des Punkts in der Antwort
content_index integer Index dieses Inhaltsteils im Artikel
part RealtimeContentPart Der Inhaltsteil, der hinzugefügt wurde

response.content_part.done

Das Server-Event response.content_part.done wird zurückgegeben, wenn ein Inhaltsteil in einem Assistant-Nachrichtenelement gestreamt wird.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.

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 Muss sein "response.content_part.done"
response_id string ID der Antwort
item_id string ID des Artikels, zu dem dieser Inhaltsteil gehört
output_index integer Index des Punkts in der Antwort
content_index integer Index dieses Inhaltsteils im Artikel
part RealtimeContentPart Der Teil mit den fertigen Inhalten

response.text.delta

Streamende Textinhalte vom Modell. Wird schrittweise gesendet, während das Modell Text erzeugt.

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 Muss sein "response.text.delta"
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils
delta string Inkrementeller Textinhalt

response.text.done

Gesendet, wenn die Textinhaltserstellung abgeschlossen ist.

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 Muss sein "response.text.done"
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils
text string Der vollständige Textinhalt

response.audio.delta

Audio-Inhalte vom Modell werden gestreamt. Audio wird als base64-kodierte Daten bereitgestellt.

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 Muss sein "response.audio.delta"
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils
delta string Base64-kodierter Audio-Datenblock

response.audio.done

Gesendet, wenn die Audio-Generierung abgeschlossen ist.

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 Muss sein "response.audio.done"
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils

response.audio_transcript.delta

Streaming-Transkript der generierten Audioinhalte.

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 Muss sein "response.audio_transcript.delta"
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils
delta string Inkrementeller Transkripttext

response.audio_transcript.done

Gesendet, wenn die Audiotranskripterstellung abgeschlossen ist.

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 Muss sein "response.audio_transcript.done"
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils
transcript string Der vollständige Text des Transkripts

conversation.item.input_audio_transcription.completed

Das Server-Event conversation.item.input_audio_transcription.completed ist das Ergebnis der Audiotranskription für Sprache, die in den Audiopuffer geschrieben wurde.

Die Transkription beginnt, wenn der Eingabe-Audiopuffer vom Client oder Server (im Modus server_vad ) ausgeführt wird. Die Transkription läuft asynchron mit der Antworterstellung ab, sodass dieses Ereignis vor oder nach den Reaktionsereignissen auftreten kann.

Echtzeit-API-Modelle akzeptieren Audio nativ, sodass die Eingabetranskription ein separater Prozess ist, der auf einem separaten Spracherkennungsmodell wie whisper-1ausgeführt wird. Daher kann das Transkript etwas von der Interpretation des Modells abweichen und sollte als grobe Orientierung behandelt werden.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss sein conversation.item.input_audio_transcription.completed.
item_id string Die ID des Benutzernachrichtenelements mit dem Audio.
content_index integer Der Index des Inhaltsteils, der das Audio enthält.
transcript string Der transkribierte Text.

conversation.item.input_audio_transcription.delta

Das Serverereignis conversation.item.input_audio_transcription.delta wird zurückgegeben, wenn die Eingabe-Audiotranskription konfiguriert wird und eine Transkriptionsanfrage für eine Benutzernachricht im Gange ist. Diese Veranstaltung liefert teilweise Transkriptionsergebnisse, sobald sie verfügbar sind.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss sein conversation.item.input_audio_transcription.delta.
item_id string Die ID des Benutzernachrichtenelements.
content_index integer Der Index des Inhaltsteils, der das Audio enthält.
delta string Der inkrementelle Transkriptionstext.

conversation.item.input_audio_transcription.failed

Das Serverereignis conversation.item.input_audio_transcription.failed wird zurückgegeben, wenn die Eingabe-Audiotranskription konfiguriert wird und eine Transkriptionsanfrage für eine Benutzernachricht fehlschlägt. Dieses Ereignis ist von anderen error Ereignissen getrennt, sodass der Kunde das zugehörige Element identifizieren kann.

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 Der Ereignistyp muss sein conversation.item.input_audio_transcription.failed.
item_id string Die ID des Benutzernachrichtenelements.
content_index integer Der Index des Inhaltsteils, der das Audio enthält.
error object Details zum Transkriptionsfehler.

Siehe verschachtelte Eigenschaften in der nächsten Tabelle.

Error properties

Field Type Description
type string Die Art von Fehler.
code string Fehlercode, falls vorhanden.
message string Eine für Menschen lesbare Fehlermeldung.
param string Parameter, der mit dem Fehler zusammenhängt, falls vorhanden.

response.animation_blendshapes.delta

Das Server-Event response.animation_blendshapes.delta wird zurückgegeben, wenn das Modell als Teil einer Antwort Animations-Blendshapes-Daten erzeugt. Dieses Ereignis liefert inkrementelle Blendshapes-Daten, sobald sie verfügbar sind.

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 Der Ereignistyp muss sein response.animation_blendshapes.delta.
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils
frame_index integer Index des ersten Frames in diesem Frame-Batch
frames Array von Array von Float Array von Blendshape-Frames, jedes Frame ist ein Array von Blendshape-Werten

response.animation_blendshapes.done

Das Serverereignis response.animation_blendshapes.done wird zurückgegeben, wenn das Modell die Animations-Blendshapes-Daten als Teil einer Antwort generiert hat.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss sein response.animation_blendshapes.done.
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort

response.audio_timestamp.delta

Das Serverereignis response.audio_timestamp.delta wird zurückgegeben, wenn das Modell Audio-Zeitstempeldaten als Teil einer Antwort erzeugt. Dieses Ereignis liefert inkrementelle Zeitstempeldaten für die Ausrichtung von Audio und Text, sobald sie verfügbar sind.

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 Der Ereignistyp muss sein response.audio_timestamp.delta.
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils
audio_offset_ms integer Audio versetzt sich in Millisekunden ab dem Beginn des Audios
audio_duration_ms integer Dauer des Audiosegments in Millisekunden
text string Der Textabschnitt, der diesem Audio-Zeitstempel entspricht
timestamp_type string Die Art des Zeitstempels, derzeit nur "Wort", wird unterstützt

response.audio_timestamp.done

Gesendet, wenn die Erstellung des Audio-Zeitstempels abgeschlossen ist.

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 Der Ereignistyp muss sein response.audio_timestamp.done.
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils

response.animation_viseme.delta

Das Serverereignis response.animation_viseme.delta wird zurückgegeben, wenn das Modell Animationsviseme-Daten als Teil einer Antwort erzeugt. Dieses Ereignis liefert inkrementelle Visem-Daten, sobald sie verfügbar sind.

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 Der Ereignistyp muss sein response.animation_viseme.delta.
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils
audio_offset_ms integer Audio versetzt sich in Millisekunden ab dem Beginn des Audios
viseme_id integer Die Visem-ID entspricht der Mundform für die Animation

response.animation_viseme.done

Das Serverereignis response.animation_viseme.done wird zurückgegeben, wenn das Modell die Generierung von Animationsviseme-Daten als Teil einer Antwort abgeschlossen hat.

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 Der Ereignistyp muss sein response.animation_viseme.done.
response_id string ID der Antwort
item_id string ID des Gegenstands
output_index integer Index des Punkts in der Antwort
content_index integer Index des Inhaltsteils

error

Das Serverereignis error wird zurückgegeben, wenn ein Fehler auftritt, was ein Client- oder Serverproblem sein kann. Die meisten Fehler sind wiederherstellbar und die Sitzung bleibt offen.

Event structure

{
  "type": "error",
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>",
    "event_id": "<event_id>"
  }
}

Properties

Field Type Description
type string Der Ereignistyp muss sein error.
error object Details des Fehlers.

Siehe verschachtelte Eigenschaften in der nächsten Tabelle.

Error properties

Field Type Description
type string Die Art von Fehler. Zum Beispiel sind "invalid_request_error" und "server_error" Fehlertypen.
code string Fehlercode, falls vorhanden.
message string Eine für Menschen lesbare Fehlermeldung.
param string Parameter, der mit dem Fehler zusammenhängt, falls vorhanden.
event_id string Die ID des Client-Ereignisses, das den Fehler verursacht hat, falls zutreffend.

warning

Das Serverereignis warning wird zurückgegeben, wenn eine Warnung auftritt, die den Gesprächsfluss nicht unterbricht. Die Warnungen sind informativ und die Sitzung läuft wie gewohnt weiter.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss sein warning.
warning object Details der Warnung. Siehe verschachtelte Eigenschaften in der nächsten Tabelle.

Warning properties

Field Type Description
message string Eine für Menschen lesbare Warnmeldung.
code string Optional. Warncode, falls vorhanden.
param string Optional. Parameter, der mit der Warnung zusammenhängt, falls vorhanden.

input_audio_buffer.cleared

Das Serverereignis input_audio_buffer.cleared wird zurückgegeben, wenn der Client den Eingabe-Audiopuffer mit einem Ereignis input_audio_buffer.clear löscht.

Event structure

{
  "type": "input_audio_buffer.cleared"
}

Properties

Field Type Description
type string Der Ereignistyp muss sein input_audio_buffer.cleared.

input_audio_buffer.committed

Das Server-Event input_audio_buffer.committed wird zurückgegeben, wenn ein Eingabe-Audiopuffer entweder vom Client oder automatisch im Server-VAD-Modus eingetragen wird. Die Eigenschaft item_id ist die ID des erstellten Benutzernachrichtenelements. So wird auch ein conversation.item.created Ereignis an den Kunden gesendet.

Event structure

{
  "type": "input_audio_buffer.committed",
  "previous_item_id": "<previous_item_id>",
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Der Ereignistyp muss sein input_audio_buffer.committed.
previous_item_id string Die ID des vorherigen Elements, nach dem der neue Punkt eingefügt wird.
item_id string Die ID des erstellten Benutzernachrichtenelements.

input_audio_buffer.speech_started

Das Serverereignis input_audio_buffer.speech_started wird im server_vad Modus zurückgegeben, wenn Sprache im Audiopuffer erkannt wird. Dieses Ereignis kann jedes Mal auftreten, wenn Audio dem Puffer hinzugefügt wird (es sei denn, Sprache wird bereits erkannt).

Note

Der Client möchte dieses Ereignis nutzen, um die Audiowiedergabe zu unterbrechen oder dem Nutzer visuelles Feedback zu geben.

Der Klient sollte damit rechnen, ein input_audio_buffer.speech_stopped Ereignis zu erhalten, wenn die Sprache stoppt. Die Eigenschaft item_id ist die ID des Benutzernachrichtenelements, das erstellt wird, wenn die Sprache stoppt. Dies item_id ist auch im input_audio_buffer.speech_stopped Ereignis enthalten, es sei denn, der Client committiert den Audiopuffer während der VAD-Aktivierung manuell.

Event structure

{
  "type": "input_audio_buffer.speech_started",
  "audio_start_ms": 0,
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Der Ereignistyp muss sein input_audio_buffer.speech_started.
audio_start_ms integer Millisekunden ab dem Beginn aller während der Sitzung in den Puffer geschriebenen Audio, als die Sprache erstmals erkannt wurde. Diese Eigenschaft entspricht dem Beginn des an das Modell gesendeten Audios und schließt somit das in der Sitzung konfigurierte Elemente prefix_padding_ms ein.
item_id string Die ID des Benutzernachrichtenelements, das erstellt wird, wenn die Sprache stoppt.

input_audio_buffer.speech_stopped

Das Serverereignis input_audio_buffer.speech_stopped wird im server_vad Modus zurückgegeben, wenn der Server das Ende der Sprache im Audiopuffer erkennt.

Der Server sendet außerdem ein conversation.item.created Ereignis mit dem Benutzernachrichtenelement, das aus dem Audiopuffer erstellt wird.

Event structure

{
  "type": "input_audio_buffer.speech_stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Properties

Field Type Description
type string Der Ereignistyp muss sein input_audio_buffer.speech_stopped.
audio_end_ms integer Millisekunden seit Beginn der Sitzung, als die Sprache aufhörte. Diese Eigenschaft entspricht dem Ende des an das Modell gesendeten Audios und schließt somit das in der Sitzung konfigurierte Elemente min_silence_duration_ms ein.
item_id string Die ID des erstellten Benutzernachrichtenelements.

rate_limits.updated

Das Serverereignis rate_limits.updated wird zu Beginn einer Antwort ausgesendet, um die aktualisierten Rate-Limits anzuzeigen.

Wenn eine Antwort erstellt wird, werden einige Token für die Ausgabetoken reserviert. Die hier gezeigten Tarifgrenzen spiegeln diese Reservierung wider, die dann entsprechend angepasst wird, sobald die Antwort abgeschlossen ist.

Event structure

{
  "type": "rate_limits.updated",
  "rate_limits": [
    {
      "name": "<name>",
      "limit": 0,
      "remaining": 0,
      "reset_seconds": 0
    }
  ]
}

Properties

Field Type Description
type string Der Ereignistyp muss sein rate_limits.updated.
rate_limits Array von RealtimeRateLimitsItem Die Liste der Informationen zum Tariflimit.

response.audio.delta

Das Server-Event response.audio.delta wird zurückgegeben, wenn das modellgenerierte Audio aktualisiert wird.

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 Der Ereignistyp muss sein response.audio.delta.
response_id string Die ID der Antwort.
item_id string Der Ausweis des Gegenstands.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels.
delta string Base64-codierte Audiodaten-Delta.

response.audio.done

Das Serverereignis response.audio.done wird zurückgegeben, wenn das modellgenerierte Audio abgeschlossen ist.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.

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 Der Ereignistyp muss sein response.audio.done.
response_id string Die ID der Antwort.
item_id string Der Ausweis des Gegenstands.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels.

response.audio_transcript.delta

Das Serverereignis response.audio_transcript.delta wird zurückgegeben, wenn die modellgenerierte Transkription der Audioausgabe aktualisiert wird.

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 Der Ereignistyp muss sein response.audio_transcript.delta.
response_id string Die ID der Antwort.
item_id string Der Ausweis des Gegenstands.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels.
delta string Das Transkript-Delta.

response.audio_transcript.done

Das Serverereignis response.audio_transcript.done wird zurückgegeben, wenn die modellgenerierte Transkription der Audioausgabe gestreamt wurde.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.

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 Der Ereignistyp muss sein response.audio_transcript.done.
response_id string Die ID der Antwort.
item_id string Der Ausweis des Gegenstands.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels.
transcript string Das endgültige Transkript der Audioaufnahme.

response.function_call_arguments.delta

Das Server-Event response.function_call_arguments.delta wird zurückgegeben, wenn die modellgenerierten Funktionsaufruf-Argumente aktualisiert werden.

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 Der Ereignistyp muss sein response.function_call_arguments.delta.
response_id string Die ID der Antwort.
item_id string Die ID des Funktionsaufruf-Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
call_id string Die ID des Funktionsaufrufs.
delta string Die Argumente deltan als JSON-String.

response.function_call_arguments.done

Das Serverereignis response.function_call_arguments.done wird zurückgegeben, wenn die vom Modell generierten Funktionsaufruf-Argumente mit dem Streaming abgeschlossen sind.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.

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 Der Ereignistyp muss sein response.function_call_arguments.done.
response_id string Die ID der Antwort.
item_id string Die ID des Funktionsaufruf-Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
call_id string Die ID des Funktionsaufrufs.
arguments string Die abschließenden Argumente als JSON-String.

mcp_list_tools.in_progress

Das Server-Event mcp_list_tools.in_progress wird zurückgegeben, wenn der Dienst beginnt, verfügbare Werkzeuge von einem MCP-Server aufzulisten.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss sein mcp_list_tools.in_progress.
item_id string Die ID des MCP-Listentools, das gerade verarbeitet wird.

mcp_list_tools.completed

Das Server-Event mcp_list_tools.completed wird zurückgegeben, wenn der Dienst die verfügbaren Werkzeuge eines MCP-Servers auflistet.

Event structure

{
  "type": "mcp_list_tools.completed",
  "item_id": "<mcp_list_tools_item_id>"
}
Properties
Field Type Description
type string Der Ereignistyp muss sein mcp_list_tools.completed.
item_id string Die ID des MCP-Listentools, das gerade verarbeitet wird.

mcp_list_tools.failed

Das Serverereignis mcp_list_tools.failed wird zurückgegeben, wenn der Dienst nicht die verfügbaren Werkzeuge eines MCP-Servers auflistet.

Event structure

{
  "type": "mcp_list_tools.failed",
  "item_id": "<mcp_list_tools_item_id>"
}
Properties
Field Type Description
type string Der Ereignistyp muss sein mcp_list_tools.failed.
item_id string Die ID des MCP-Listentools, das gerade verarbeitet wird.

response.mcp_call_arguments.delta

Das Serverereignis response.mcp_call_arguments.delta wird zurückgegeben, wenn die vom Modell generierten MCP-Toolaufruf-Argumente aktualisiert werden.

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 Der Ereignistyp muss sein response.mcp_call_arguments.delta.
response_id string Die ID der Antwort.
item_id string Die ID des MCP-Tool-Aufruf-Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
delta string Die Argumente deltan als JSON-String.

response.mcp_call_arguments.done

Das Serverereignis response.mcp_call_arguments.done wird zurückgegeben, wenn die vom Modell generierten MCP-Tool-Aufrufargumente mit dem Streaming abgeschlossen sind.

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 Der Ereignistyp muss sein response.mcp_call_arguments.done.
response_id string Die ID der Antwort.
item_id string Die ID des MCP-Tool-Aufruf-Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
arguments string Die abschließenden Argumente als JSON-String.

response.mcp_call.in_progress

Das Serverereignis response.mcp_call.in_progress wird zurückgegeben, wenn ein MCP-Tool-Aufruf mit der Verarbeitung beginnt.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss sein response.mcp_call.in_progress.
item_id string Die ID des MCP-Tool-Aufruf-Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.

response.mcp_call.completed

Das Server-Event response.mcp_call.completed wird zurückgegeben, wenn ein MCP-Tool-Aufruf erfolgreich abgeschlossen ist.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss sein response.mcp_call.completed.
item_id string Die ID des MCP-Tool-Aufruf-Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.

response.mcp_call.failed

Das Server-Event response.mcp_call.failed wird zurückgegeben, wenn ein MCP-Tool-Aufruf fehlschlägt.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss sein response.mcp_call.failed.
item_id string Die ID des MCP-Tool-Aufruf-Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.

response.output_item.added

Das Server-Event response.output_item.added wird zurückgegeben, wenn während der Antwortgenerierung ein neues Element erstellt wird.

Event structure

{
  "type": "response.output_item.added",
  "response_id": "<response_id>",
  "output_index": 0
}

Properties

Field Type Description
type string Der Ereignistyp muss sein response.output_item.added.
response_id string Die ID der Antwort, zu der der Gegenstand gehört.
output_index integer Der Index des Ausgabeelements in der Antwort.
item RealtimeConversationResponseItem Der hinzugefügte Gegenstand.

response.output_item.done

Das Server-Event response.output_item.done wird zurückgegeben, wenn ein Item das Streaming beendet hat.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.

Event structure

{
  "type": "response.output_item.done",
  "response_id": "<response_id>",
  "output_index": 0
}

Properties

Field Type Description
type string Der Ereignistyp muss sein response.output_item.done.
response_id string Die ID der Antwort, zu der der Gegenstand gehört.
output_index integer Der Index des Ausgabeelements in der Antwort.
item RealtimeConversationResponseItem Das Item, das gestreamt wird.

response.text.delta

Das Serverereignis response.text.delta wird zurückgegeben, wenn der modellgenerierte Text aktualisiert wird. Der Text entspricht dem text Inhaltsteil eines Assistant-Nachrichtenelements.

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 Der Ereignistyp muss sein response.text.delta.
response_id string Die ID der Antwort.
item_id string Der Ausweis des Gegenstands.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels.
delta string Der Text-Delta.

response.text.done

Das Server-Event response.text.done wird zurückgegeben, wenn der modellgenerierte Text mit dem Streaming abgeschlossen ist. Der Text entspricht dem text Inhaltsteil eines Assistant-Nachrichtenelements.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.

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 Der Ereignistyp muss sein response.text.done.
response_id string Die ID der Antwort.
item_id string Der Ausweis des Gegenstands.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels.
text string Der endgültige Textinhalt.

Components

Audio Formats

RealtimeAudioFormat

Basis-Audioformat, das für den Eingabeton verwendet wird.

Allowed Values:

  • pcm16 - 16-Bit-PCM-Audioformat
  • g711_ulaw - G.711 μ-Law Audioformat
  • g711_alaw - G.711 A-Law Audioformat

RealtimeOutputAudioFormat

Das Audioformat wird für die Ausgabe von Audio mit bestimmten Abtastraten verwendet.

Allowed Values:

  • pcm16 - 16-Bit-PCM-Audioformat mit Standardabtastrate (24 kHz)
  • pcm16_8000hz - 16-Bit-PCM-Audioformat mit 8 kHz Abtastrate
  • pcm16_16000hz - 16-Bit-PCM-Audioformat mit 16 kHz Abtastrate
  • g711_ulaw - G.711 μ-Law (mu-law) Audioformat mit 8 kHz Abtastrate
  • g711_alaw - G.711 A-Law Audioformat mit 8 kHz Abtastrate

RealtimeAudioInputTranscriptionSettings

Konfiguration für Eingabe-Audio-Transkription.

Field Type Description
model string Das Transkriptionsmodell.
Unterstützt mit gpt-realtime und gpt-realtime-mini:
whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, . gpt-4o-transcribe-diarize
Unterstützt mit allen anderen Modellen und Agenten: azure-speech, mai-transcribe-1 (Vorschau)
language string Optionaler Sprachcode in BCP-47 (zum Beispiel en-US), oder ISO-639-1 (zum Beispiel en), oder in mehreren Sprachen mit automatischer Erkennung (zum Beispiel en,zh).

Siehe Azure Sprach-zu-Text-unterstützte Sprachen für die empfohlene Verwendung dieser Einstellung.
custom_speech object Optionale Konfiguration für benutzerdefinierte Sprachmodelle, nur gültig für azure-speech Modelle.
phrase_list string[] Optionale Liste von Phrasenhinweisen zur Verzerrungserkennung, gilt nur für azure-speech das Modell.
prompt string Optionaler Prompttext zur Anleitung der Transkription, gilt nur für whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe und gpt-4o-transcribe-diarize Modelle.

RealtimeInputAudioNoiseReductionSettings

Dies kann sein:

RealtimeOpenAINoiseReduction

OpenAI Rauschunterdrückungskonfiguration mit explizitem Typfeld, nur verfügbar für gpt-realtime und gpt-realtime-mini Modelle.

Field Type Description
type string near_field Oder far_field

RealtimeAzureDeepNoiseSuppression

Konfiguration zur Rauschreduktion des Eingangs-Audios.

Field Type Description
type string Muss sein "azure_deep_noise_suppression"

RealtimeInputAudioEchoCancellationSettings

Echo-Unterdrückungskonfiguration für serverseitige Audioverarbeitung.

Field Type Description
type string Muss sein "server_echo_cancellation"

Voice Configuration

RealtimeVoice

Vereinigung aller unterstützten Sprachkonfigurationen.

Dies kann sein:

RealtimeOpenAIVoice

OpenAI-Sprachkonfiguration mit explizitem Typfeld.

Field Type Description
type string Muss sein "openai"
name string OpenAI-Sprachname: alloy, ash, , coralballad, echo, sage, , verseshimmermarin, ,cedar

RealtimeAzureVoice

Base für Azure Sprachkonfigurationen. Dies ist eine diskriminierte Vereinigung mit verschiedenen Typen:

RealtimeAzureStandardVoice

Azure Standard Voice Configuration.

Field Type Description
type string Muss sein "azure-standard"
name string Sprachname (darf nicht leer sein)
temperature number Optional. Temperatur zwischen 0,0 und 1,0
custom_lexicon_url string Optional. URL zum benutzerdefinierten Lexikon
custom_text_normalization_url string Optional. URL zur benutzerdefinierten Textnormalisierung
prefer_locales string[] Optional. Preferred locales
Bevorzugte Orte verändern die Akzente der Sprachen. Wenn der Wert nicht gesetzt ist, verwendet TTS den Standardakzent jeder Sprache. zum Beispiel verwendet TTS beim Sprechen von Englisch den amerikanischen englischen Akzent. Und wenn man Spanisch spricht, verwendet er den mexikanischen spanischen Akzent.
Wenn das prefer_locales auf ["en-GB", "es-ES"]gesetzt wird, ist der englische Akzent britisches Englisch und der spanische Akzent europäisch-spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
locale string Optional. Locale specification
Ersetze den Standort für TTS-Ausgabe. Wenn es nicht gesetzt ist, wird TTS immer den angegebenen Ort zum Sprechen verwenden. Zum Beispiel, setze Locale auf en-US, TTS verwendet immer den amerikanischen englischen Akzent, um den Textinhalt zu sprechen, selbst wenn der Text in einer anderen Sprache ist. Und TTS gibt Stille aus, wenn der Textinhalt auf Chinesisch ist.
style string Optional. Voice style
pitch string Optional. Pitch adjustment
rate string Optional. Anpassung der Sprachfrequenz
volume string Optional. Volume adjustment
RealtimeAzureCustomVoice

Azure benutzerdefinierte Sprachkonfiguration (bevorzugt für benutzerdefinierte Stimmen).

Field Type Description
type string Muss sein "azure-custom"
name string Sprachname (darf nicht leer sein)
endpoint_id string Endpunkt-ID (darf nicht leer sein)
temperature number Optional. Temperatur zwischen 0,0 und 1,0
custom_lexicon_url string Optional. URL zum benutzerdefinierten Lexikon
custom_text_normalization_url string Optional. URL zur benutzerdefinierten Textnormalisierung
prefer_locales string[] Optional. Preferred locales
Bevorzugte Orte verändern die Akzente der Sprachen. Wenn der Wert nicht gesetzt ist, verwendet TTS den Standardakzent jeder Sprache. Zum Beispiel verwendet TTS beim Sprechen von Englisch den amerikanischen Englischakzent. Und wenn man Spanisch spricht, verwendet er den mexikanischen spanischen Akzent.
Wenn das prefer_locales auf ["en-GB", "es-ES"]gesetzt wird, ist der englische Akzent britisches Englisch und der spanische Akzent europäisch-spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
locale string Optional. Locale specification
Ersetze den Standort für TTS-Ausgabe. Wenn es nicht gesetzt ist, wird TTS immer den angegebenen Ort zum Sprechen verwenden. Zum Beispiel setzt man Locale auf en-US, verwendet TTS immer den amerikanisch-englischen Akzent, um den Textinhalt zu sprechen, selbst wenn der Text in einer anderen Sprache ist. Und TTS gibt Stille aus, wenn der Textinhalt auf Chinesisch ist.
style string Optional. Voice style
pitch string Optional. Pitch adjustment
rate string Optional. Anpassung der Sprachfrequenz
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 Muss sein "azure-personal"
name string Sprachname (darf nicht leer sein)
temperature number Optional. Temperatur zwischen 0,0 und 1,0
model string Grundlegendes Basismodell: DragonLatestNeural, DragonHDOmniLatestNeural, MAI-Voice-1
custom_lexicon_url string Optional. URL zum benutzerdefinierten Lexikon
custom_text_normalization_url string Optional. URL zur benutzerdefinierten Textnormalisierung
prefer_locales string[] Optional. Preferred locales
Bevorzugte Orte ändern die Akzente der Sprachen. Wenn der Wert nicht gesetzt ist, verwendet TTS den Standardakzent jeder Sprache. Zum Beispiel verwendet TTS beim Sprechen von Englisch den amerikanischen englischen Akzent. Und wenn man Spanisch spricht, verwendet er den mexikanischen spanischen Akzent.
Wenn das prefer_locales auf ["en-GB", "es-ES"]gesetzt wird, ist der englische Akzent britisches Englisch und der spanische Akzent europäisch-spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
locale string Optional. Locale specification
Ersetze den Standort für TTS-Ausgabe. Wenn es nicht gesetzt ist, wird TTS immer den angegebenen Ort zum Sprechen verwenden. Zum Beispiel setzt man Locale auf en-US, verwendet TTS immer den amerikanisch-englischen Akzent, um den Textinhalt zu sprechen, selbst wenn der Text in einer anderen Sprache ist. Und TTS gibt Stille aus, wenn der Textinhalt auf Chinesisch ist.
pitch string Optional. Pitch adjustment
rate string Optional. Anpassung der Sprachfrequenz
volume string Optional. Volume adjustment

Turn Detection

RealtimeTurnDetection

Konfiguration für Abbiegungserkennung. Dies ist eine diskriminierte Gewerkschaft, die mehrere VAD-Typen unterstützt.

RealtimeServerVAD

Basis-VAD-basierte Zugerkennung.

Field Type Description
type string Muss sein "server_vad"
threshold float Optional. Aktivierungsschwelle (0,0–1,0) (Standard: 0,5)
prefix_padding_ms integer Optional. Audio-Padding vor Sprachbeginn (Standard: 300)
silence_duration_ms integer Optional. Dauer der Stille bis zum Erkennen der Sprachbeendigung (Standard: 500)
speech_duration_ms integer Optional. Mindestsprachdauer (Standard: 200)
end_of_utterance_detection RealtimeEOUDetection Optional. End-of-Utterance-Erkennungskonfiguration
create_response boolean Optional. Aktivieren oder deaktivieren, ob eine Antwort erzeugt wird (Standard: wahr).
interrupt_response boolean Optional. Aktivieren oder deaktivieren Sie die Eindring-Unterbrechung (Standard: wahr).
auto_truncate boolean Optional. Auto-trunkieren bei Unterbrechung (Standard: falsch)
RealtimeOpenAISemanticVAD

OpenAI semantische VAD-Konfiguration, die ein Modell verwendet, um zu bestimmen, wann der Benutzer mit dem Sprechen fertig ist. Es gibt nur Modelle und gpt-realtimegpt-realtime-mini Modelle.

Field Type Description
type string Muss sein "semantic_vad"
eagerness string Optional. Dies ist eine Möglichkeit, zu steuern, wie begierig das Modell ist, den Benutzer zu unterbrechen, und so die maximale Wartezeit abzustimmen. Im Transkriptionsmodus beeinflusst es, selbst wenn das Modell nicht antwortet, wie das Audio gehackt wird.
Folgende Werte sind erlaubt:
- auto (Standard) ist äquivalent zu medium,
- low lässt den Nutzer sich Zeit zum Sprechen nehmen,
- high Ich werde den Ton so schnell wie möglich abhacken.

Wenn Sie möchten, dass das Modell im Gesprächsmodus häufiger antwortet oder Transkriptionsereignisse im Transkriptionsmodus schneller zurückgibt, können Sie die Eagerness auf highsetzen.
Andererseits, wenn du den Nutzer im Gesprächsmodus ungestört sprechen lassen möchtest oder größere Transkriptabschnitte im Transkriptionsmodus möchtest, kannst du die Begeisterung auf stellen low.
create_response boolean Optional. Aktivieren oder deaktivieren, ob eine Antwort erzeugt wird (Standard: wahr).
interrupt_response boolean Optional. Aktivieren oder deaktivieren Sie die Eindring-Unterbrechung (Standard: wahr).
RealtimeAzureSemanticVAD

Azure semantisches VAD, das bestimmt, wann der Benutzer mit einem semantischen Sprachmodell beginnt und spricht, was eine robustere Erkennung in rauschen Umgebungen ermöglicht.

Field Type Description
type string Muss sein "azure_semantic_vad"
threshold float Optional. Aktivierungsschwelle (Standard: 0,5)
prefix_padding_ms integer Optional. Audio-Padding vor der Sprache (Standard: 300)
silence_duration_ms integer Optional. Dauer der Stille zum Ende der Rede (Standard: 500)
end_of_utterance_detection RealtimeEOUDetection Optional. EOU-Erkennungskonfiguration
speech_duration_ms integer Optional. Mindestsprachdauer (Standard: 80)
remove_filler_words boolean Optional. Füllwörter entfernen (Standard: falsch)
languages string[] Optional. Supports English. Andere Sprachen werden ignoriert (Standard: keine).
create_response boolean Optional. Aktivieren oder deaktivieren, ob eine Antwort erzeugt wird (Standard: wahr).
interrupt_response boolean Optional. Aktivieren oder deaktivieren Sie die Eindring-Unterbrechung (Standard: wahr).
auto_truncate boolean Optional. Auto-trunkieren bei Unterbrechung (Standard: falsch)
RealtimeAzureSemanticVADMultilingual

Azure semantic VAD (default variant).

Field Type Description
type string Muss sein "azure_semantic_vad_multilingual"
threshold float Optional. Aktivierungsschwelle (Standard: 0,5)
prefix_padding_ms integer Optional. Audio-Padding vor der Sprache (Standard: 300)
silence_duration_ms integer Optional. Dauer der Stille zum Ende der Rede (Standard: 500)
end_of_utterance_detection RealtimeEOUDetection Optional. EOU-Erkennungskonfiguration
speech_duration_ms integer Optional. Mindestsprachdauer (Standard: 80)
remove_filler_words boolean Optional. Füllwörter entfernen (Standard: falsch)
languages string[] Optional. Unterstützt Englisch, Spanisch, Französisch, Italienisch, Deutsch (DE), Japanisch, Portugiesisch, Chinesisch, Koreanisch, Hindi. Andere Sprachen werden ignoriert (Standard: keine).
create_response boolean Optional. Aktivieren oder deaktivieren, ob eine Antwort erzeugt wird (Standard: wahr).
interrupt_response boolean Optional. Aktivieren oder deaktivieren Sie die Eindring-Unterbrechung (Standard: wahr).
auto_truncate boolean Optional. Auto-trunkieren bei Unterbrechung (Standard: falsch)

RealtimeEOUDetection

Azure End-of-Utterance (EOU) konnte anzeigen, wann der Endnutzer aufhörte zu sprechen, während natürliche Pausen erlaubt wurden. Die End-of-Utterance-Erkennung kann vorzeitige End-of-Turn-Signale erheblich reduzieren, ohne benutzerwahrnehmbare Latenz hinzuzufügen.

Field Type Description
model string Könnte semantic_detection_v1 Englisch unterstützen oder semantic_detection_v1_multilingual Englisch, Spanisch, Französisch, Italienisch, Deutsch (DE), Japanisch, Portugiesisch, Chinesisch, Koreanisch, Hindi unterstützen
threshold_level string Optional. Der Erkennungsschwellenwert (low, medium, high und default), die Standardeinstellung entspricht medium der Einstellung. Bei einer niedrigeren Einstellung ist die Wahrscheinlichkeit, dass der Satz vollständig ist, höher.
timeout_ms number Optional. Maximale Zeit in Millisekunden, um auf mehr Nutzersprache zu warten. Standardmäßig 1000 ms.

Avatar Configuration

RealtimeAvatarConfig

Konfiguration für Avatar-Streaming und Verhalten.

Field Type Description
ice_servers RealtimeIceServer[] Optional. ICE-Server für WebRTC
character string Charaktername oder ID des Avatars
style string Optional. Avatar-Stil (emotionaler Ton, Sprechstil)
customized boolean Ob der Avatar individuell angepasst ist
video RealtimeVideoParams Optional. Video configuration
scene RealtimeAvatarScene Optional. Konfiguration für den Zoomlevel, die Position, die Rotation und die Bewegungsamplitude des Avatars im Videobild
output_protocol string Optional. Ausgabeprotokoll für Avatar-Streaming. Standardmäßig ist webrtc
output_audit_audio boolean Optional. Wenn aktiviert, leitet er Audit-Audio über WebSocket zur Überprüfung und Debugging weiter, selbst wenn die Avatarausgabe über WebRTC geliefert wird. Standardmäßig ist false

RealtimeIceServer

ICE-Serverkonfiguration für WebRTC-Verbindungsverhandlung.

Field Type Description
urls string[] ICE-Server-URLs (TURN oder STUN-Endpunkte)
username string Optional. Benutzername für die Authentifizierung
credential string Optional. Zugangsnachweis zur Authentifizierung

RealtimeVideoParams

Video-Streaming-Parameter für den Avatar.

Field Type Description
bitrate integer Optional. Bitrate in Bits pro Sekunde (Standard: 2000000)
codec string Optional. Videocodec, derzeit nur h264 (Standard: h264)
crop RealtimeVideoCrop Optional. Cropping settings
resolution RealtimeVideoResolution Optional. Resolution settings

RealtimeVideoCrop

Definition von Rechtecken im Videozuschnitt.

Field Type Description
top_left integer[] Obere linke Ecke [x, y], nichtnegative ganze Zahlen
bottom_right integer[] Unten rechts [x, y], nichtnegative ganze Zahlen

RealtimeVideoResolution

Videoauflösungsspezifikation.

Field Type Description
width integer Breite in Pixeln (muss 0 sein > )
height integer Höhe in Pixeln (muss 0 sein > )

RealtimeAvatarScene

Konfiguration für den Zoomlevel, die Position, die Rotation und die Bewegungsamplitude des Avatars im Videobild.

Field Type Description
zoom number Optional. Zoomhöhe des Avatars. Reichweite ist (0, +∞). Werte weniger als 1 Zoom heraus, Werte größer als 1 Zoom hinein. Standard ist 0
position_x number Optional. Horizontale Position des Avatars. Die Reichweite ist [-1, 1], als Verhältnis zur Bildbreite. Negative Werte verschieben sich nach links, positive Werte bewegen sich nach rechts. Standard ist 0
position_y number Optional. Vertikale Position des Avatars. Die Reichweite ist [-1, 1], als Verhältnis zur Bildhöhe. Negative Werte steigen, positive Werte fallen ab. Standard ist 0
rotation_x number Optional. Drehung um die X-Achse (Pitch). Die Reichweite ist [-π, π] in Radianten. Negative Werte drehen sich nach oben, positive Werte rotieren nach unten. Standard ist 0
rotation_y number Optional. Rotation um die Y-Achse (Gier). Die Reichweite ist [-π, π] in Radianten. Negative Werte drehen sich nach links, positive Werte drehen nach rechts. Standard ist 0
rotation_z number Optional. Rotation um die Z-Achse (Roll). Die Reichweite ist [-π, π] in Radianten. Negative Werte drehen sich gegen den Uhrzeigersinn, positive Werte drehen sich im Uhrzeigersinn. Standard ist 0
amplitude number Optional. Amplitude der Avatar-Bewegung. Reichweite ist (0, 1]. Werte in (0, 1) bedeuten reduzierte Amplitude, 1 bedeutet volle Amplitude. Standard ist 0

Animation Configuration

RealtimeAnimation

Konfiguration für Animationsausgaben, einschließlich Blendshapes und Vizeme.

Field Type Description
model_name string Optional. Name des Animationsmodells (Standard: "default")
outputs RealtimeAnimationOutputType[] Optional. Ausgabetypen (Standard: ["blendshapes"])

RealtimeAnimationOutputType

Arten von Animationsdaten, die ausgegeben werden sollen.

Allowed Values:

  • blendshapes - Daten zu Gesichtsmischungen
  • viseme_id - Viseme-Identifikatordaten

Session Configuration

RealtimeRequestSession

Sitzungskonfigurationsobjekt, das in Events verwendet session.update wird.

Field Type Description
model string Optional. Modellname zur Verwendung
modalities RealtimeModality[] Optional. Die unterstützten Ausgabemodalitäten für die Sitzung.

Zum Beispiel ist "Modalitäten": ["Text", "Audio"] die Standardeinstellung, die sowohl Text- als auch Audioausgabemodalitäten aktiviert. Um nur die Textausgabe zu ermöglichen, setzen Sie "Modalitäten": ["text"]. Um die Avatarausgabe zu aktivieren, setze "Modalitäten": ["text", "audio", "avatar"]. Du kannst nicht nur Audio aktivieren.
animation RealtimeAnimation Optional. Animation configuration
voice RealtimeVoice Optional. Voice configuration
instructions string Optional. Systemanweisungen für das Modell. Die Anweisungen könnten den Ausgangston steuern, wenn OpenAI-Stimmen verwendet werden, gelten aber möglicherweise nicht für Azure-Stimmen.
input_audio_sampling_rate integer Optional. Eingangs-Audio-Abtastrate in Hz (Standard: 24000 für pcm16, 8000 für g711_ulaw und g711_alaw)
input_audio_format RealtimeAudioFormat Optional. Eingangs-Audioformat (Standard: pcm16)
output_audio_format RealtimeOutputAudioFormat Optional. Ausgabe-Audioformat (Standard: pcm16)
input_audio_noise_reduction RealtimeInputAudioNoiseReductionSettings Konfiguration zur Rauschreduktion des Eingangs-Audios. Dies kann auf null gesetzt werden, um auszuschalten. Rauschunterdrückung filtert Audio, der dem Eingangs-Audiopuffer hinzugefügt wird, bevor er an VAD und das Modell gesendet wird. Das Filtern des Audios kann die Genauigkeit von VAD und Kurvenerkennung verbessern (Fehlalarme reduzieren) und die Leistung modellieren, indem die Wahrnehmung des Eingabetons verbessert wird.

Diese Eigenschaft ist null.
input_audio_echo_cancellation RealtimeInputAudioEchoCancellationSettings Konfiguration zur Eingangs-Audio-Echo-Unterdrückung. Dies kann auf null gesetzt werden, um auszuschalten. Diese dienstseitige Echounterdrückung kann helfen, die Qualität des Eingangstons zu verbessern, indem sie den Einfluss von Echo und Nachhall reduziert.

Diese Eigenschaft ist null.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Die Konfiguration für die Eingabe-Audiotranskription. Die Konfiguration ist standardmäßig null (aus). Eingabe-Audiotranskription ist nicht native im Modell, da das Modell Audio direkt konsumiert. Die Transkription läuft asynchron durch den /audio/transcriptions Endpunkt und sollte als Orientierung des eingegebenen Audioinhalts behandelt werden, statt als genau das, was das Modell gehört hat. Für zusätzliche Anleitung für den Transkriptionsservice kann der Klient optional die Sprache und den Prompt für die Transkription einstellen.

Diese Eigenschaft ist null.
turn_detection RealtimeTurnDetection Die Einstellungen für die Abzugserkennung für die Sitzung. Dies kann auf null gesetzt werden, um auszuschalten.
tools Array von RealtimeTool Die Werkzeuge, die dem Modell für die Sitzung zur Verfügung stehen.
tool_choice RealtimeToolChoice Die Werkzeugwahl für die Sitzung.

Erlaubte Werte: auto, none, und required. Andernfalls können Sie den Namen der zu verwendenden Funktion angeben.
temperature number Die Stichprobentemperatur für das Modell. Die erlaubten Temperaturwerte sind auf [0,6, 1,2] begrenzt. Standardmäßig auf 0,8 eingestellt.
max_response_output_tokens Ganzzahl oder "Inf" Die maximale Anzahl der Ausgabetoken pro Assistentenantwort, einschließlich Werkzeugaufrufe.

Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken zu begrenzen. Andernfalls wird der Wert auf "inf" gesetzt, um die maximale Anzahl an Token zu ermöglichen.

Zum Beispiel, um die Ausgabetoken auf 1000 zu begrenzen, setzen "max_response_output_tokens": 1000wir . Um die maximale Anzahl an Token zu ermöglichen, setze "max_response_output_tokens": "inf".

Standardmäßig gilt "inf".
reasoning_effort ReasoningEffort Optional. Begrenzt den Aufwand beim Schließen bei Denkmustern. Schau dir Azure Foundry doc für weitere Details an. Eine Reduzierung des Schlussarbeitsaufwands kann zu schnelleren Antworten und weniger Token beim Schließen in einer Antwort führen.
avatar RealtimeAvatarConfig Optional. Avatar configuration
output_audio_timestamp_types RealtimeAudioTimestampType[] Optional. Zeitstempeltypen für Ausgangsaudio

RealtimeModality

Unterstützte Sitzungsausgabemodalitäten.

Allowed Values:

  • text - Textausgabe
  • audio - Audioausgabe
  • animation - Animationsausgabe
  • avatar - Avatar-Videoausgabe

RealtimeAudioTimestampType

Ausgabe-Zeitstempeltypen, die in Audio-Antwort-Inhalten unterstützt werden.

Allowed Values:

  • word - Zeitstempel pro Wort im Ausgangsaudio

ReasoningEffort

Begrenzt den Aufwand beim Schließen bei Denkmustern. Überprüfen Sie die Modelldokumentation auf unterstützte Werte für jedes Modell. Eine Reduzierung des Schlussarbeitsaufwands kann zu schnelleren Antworten und weniger Token beim Schließen in einer Antwort führen.

Allowed Values:

  • none - Kein Überlegungsaufwand
  • minimal - Minimaler Schlussaufwand
  • low - Geringer Schlussarbeit – schnellere Antworten mit weniger Argumentation
  • medium - Mittlerer Schlussaufwand – ausgewogen zwischen Geschwindigkeit und Denktiefe
  • high - Hoher Schlussfolgerungsaufwand – gründlicheres Schließen, kann länger dauern
  • xhigh - Extra hoher Schlussarbeit – maximale Denktiefe

Tool Configuration

Wir unterstützen zwei Arten von Tools: Function Calling und MCP-Tools, mit denen Sie sich mit einem MCP-Server verbinden können.

RealtimeTool

Werkzeugdefinition für das Aufrufen von Funktionen.

Field Type Description
type string Muss sein "function"
name string Function name
description string Funktionsbeschreibung und Nutzungsrichtlinien
parameters object Funktionsparameter als JSON-Schema-Objekt

RealtimeToolChoice

Werkzeugauswahlstrategie.

Dies kann sein:

  • "auto" - Lass das Modell wählen
  • "none" - Benutze keine Werkzeuge
  • "required" - Muss ein Werkzeug benutzen
  • { "type": "function", "name": "function_name" } - Verwendung spezifischer Funktion

MCPTool

MCP-Werkzeugkonfiguration.

Field Type Description
type string Muss sein "mcp"
server_label string Required. Das Label des MCP-Servers.
server_url string Required. Die Server-URL des MCP-Servers.
allowed_tools string[] Optional. Die Liste der erlaubten Werkzeugnamen. Wenn nicht angegeben, sind alle Werkzeuge erlaubt.
headers object Optional. Zusätzliche Header für MCP-Anfragen.
authorization string Optional. Autorisierungstoken für MCP-Anfragen.
require_approval String oder Wörterbuch Optional.
Wenn auf eine Zeichenkette gesetzt, muss der Wert oder alwaysseinnever.
Wenn es auf ein Wörterbuch gesetzt ist, muss es im Format {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}sein.
Der Standardwert ist always.
Wenn auf alwaysgesetzt ist, benötigt die Werkzeugausführung eine Genehmigung, mcp_approval_request wird an den Client gesendet, wenn das MCP-Argument abgeschlossen ist, und wird erst ausgeführt, wenn mcp_approval_response mit approve=true empfangen wird.
Wenn auf nevergesetzt ist, wird das Werkzeug automatisch ohne Genehmigung ausgeführt.

RealtimeConversationResponseItem

Dies ist ein Union-Typ, der einer der folgenden sein kann:

RealtimeConversationUserMessageItem

Benutzernachrichtenelement.

Field Type Description
id string Die eindeutige ID des Gegenstands.
type string Muss sein "message"
object string Muss sein "conversation.item"
role string Muss sein "user"
content RealtimeInputTextContentPart Der Inhalt der Nachricht.
status RealtimeItemStatus Der Status des Gegenstands.

RealtimeConversationAssistantMessageItem

Assistentennachricht.

Field Type Description
id string Die eindeutige ID des Gegenstands.
type string Muss sein "message"
object string Muss sein "conversation.item"
role string Muss sein "assistant"
content RealtimeOutputTextContentPart[] oder RealtimeOutputAudioContentPart[] Der Inhalt der Nachricht.
status RealtimeItemStatus Der Status des Gegenstands.

RealtimeConversationSystemMessageItem

Systemnachrichtenelement.

Field Type Description
id string Die eindeutige ID des Gegenstands.
type string Muss sein "message"
object string Muss sein "conversation.item"
role string Muss sein "system"
content RealtimeInputTextContentPart[] Der Inhalt der Nachricht.
status RealtimeItemStatus Der Status des Gegenstands.

RealtimeConversationFunctionCallItem

Funktionsaufruf-Anfrage-Item.

Field Type Description
id string Die eindeutige ID des Gegenstands.
type string Muss sein "function_call"
object string Muss sein "conversation.item"
name string Der Name der Funktion, die aufgerufen werden soll.
arguments string Die Argumente für die Funktion rufen als JSON-String auf.
call_id string Die eindeutige ID des Funktionsaufrufs.
status RealtimeItemStatus Der Status des Gegenstands.

RealtimeConversationFunctionCallOutputItem

Funktionsaufruf-Antwort-Item.

Field Type Description
id string Die eindeutige ID des Gegenstands.
type string Muss sein "function_call_output"
object string Muss sein "conversation.item"
name string Der Name der Veranstaltung, die genannt wurde.
output string Die Ausgabe des Funktionsaufrufs.
call_id string Die eindeutige ID des Funktionsaufrufs.
status RealtimeItemStatus Der Status des Gegenstands.

RealtimeConversationMCPListToolsItem

Antwortpunkt für MCP-Listenwerkzeuge.

Field Type Description
id string Die eindeutige ID des Gegenstands.
type string Muss sein "mcp_list_tools"
server_label string Das Label des MCP-Servers.

RealtimeConversationMCPCallItem

MCP-Anrufantwort-Item.

Field Type Description
id string Die eindeutige ID des Gegenstands.
type string Muss sein "mcp_call"
server_label string Das Label des MCP-Servers.
name string Der Name des Werkzeugs, das man anrufen sollte.
approval_request_id string Die Genehmigungsantrags-ID für den MCP-Anruf.
arguments string Die Argumente für den MCP-Aufruf.
output string Die Ausgabe des MCP-Anrufs.
error object Der Fehler zeigt an, ob der MCP-Anruf fehlgeschlagen ist.

RealtimeConversationMCPApprovalRequestItem

Antrag auf MCP-Genehmigung.

Field Type Description
id string Die eindeutige ID des Gegenstands.
type string Muss sein "mcp_approval_request"
server_label string Das Label des MCP-Servers.
name string Der Name des Werkzeugs, das man anrufen sollte.
arguments string Die Argumente für den MCP-Aufruf.

RealtimeItemStatus

Status der Gesprächsthemen.

Allowed Values:

  • in_progress - Derzeit in der Bearbeitung
  • completed - Erfolgreich abgeschlossen
  • incomplete - Unvollständig (unterbrochen oder fehlgeschlagen)

RealtimeContentPart

Inhaltsteil in einer Nachricht.

RealtimeInputTextContentPart

Textteil.

Field Type Description
type string Muss sein "input_text"
text string Der Textinhalt

RealtimeOutputTextContentPart

Textteil.

Field Type Description
type string Muss sein "text"
text string Der Textinhalt

RealtimeInputAudioContentPart

Audio-Content-Teil.

Field Type Description
type string Muss sein "input_audio"
audio string Optional. Base64-kodierte Audiodaten
transcript string Optional. Audio transcript

RealtimeOutputAudioContentPart

Audio-Content-Teil.

Field Type Description
type string Muss sein "audio"
audio string Base64-kodierte Audiodaten
transcript string Optional. Audio transcript

Response Objects

RealtimeResponse

Antwortobjekt, das eine Modellinferenzantwort darstellt.

Field Type Description
id string Optional. Response ID
object string Optional. Immer "realtime.response"
status RealtimeResponseStatus Optional. Response status
status_details RealtimeResponseStatusDetails Optional. Status details
output RealtimeConversationResponseItem[] Optional. Output items
usage RealtimeUsage Optional. Statistiken zur Nutzung von Token
conversation_id string Optional. Zugehörige Konversations-ID
voice RealtimeVoice Optional. Für die Antwort verwendete Stimme
modalities string[] Optional. Verwendete Ausgabemodalitäten
output_audio_format RealtimeOutputAudioFormat Optional. Verwendetes Audioformat
temperature number Optional. Temperature used
max_response_output_tokens Ganzzahl oder "Inf" Optional. Maximal verwendete Token

RealtimeResponseStatus

Reaktionsstatuswerte.

Allowed Values:

  • in_progress - Es wird eine Antwort generiert
  • completed - Antwort erfolgreich abgeschlossen
  • canceled - Die Antwort wurde abgesagt
  • incomplete - Antwort unvollständig (unterbrochen)
  • failed - Antwort fehlschlug mit Fehler auf

RealtimeUsage

Statistiken zur Token-Verwendung.

Field Type Description
total_tokens integer Gesamtzahl der verwendeten Token
input_tokens integer Verwendete Eingabetoken
output_tokens integer Erzeugte Ausgabetoken
input_token_details TokenDetails Aufschlüsselung der Eingabetoken
output_token_details TokenDetails Aufschlüsselung der Ausgabetoken

TokenDetails

Detaillierte Aufschlüsselung der Token-Verwendung.

Field Type Description
cached_tokens integer Optional. Verwendete Cache-Token
text_tokens integer Optional. Verwendete Texttoken
audio_tokens integer Optional. Verwendete Audio-Tokens

Error Handling

RealtimeErrorDetails

Fehlerinformationsobjekt.

Field Type Description
type string Fehlertyp (z. B. "invalid_request_error", , "server_error")
code string Optional. Spezifischer Fehlercode
message string Für Menschen lesbare Fehlerbeschreibung
param string Optional. Parameter im Zusammenhang mit dem Fehler
event_id string Optional. ID des Client-Ereignisses, das den Fehler verursacht hat

RealtimeConversationRequestItem

Du verwendest das Objekt, RealtimeConversationRequestItem um über das Ereignis conversation.item.create ein neues Element in der Diskussion zu erstellen.

Dies ist ein Union-Typ, der einer der folgenden sein kann:

RealtimeSystemMessageItem

Ein Systemnachrichtenelement.

Field Type Description
type string Die Art des Gegenstands.

Erlaubte Werte: message
role string Die Rolle der Botschaft.

Erlaubte Werte: system
content Array von RealtimeInputTextContentPart Der Inhalt der Nachricht.
id string Die eindeutige ID des Gegenstands. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, erzeugt der Server eine.

RealtimeUserMessageItem

Ein Benutzernachrichtenelement.

Field Type Description
type string Die Art des Gegenstands.

Erlaubte Werte: message
role string Die Rolle der Botschaft.

Erlaubte Werte: user
content Array von RealtimeInputTextContentPart oder RealtimeInputAudioContentPart Der Inhalt der Nachricht.
id string Die eindeutige ID des Gegenstands. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, erzeugt der Server eine.

RealtimeAssistantMessageItem

Ein Assistenten-Nachrichteneintrag.

Field Type Description
type string Die Art des Gegenstands.

Erlaubte Werte: message
role string Die Rolle der Botschaft.

Erlaubte Werte: assistant
content Array von RealtimeOutputTextContentPart Der Inhalt der Nachricht.

RealtimeFunctionCallItem

Ein Funktionsaufruf-Item.

Field Type Description
type string Die Art des Gegenstands.

Erlaubte Werte: function_call
name string Der Name der Funktion, die aufgerufen werden soll.
arguments string Die Argumente der Funktion rufen als JSON-String auf.
call_id string Die ID des Funktionsaufruf-Elements.
id string Die eindeutige ID des Gegenstands. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, erzeugt der Server eine.

RealtimeFunctionCallOutputItem

Ein Funktionsaufruf für das Ausgabeobjekt.

Field Type Description
type string Die Art des Gegenstands.

Erlaubte Werte: function_call_output
call_id string Die ID des Funktionsaufruf-Elements.
output string Die Ausgabe des Funktionsaufrufs, dies ist ein freier String mit dem Funktionsergebnis, könnte ebenfalls leer sein.
id string Die eindeutige ID des Gegenstands. Wenn der Client keine ID bereitstellt, erzeugt der Server eine.

RealtimeMCPApprovalResponseItem

Eine MCP-Genehmigungsantwort.

Field Type Description
type string Die Art des Gegenstands.

Erlaubte Werte: mcp_approval_response
approve boolean Ob der MCP-Antrag genehmigt wird.
approval_request_id string Der Ausweis des MCP-Genehmigungsantrags.
id string Die eindeutige ID des Gegenstands. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, erzeugt der Server eine.

RealtimeFunctionTool

Die Definition eines Funktionswerkzeugs, wie es vom Echtzeit-Endpunkt verwendet wird.

Field Type Description
type string Die Art des Werkzeugs.

Erlaubte Werte: function
name string Der Name der Veranstaltung.
description string Die Beschreibung der Funktion, einschließlich Nutzungsrichtlinien. Zum Beispiel: "Verwenden Sie diese Funktion, um die aktuelle Zeit zu erhalten."
parameters object Die Parameter der Funktion in Form eines JSON-Objekts.

RealtimeItemStatus

Allowed Values:

  • in_progress
  • completed
  • incomplete

RealtimeResponseAudioContentPart

Field Type Description
type string Die Art des Inhalts.

Erlaubte Werte: audio
transcript string Das Transkript der Audioaufnahme.

Diese Eigenschaft ist null.

RealtimeResponseFunctionCallItem

Field Type Description
type string Die Art des Gegenstands.

Erlaubte Werte: function_call
name string Der Name des Funktionsaufrufelements.
call_id string Die ID des Funktionsaufruf-Elements.
arguments string Die Argumente der Funktion rufen das Element auf.
status RealtimeItemStatus Der Status des Gegenstands.

RealtimeResponseFunctionCallOutputItem

Field Type Description
type string Die Art des Gegenstands.

Erlaubte Werte: function_call_output
call_id string Die ID des Funktionsaufruf-Elements.
output string Die Ausgabe des Funktionsaufruf-Elements.

RealtimeResponseOptions

Field Type Description
modalities array Die Ausgabemodalitäten für die Antwort.

Erlaubte Werte: text, audio

Zum Beispiel ist die Standardeinstellung, "modalities": ["text", "audio"] die sowohl Text- als auch Audioausgabemodalitäten ermöglicht. Um nur die Textausgabe zu aktivieren, setze "modalities": ["text"]. Du kannst nicht nur Audio aktivieren.
instructions string Die Anweisungen (die Systemnachricht) sollen die Antworten des Modells steuern.
voice RealtimeVoice Die Stimme, die für die Modellantwort der Sitzung verwendet wird.

Sobald die Stimme in der Sitzung für die Audioantwort des Modells verwendet wird, kann sie nicht mehr verändert werden.
tools Array von RealtimeTool Die Werkzeuge, die dem Modell für die Sitzung zur Verfügung stehen.
tool_choice RealtimeToolChoice Die Werkzeugwahl für die Sitzung.
temperature number Die Stichprobentemperatur für das Modell. Die erlaubten Temperaturwerte sind auf [0,6, 1,2] begrenzt. Standardmäßig auf 0,8 eingestellt.
max_response_output_tokens Ganzzahl oder "Inf" Die maximale Anzahl der Ausgabetoken pro Assistentenantwort, einschließlich Werkzeugaufrufe.

Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken zu begrenzen. Andernfalls wird der Wert auf "inf" gesetzt, um die maximale Anzahl an Token zu ermöglichen.

Zum Beispiel, um die Ausgabetoken auf 1000 zu begrenzen, setzen "max_response_output_tokens": 1000wir . Um die maximale Anzahl an Token zu ermöglichen, setze "max_response_output_tokens": "inf".

Standardmäßig gilt "inf".
reasoning_effort ReasoningEffort Optional. Begrenzt den Aufwand beim Schließen bei Denkmustern. Überprüfen Sie die Modelldokumentation auf unterstützte Werte für jedes Modell. Eine Reduzierung des Schlussarbeitsaufwands kann zu schnelleren Antworten und weniger Token beim Schließen in einer Antwort führen.
conversation string Kontrolliert, zu welchem Gespräch die Antwort hinzugefügt wird. Die unterstützten Werte sind auto und none.

Der Wert (oder das Nichtsetzen dieser Eigenschaft auto ) stellt sicher, dass der Inhalt der Antwort zur Standardkonversion der Sitzung hinzugefügt wird.

Setze diese Eigenschaft auf so, none dass eine Out-of-Band-Antwort erzeugt wird, bei der keine Elemente zur Standardkonversation hinzugefügt werden.

Standardeinstellungen zu "auto"
metadata map Setze von bis zu 16 Schlüssel-Wert-Paaren, die an ein Objekt angehängt werden können. Dies kann nützlich sein, um zusätzliche Informationen über das Objekt in einem strukturierten Format zu speichern. Tasten können maximal 64 Zeichen lang sein und Werte maximal 512 Zeichen.

Zum Beispiel: metadata: { topic: "classification" }

RealtimeResponseSession

Das Objekt RealtimeResponseSession stellt eine Sitzung in der Echtzeit-API dar. Es wird in einigen Server-Events verwendet, wie zum Beispiel:

Field Type Description
object string Das Session-Objekt.

Erlaubte Werte: realtime.session
id string Die eindeutige ID der Sitzung.
model string Das Modell, das für die Sitzung verwendet wurde.
modalities array Die Ausgabemodalitäten für die Sitzung.

Erlaubte Werte: text, audio

Zum Beispiel ist die Standardeinstellung, "modalities": ["text", "audio"] die sowohl Text- als auch Audioausgabemodalitäten ermöglicht. Um nur die Textausgabe zu aktivieren, setze "modalities": ["text"]. Du kannst nicht nur Audio aktivieren.
instructions string Die Anweisungen (die Systemnachricht) sollen die Text- und Audioantworten des Modells steuern.

Hier sind einige Beispielanweisungen, die den Inhalt und das Format von Text- und Audioantworten steuern können:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Hier sind einige Beispielanweisungen, um das Audioverhalten zu steuern:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Auch wenn das Modell diese Anweisungen nicht immer befolgt, geben sie Hinweise auf das gewünschte Verhalten.
voice RealtimeVoice Die Stimme, die für die Modellantwort der Sitzung verwendet wird.

Sobald die Stimme in der Sitzung für die Audioantwort des Modells verwendet wird, kann sie nicht mehr verändert werden.
input_audio_sampling_rate integer Die Abtastrate für das Eingangsaudio.
input_audio_format RealtimeAudioFormat Das Format für das Eingabeaudio.
output_audio_format RealtimeAudioFormat Das Format für das Ausgabe-Audio.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Die Einstellungen für die Audio-Eingabe-Transkription.

Diese Eigenschaft ist null.
turn_detection RealtimeTurnDetection Die Einstellungen für die Abzugserkennung für die Sitzung.

Diese Eigenschaft ist null.
tools Array von RealtimeTool Die Werkzeuge, die dem Modell für die Sitzung zur Verfügung stehen.
tool_choice RealtimeToolChoice Die Werkzeugwahl für die Sitzung.
temperature number Die Stichprobentemperatur für das Modell. Die erlaubten Temperaturwerte sind auf [0,6, 1,2] begrenzt. Standardmäßig auf 0,8 eingestellt.
max_response_output_tokens Ganzzahl oder "Inf" Die maximale Anzahl der Ausgabetoken pro Assistentenantwort, einschließlich Werkzeugaufrufe.

Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken zu begrenzen. Andernfalls wird der Wert auf "inf" gesetzt, um die maximale Anzahl an Token zu ermöglichen.

Zum Beispiel, um die Ausgabetoken auf 1000 zu begrenzen, setzen "max_response_output_tokens": 1000wir . Um die maximale Anzahl an Token zu ermöglichen, setze "max_response_output_tokens": "inf".

RealtimeResponseStatusDetails

Field Type Description
type RealtimeResponseStatus Der Status der Antwort.

RealtimeRateLimitsItem

Field Type Description
name string Der Name der Grundstücksbegrenzung, über den dieser Artikel Informationen enthält.
limit integer Das maximal konfigurierte Limit für diese Rate-Limit-Eigenschaft.
remaining integer Die verbleibende Quote steht im Rahmen des konfigurierten Limits für diese Tarifbegrenzung zur Verfügung.
reset_seconds number Die verbleibende Zeit, in Sekunden, bis diese Geschwindigkeitsbegrenzungseigenschaft zurückgesetzt wird.