Voice Live-API-Referenz 2025-10-01

Die Voice Live-API bietet eine bidirektionale Echtzeitkommunikation für Sprachfähige Anwendungen mithilfe von WebSocket-Verbindungen. Diese API unterstützt erweiterte Features wie Spracherkennung, Text-zu-Sprache-Synthese, Avatarstreaming, Animationsdaten und umfassende Audioverarbeitungsfunktionen.

Die API verwendet JSON-formatierte Ereignisse, die über WebSocket-Verbindungen gesendet werden, um Unterhaltungen, Audiodatenströme, Avatarinteraktionen und Echtzeitantworten zu verwalten. Ereignisse werden in Clientereignisse (gesendet von Client an Server) und Serverereignisse (vom Server an den Client gesendet) kategorisiert.

Key Features

  • Echtzeit-Audioverarbeitung: Unterstützung für mehrere Audioformate, einschließlich PCM16 bei verschiedenen Sampleraten und G.711-Codecs
  • Erweiterte Sprachoptionen: OpenAI-Stimmen, benutzerdefinierte Azure-Stimmen, Azure-Standardstimme und Azure-persönliche Stimmen
  • Avatarintegration: WebRTC-basiertes Avatarstreaming mit Video, Animation und Blendshapes
  • Intelligente Turnerkennung: Mehrere VAD-Optionen, einschließlich azure-semantischer VAD und serverseitiger Erkennung
  • Audioverbesserung: Integrierte Rauschreduzierung und Echounterdrückung
  • Funktionsaufrufe: Toolintegration für erweiterte Unterhaltungsfunktionen
  • Flexible Sitzungsverwaltung: Konfigurierbare Ausgabemodalitäten, Anweisungen und Antwortparameter

Client Events

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

Event Description
session.update Aktualisieren der Sitzungskonfiguration, einschließlich Sprach-, Ausgabemodalitäten, Aktivieren der Erkennung und anderer Einstellungen
session.avatar.connect Herstellen einer Avatarverbindung durch Bereitstellen von Client-SDP für WebRTC-Aushandlung
input_audio_buffer.append Anfügen von Audiobytes an den Eingabeaudiopuffer
input_audio_buffer.commit Commit des Eingabeaudiopuffers für die Verarbeitung
input_audio_buffer.clear Löschen des Eingabeaudiopuffers
conversation.item.create Hinzufügen eines neuen Elements zum Unterhaltungskontext
conversation.item.retrieve Abrufen eines bestimmten Elements aus der Unterhaltung
conversation.item.truncate Abschneiden einer Audionachricht eines Assistenten
conversation.item.delete Entfernen eines Elements aus der Unterhaltung
response.create Weisen Sie den Server an, eine Antwort über Modellferenz zu erstellen.
response.cancel Abbrechen einer laufenden Antwort

session.update

Aktualisieren Sie die Konfiguration der Sitzung. Dieses Ereignis kann jederzeit gesendet werden, um Einstellungen wie Sprache, Ausgabemodalitäten, Erkennung, Tools und andere Sitzungsparameter zu ändern. Beachten Sie, dass eine Sitzung nach dem Initialisieren einer Sitzung mit einem bestimmten Modell 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 "session.update" sein.
session RealtimeRequestSession Sitzungskonfigurationsobjekt mit zu aktualisierenden Feldern

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

Richten Sie eine Avatarverbindung ein, indem Sie das SDP-Angebot (Session Description Protocol) des Clients für die WebRTC-Medienverhandlung bereitstellen. Dieses Ereignis ist erforderlich, wenn Avatarfeatures verwendet werden.

Event Structure

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

Properties

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

input_audio_buffer.append

Fügen Sie Audiobytes an den Eingabeaudiopuffer an.

Event Structure

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

Properties

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

input_audio_buffer.commit

Übernehmen Sie den Eingabeaudiopuffer für die Verarbeitung.

Event Structure

{
  "type": "input_audio_buffer.commit"
}

Properties

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

input_audio_buffer.clear

Löschen Sie den Eingabeaudiopuffer.

Event Structure

{
  "type": "input_audio_buffer.clear"
}

Properties

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

conversation.item.create

Fügen Sie dem Unterhaltungskontext ein neues Element hinzu. Dazu können Nachrichten, Funktionsaufrufe und Funktionsaufrufantworten gehören. Elemente können an bestimmten Positionen im Unterhaltungsverlauf 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 "conversation.item.create" sein.
previous_item_id string Optional. ID des Elements, nach dem dieses Element eingefügt werden soll. Falls nicht angegeben, wird an das Ende angefügt.
item RealtimeConversationRequestItem Das Element, das der Unterhaltung hinzugefügt werden soll

Beispiel für Audioinhalte

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

Beispiel mit Funktionsaufrufausgabe

{
  "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

Dient zum Abrufen eines bestimmten Elements aus dem Unterhaltungsverlauf. Dies ist nützlich, um verarbeitete Audiodaten nach der Rauschunterdrückung und VAD zu prüfen.

Event Structure

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

Properties

Field Type Description
type string Muss "conversation.item.retrieve" sein.
item_id string Die ID des abzurufenden Elements

conversation.item.truncate

Kürzen Sie den Audioinhalt einer Assistentennachricht. Dies ist nützlich, um die Wiedergabe an einem bestimmten Punkt zu beenden und das Verständnis des Servers mit dem Clientstatus 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 "conversation.item.truncate" sein.
item_id string Die ID des Nachrichtenelements des Assistenten, das abgeschnitten werden soll
content_index integer Der Index des Zuschneidens des Inhaltsteils
audio_end_ms integer Die Dauer, bis zu der die Audiodaten abgeschnitten werden sollen, in Millisekunden

conversation.item.delete

Entfernen Sie ein Element aus dem Unterhaltungsverlauf.

Event Structure

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

Properties

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

response.create

Weisen Sie den Server an, eine Antwort über Modellleitungen zu erstellen. Dieses Ereignis kann antwortspezifische Konfiguration angeben, die die Sitzungsstandardwerte ü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 "response.create" sein.
response RealtimeResponseOptions Optionale Antwortkonfiguration, die Die Sitzungsstandardwerte außer Kraft setzt

Beispiel mit Toolauswahl

{
  "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

Abbrechen einer laufenden Antwort. Dadurch wird die Antwortgenerierung und die zugehörige Audioausgabe sofort beendet.

Event Structure

{
  "type": "response.cancel"
}

Properties

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

input_audio_buffer.append

Das Clientereignis input_audio_buffer.append wird verwendet, um Audiobytes an den Eingabeaudiopuffer anzufügen. Der Audiopuffer ist temporärer Speicher, in den Sie Daten schreiben und später committen können.

Im Server-VAD-Modus (Voice Activity Detection, Sprechaktivitätserkennung) wird der Audiopuffer verwendet, um die Sprache zu erkennen, und der Server entscheidet, wann ein Commit ausgeführt werden soll. Wenn die Server-VAD deaktiviert ist, kann der Client auswählen, wie viele Audiodaten in jedem Ereignis platziert werden sollen (maximal 15 MiB). Beispielsweise könnte die VAD durch das Streaming kleinerer Blöcke vom Client reaktionsfähiger sein.

Im Gegensatz zu den meisten Clientereignissen sendet der Server keine Bestätigungsantwort auf das Clientereignis input_audio_buffer.append.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss input_audio_buffer.append sein.
audio string Base64-codierte Audiobytes. Dieser Wert muss in dem Format vorliegen, das durch das Feld input_audio_format in der Sitzungskonfiguration angegeben wird.

input_audio_buffer.clear

Das Clientereignis 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 input_audio_buffer.clear sein.

input_audio_buffer.commit

Das Clientereignis input_audio_buffer.commit wird verwendet, um den Benutzereingabeaudiopuffer zu committen. Dadurch wird ein neues Benutzernachrichtenelement in der Unterhaltung erstellt. Die Audioinhalte werden transkribiert, wenn für die Sitzung input_audio_transcription konfiguriert wurde.

Im Server-VAD-Modus muss der Client dieses Ereignis nicht senden, da der Server den Audiopuffer automatisch committet. Ohne Server-VAD muss der Client den Audiopuffer committen, um ein Benutzernachrichtenelement zu erstellen. Dieses Clientereignis generiert einen Fehler, wenn der Eingabeaudiopuffer leer ist.

Beim Committen des Eingabeaudiopuffers wird vom Modell keine Antwort erstellt.

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 input_audio_buffer.commit sein.

Server Events

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

Event Description
error Gibt an, dass während der Verarbeitung ein Fehler aufgetreten ist.
warning Gibt an, dass eine Warnung aufgetreten ist, die den Unterhaltungsfluss nicht unterbricht.
session.created Gesendet, wenn eine neue Sitzung erfolgreich eingerichtet wurde
session.updated Gesendet, wenn die Sitzungskonfiguration aktualisiert wird
session.avatar.connecting Gibt an, dass die WebRTC-Verbindung des Avatars eingerichtet wird.
conversation.item.created Gesendet, wenn der Unterhaltung ein neues Element hinzugefügt wird
conversation.item.retrieved Antwort auf die Anforderung "conversation.item.retrieve"
conversation.item.truncated Bestätigt das Abschneiden des Elements.
conversation.item.deleted Bestätigt das Löschen von Elementen.
conversation.item.input_audio_transcription.completed Die Audiotranskription für die Eingabe ist abgeschlossen.
conversation.item.input_audio_transcription.delta Audiotranskription für Streamingeingaben
conversation.item.input_audio_transcription.failed Fehler bei der Audiotranskription für die Eingabe
input_audio_buffer.committed Der Eingabeaudiopuffer war für die Verarbeitung vorgesehen.
input_audio_buffer.cleared Der Eingabeaudiopuffer wurde gelöscht.
input_audio_buffer.speech_started Spracherkennung im Eingabeaudiopuffer (VAD)
input_audio_buffer.speech_stopped Die Sprachausgabe wurde im Eingabeaudiopuffer (VAD) beendet.
response.created Neue Reaktionsgenerierung wurde gestartet
response.done Die Antwortgenerierung ist abgeschlossen.
response.output_item.added Neues Ausgabeelement zur Antwort hinzugefügt
response.output_item.done Ausgabeelement ist abgeschlossen
response.content_part.added Dem Ausgabeelement hinzugefügter neuer Inhaltsteil
response.content_part.done Inhaltsteil ist abgeschlossen
response.text.delta Streamen von Textinhalten aus dem Modell
response.text.done Der Textinhalt ist abgeschlossen.
response.audio_transcript.delta Streamen von Audiotranskript
response.audio_transcript.done Audiotranskript ist abgeschlossen
response.audio.delta Streamen von Audioinhalten aus dem Modell
response.audio.done Audioinhalte sind abgeschlossen
response.animation_blendshapes.delta Daten zum Streamen von Animationen blendshapes
response.animation_blendshapes.done Animations-Blendshapes-Daten sind abgeschlossen
response.audio_timestamp.delta Streamen von Audiozeitstempelinformationen
response.audio_timestamp.done Audiozeitstempelinformationen sind abgeschlossen
response.animation_viseme.delta Streaminganimation viseme-Daten
response.animation_viseme.done Animations viseme-Daten sind abgeschlossen
response.function_call_arguments.delta Aufrufargumente der Streamingfunktion
response.function_call_arguments.done Funktionsaufrufargumente sind abgeschlossen
mcp_list_tools.in_progress DIE MCP-Toolauflistung wird ausgeführt
mcp_list_tools.completed MCP-Toolauflistung ist abgeschlossen
mcp_list_tools.failed Fehler bei der MCP-Toolauflistung
response.mcp_call_arguments.delta Streaming von MCP-Aufrufargumenten
response.mcp_call_arguments.done MCP-Aufrufargumente sind abgeschlossen
response.mcp_call.in_progress MCP-Aufruf wird ausgeführt
response.mcp_call.completed MCP-Aufruf ist abgeschlossen
response.mcp_call.failed MCP-Aufruf fehlgeschlagen

session.created

Gesendet, wenn eine neue Sitzung erfolgreich eingerichtet wurde. Dies ist das erste Ereignis, das nach dem Herstellen einer Verbindung mit der 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 "session.created" sein.
session RealtimeResponseSession Das erstellte Sitzungsobjekt

session.updated

Gesendet, wenn die Sitzungskonfiguration als Reaktion auf ein session.update Clientereignis erfolgreich aktualisiert wird.

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

session.avatar.connecting

Gibt an, dass eine Avatar-WebRTC-Verbindung hergestellt wird. Dieses Ereignis wird als Reaktion auf ein session.avatar.connect Clientereignis gesendet.

Event Structure

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

Properties

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

conversation.item.created

Gesendet, wenn der Unterhaltung ein neues Element hinzugefügt wird, entweder über ein Clientereignis 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 "conversation.item.created" sein.
previous_item_id string ID des Elements, nach dem dieses Element eingefügt wurde
item RealtimeConversationResponseItem Das erstellte Unterhaltungselement

Beispiel mit Audioelement

{
  "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

Wird als Reaktion auf ein conversation.item.retrieve Clientereignis gesendet und stellt das angeforderte Unterhaltungselement bereit.

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 "conversation.item.retrieved" sein.
item RealtimeConversationResponseItem Das abgerufene Unterhaltungselement

conversation.item.truncated

Das Serverereignis conversation.item.truncated wird zurückgegeben, wenn der Client ein früheres Audionachrichtenelement des Assistenten mit einem conversation.item.truncate-Ereignis abschneidet. Dieses Ereignis wird verwendet, um das Verständnis des Audios durch den Server mit der Wiedergabe des Clients zu synchronisieren.

Durch dieses Ereignis werden die Audioinhalte abgeschnitten und die serverseitige Texttranskription gelöscht, um sicherzustellen, dass kein Text im Kontext vorhanden ist, den Benutzende nicht kennen.

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 conversation.item.truncated sein.
item_id string Die ID des Nachrichtenelements des Assistenten, das abgeschnitten wurde.
content_index integer Der Index des Inhaltsteils, der abgeschnitten wurde.
audio_end_ms integer Die Dauer bis zum Abschneiden von Audiodaten in Millisekunden.

conversation.item.deleted

Wird als Reaktion auf ein conversation.item.delete Clientereignis gesendet und bestätigt, dass das angegebene Element aus der Unterhaltung entfernt wurde.

Event Structure

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

Properties

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

response.created

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

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 "response.created" sein.
response RealtimeResponse Das Antwortobjekt, das erstellt wurde

response.done

Gesendet, wenn die Antwortgenerierung abgeschlossen ist. Dieses Ereignis enthält die endgültige Antwort mit allen Ausgabeelementen 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 "response.done" sein.
response RealtimeResponse Das abgeschlossene Antwortobjekt

response.output_item.added

Wird gesendet, wenn der Antwort während der Generierung ein neues Ausgabeelement 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 "response.output_item.added" sein.
response_id string DIE ID der Antwort, zu der dieses Element gehört
output_index integer Index des Elements im Ausgabearray der Antwort
item RealtimeConversationResponseItem Das Ausgabeelement, das hinzugefügt wurde

response.output_item.done

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

response.content_part.added

Das Serverereignis response.content_part.added wird zurückgegeben, wenn während der Antwortgenerierung ein neues Inhaltsteil einem Nachrichtenelement des Assistenten 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 "response.content_part.added" sein.
response_id string ID der Antwort
item_id string DIE ID des Elements, zu dem dieser Inhaltsteil gehört
output_index integer Index des Elements in der Antwort
content_index integer Index dieses Inhaltsteils im Element
part RealtimeContentPart Der hinzugefügte Inhaltsteil

response.content_part.done

Das Serverereignis response.content_part.done wird zurückgegeben, wenn das Streamen eines Inhaltsteils in einem Nachrichtenelement des Assistenten abgeschlossen ist.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 "response.content_part.done" sein.
response_id string ID der Antwort
item_id string DIE ID des Elements, zu dem dieser Inhaltsteil gehört
output_index integer Index des Elements in der Antwort
content_index integer Index dieses Inhaltsteils im Element
part RealtimeContentPart Der fertige Inhaltsteil

response.text.delta

Streamen von Textinhalten aus dem Modell. Wird inkrementell gesendet, wenn das Modell Text generiert.

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

response.text.done

Gesendet, wenn die Textinhaltsgenerierung 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 "response.text.done" sein.
response_id string ID der Antwort
item_id string ID des Elements
output_index integer Index des Elements in der Antwort
content_index integer Index des Inhaltsteils
text string Der vollständige Textinhalt

response.audio.delta

Streamen von Audioinhalten aus dem Modell. Audio wird als base64-codierte 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 "response.audio.delta" sein.
response_id string ID der Antwort
item_id string ID des Elements
output_index integer Index des Elements in der Antwort
content_index integer Index des Inhaltsteils
delta string Base64-codierte Audiodatenabschnitt

response.audio.done

Gesendet, wenn die Generierung von Audioinhalten 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 "response.audio.done" sein.
response_id string ID der Antwort
item_id string ID des Elements
output_index integer Index des Elements in der Antwort
content_index integer Index des Inhaltsteils

response.audio_transcript.delta

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

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

conversation.item.input_audio_transcription.completed

Das Serverereignis conversation.item.input_audio_transcription.completed ist das Ergebnis der Audiotranskription für die in den Audiopuffer geschriebene Sprache.

Die Transkription beginnt, wenn der Eingabeaudiopuffer vom Client oder vom Server (im server_vad-Modus) committet wird. Die Transkription wird asynchron mit der Antworterstellung ausgeführt, sodass dieses Ereignis vor oder nach den Antwortereignissen auftreten kann.

Realtime-API-Modelle akzeptieren Audio nativ, und somit ist die Eingabetranskription ein separater Prozess, der auf einem separaten Spracherkennungsmodell wie zum Beispiel whisper-1 ausgeführt wird. So kann das Transkript etwas von der Interpretation des Modells abweichen und sollte als grobe Anleitung 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 conversation.item.input_audio_transcription.completed sein.
item_id string Die ID des Benutzernachrichtenelements, das das Audio enthält.
content_index integer Der Index des Inhaltsteils, der die Audiodaten 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 Audiotranskription für die Eingabe konfiguriert ist und eine Transkriptionsanforderung für eine Benutzernachricht ausgeführt wird. Dieses Ereignis stellt teilweise Transkriptionsergebnisse bereit, 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 conversation.item.input_audio_transcription.delta sein.
item_id string Die ID des Benutzernachrichtenelements.
content_index integer Der Index des Inhaltsteils, der die Audiodaten 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 Audiotranskription konfiguriert ist und ein Fehler bei einer Transkriptionsanforderung für eine Benutzernachricht auftrat. Dieses Ereignis ist von anderen error-Ereignissen getrennt, sodass der Client 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 conversation.item.input_audio_transcription.failed sein.
item_id string Die ID des Benutzernachrichtenelements.
content_index integer Der Index des Inhaltsteils, der die Audiodaten enthält.
error object Details des Transkriptionsfehlers.

Weitere Informationen finden Sie unter den geschachtelten Eigenschaften in der nächsten Tabelle.

Error properties

Field Type Description
type string Der Typ des Fehlers.
code string Fehlercode, falls vorhanden.
message string Eine für Menschen lesbare Fehlermeldung.
param string Parameter im Zusammenhang mit dem Fehler, falls vorhanden.

response.animation_blendshapes.delta

Das Serverereignis response.animation_blendshapes.delta wird zurückgegeben, wenn das Modell Animationsmischungsdaten als Teil einer Antwort generiert. Dieses Ereignis stellt daten inkrementelle Blendshapes bereit, sobald es verfügbar wird.

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

response.animation_blendshapes.done

Das Serverereignis response.animation_blendshapes.done wird zurückgegeben, wenn das Modell das Generieren von Animationsmischungsdaten als Teil einer Antwort abgeschlossen 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 response.animation_blendshapes.done sein.
response_id string ID der Antwort
item_id string ID des Elements
output_index integer Index des Elements in der Antwort

response.audio_timestamp.delta

Das Serverereignis response.audio_timestamp.delta wird zurückgegeben, wenn das Modell Audiozeitstempeldaten als Teil einer Antwort generiert. Dieses Ereignis stellt inkrementelle Zeitstempeldaten für die Ausgabeaudio- und Textausrichtung bereit, sobald es verfügbar wird.

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 response.audio_timestamp.delta sein.
response_id string ID der Antwort
item_id string ID des Elements
output_index integer Index des Elements in der Antwort
content_index integer Index des Inhaltsteils
audio_offset_ms integer Audiooffset in Millisekunden vom Anfang des Audiosignals
audio_duration_ms integer Dauer des Audiosegments in Millisekunden
text string Das Textsegment, das diesem Audiozeitstempel entspricht
timestamp_type string Der Zeitstempeltyp, derzeit wird nur "Wort" unterstützt.

response.audio_timestamp.done

Gesendet, wenn die Audiozeitstempelgenerierung 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 response.audio_timestamp.done sein.
response_id string ID der Antwort
item_id string ID des Elements
output_index integer Index des Elements 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 Animationsdaten als Teil einer Antwort generiert. Dieses Ereignis stellt inkrementelle Viseme-Daten bereit, sobald es verfügbar wird.

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 response.animation_viseme.delta sein.
response_id string ID der Antwort
item_id string ID des Elements
output_index integer Index des Elements in der Antwort
content_index integer Index des Inhaltsteils
audio_offset_ms integer Audiooffset in Millisekunden vom Anfang des Audiosignals
viseme_id integer Die Viseme-ID, die der Mundform für animation entspricht

response.animation_viseme.done

Das Serverereignis response.animation_viseme.done wird zurückgegeben, wenn das Modell das Generieren von Animationsdaten 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 response.animation_viseme.done sein.
response_id string ID der Antwort
item_id string ID des Elements
output_index integer Index des Elements in der Antwort
content_index integer Index des Inhaltsteils

error

Das Serverereignis error wird zurückgegeben, wenn ein Fehler auftritt. Dabei kann es sich um ein Client- oder ein Serverproblem handeln. Die meisten Fehler können behoben werden, und die Sitzung bleibt geöffnet.

Event structure

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

Properties

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

Weitere Informationen finden Sie unter den geschachtelten Eigenschaften in der nächsten Tabelle.

Error properties

Field Type Description
type string Der Typ des Fehlers. Beispiele für Fehlertypen sind „invalid_request_error“ und „server_error“.
code string Fehlercode, falls vorhanden.
message string Eine für Menschen lesbare Fehlermeldung.
param string Parameter im Zusammenhang mit dem Fehler, falls vorhanden.
event_id string Die ID des Clientereignisses, das den Fehler verursacht hat, falls zutreffend.

warning

Das Serverereignis warning wird zurückgegeben, wenn eine Warnung auftritt, die den Unterhaltungsfluss nicht unterbricht. Warnungen sind Informationsinformationen, und die Sitzung wird normal fortgesetzt.

Event structure

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

Properties

Field Type Description
type string Der Ereignistyp muss warning sein.
warning object Details der Warnung. Weitere Informationen finden Sie unter den geschachtelten 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 im Zusammenhang mit der Warnung, falls vorhanden.

input_audio_buffer.cleared

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

Event structure

{
  "type": "input_audio_buffer.cleared"
}

Properties

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

input_audio_buffer.committed

Das Serverereignis input_audio_buffer.committed wird zurückgegeben, wenn ein Eingabeaudiopuffer vom Client oder automatisch im Server-VAD-Modus committet wird. Die item_id-Eigenschaft ist die ID des erstellten Benutzernachrichtenelements. Daher wird auch ein conversation.item.created-Ereignis an den Client 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 input_audio_buffer.committed sein.
previous_item_id string Die ID des vorherigen Elements, nach dem das neue Element 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 im Audiopuffer Sprache erkannt wird. Dieses Ereignis kann jederzeit auftreten, wenn dem Puffer Audio hinzugefügt wird (es sei denn, es wurde bereits Sprache erkannt).

Note

Der Client kann dieses Ereignis verwenden, um die Audiowiedergabe zu unterbrechen oder den Benutzenden visuelles Feedback zu geben.

Der Client sollte erwarten, dass ein input_audio_buffer.speech_stopped-Ereignis empfangen wird, wenn die Sprachausgabe beendet wird. Die item_id-Eigenschaft ist die ID des Benutzernachrichtenelements, das beim Beenden der Sprache erstellt wird. Die item_id ist auch im input_audio_buffer.speech_stopped-Ereignis enthalten, es sei denn, der Client committet 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 input_audio_buffer.speech_started sein.
audio_start_ms integer Millisekunden vom Anfang aller Audiodaten, die während der Sitzung in den Puffer geschrieben wurden, wenn zum ersten Mal Sprache erkannt wurde. Diese Eigenschaft entspricht dem Anfang der an das Modell gesendeten Audiodaten und enthält somit den in der Sitzung konfigurierten prefix_padding_ms-Wert.
item_id string Die ID des Benutzernachrichtenelements, das beim Beenden der Sprache erstellt wird.

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

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 input_audio_buffer.speech_stopped sein.
audio_end_ms integer Millisekunden seit Beginn der Sitzung, als die Sprachausgabe beendet wurde. Diese Eigenschaft entspricht dem Ende der an das Modell gesendeten Audiodaten und enthält somit den in der Sitzung konfigurierten min_silence_duration_ms-Wert.
item_id string Die ID des erstellten Benutzernachrichtenelements.

rate_limits.updated

Das Serverereignis rate_limits.updated wird am Anfang einer Antwort ausgegeben, um die aktualisierten Ratengrenzwerte anzugeben.

Wenn eine Antwort erstellt wird, sind einige Token für die Ausgabetoken reserviert. Die hier gezeigten Ratengrenzwerte spiegeln diese Reservierung wider, die dann nach Abschluss der Antwort entsprechend angepasst wird.

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 rate_limits.updated sein.
rate_limits Array von RealtimeRateLimitsItem Liste der Informationen zu Ratengrenzwerten

response.audio.delta

Das Serverereignis response.audio.delta wird zurückgegeben, wenn die vom Modell generierten Audioinhalte aktualisiert werden.

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 response.audio.delta sein.
response_id string Die ID der Antwort.
item_id string Die ID des Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhaltsteils im Inhaltsarray des Elements.
delta string Base64-codiertes Audiodatendelta.

response.audio.done

Das Serverereignis response.audio.done wird zurückgegeben, wenn die vom Modell generierten Audioinhalte fertig sind.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 response.audio.done sein.
response_id string Die ID der Antwort.
item_id string Die ID des Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhaltsteils im Inhaltsarray des Elements.

response.audio_transcript.delta

Das Serverereignis response.audio_transcript.delta wird zurückgegeben, wenn die vom Modell generierte 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 response.audio_transcript.delta sein.
response_id string Die ID der Antwort.
item_id string Die ID des Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhaltsteils im Inhaltsarray des Elements.
delta string Das Transkriptdelta.

response.audio_transcript.done

Das Serverereignis response.audio_transcript.done wird zurückgegeben, wenn das Streaming der vom Modell generierten Transkription der Audioausgabe abgeschlossen ist.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 response.audio_transcript.done sein.
response_id string Die ID der Antwort.
item_id string Die ID des Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhaltsteils im Inhaltsarray des Elements.
transcript string Die endgültige Transkription der Audiodaten.

response.function_call_arguments.delta

Das Serverereignis response.function_call_arguments.delta wird zurückgegeben, wenn die vom Modell generierten Funktionsaufrufargumente 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 response.function_call_arguments.delta sein.
response_id string Die ID der Antwort.
item_id string Die ID des Funktionsaufrufelements.
output_index integer Der Index des Ausgabeelements in der Antwort.
call_id string Die ID des Funktionsaufrufs.
delta string Das Argumentdelta als JSON-Zeichenfolge.

response.function_call_arguments.done

Das Serverereignis response.function_call_arguments.done wird zurückgegeben, wenn das Streaming der vom Modell generierten Funktionsaufrufargumente abgeschlossen ist.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 response.function_call_arguments.done sein.
response_id string Die ID der Antwort.
item_id string Die ID des Funktionsaufrufelements.
output_index integer Der Index des Ausgabeelements in der Antwort.
call_id string Die ID des Funktionsaufrufs.
arguments string Die letzten Argumente als JSON-Zeichenfolge.

mcp_list_tools.in_progress

Das Serverereignis mcp_list_tools.in_progress wird zurückgegeben, wenn der Dienst beginnt, verfügbare Tools 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 mcp_list_tools.in_progress sein.
item_id string Die ID des verarbeiteten MCP-Listentools-Elements .

mcp_list_tools.completed

Das Serverereignis mcp_list_tools.completed wird zurückgegeben, wenn der Dienst die Auflistung der verfügbaren Tools von einem Mcp-Server abgeschlossen hat.

Event structure

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

mcp_list_tools.failed

Das Serverereignis mcp_list_tools.failed wird zurückgegeben, wenn der Dienst keine verfügbaren Tools von einem Mcp-Server auflistet.

Event structure

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

response.mcp_call_arguments.delta

Das Serverereignis response.mcp_call_arguments.delta wird zurückgegeben, wenn die vom Modell generierten Mcp-Toolaufrufargumente 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 response.mcp_call_arguments.delta sein.
response_id string Die ID der Antwort.
item_id string Die ID des Mcp-Toolaufrufelements.
output_index integer Der Index des Ausgabeelements in der Antwort.
delta string Das Argumentdelta als JSON-Zeichenfolge.

response.mcp_call_arguments.done

Das Serverereignis response.mcp_call_arguments.done wird zurückgegeben, wenn das vom Modell generierte Mcp-Toolaufrufargumente streamingt werden.

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 response.mcp_call_arguments.done sein.
response_id string Die ID der Antwort.
item_id string Die ID des Mcp-Toolaufrufelements.
output_index integer Der Index des Ausgabeelements in der Antwort.
arguments string Die letzten Argumente als JSON-Zeichenfolge.

response.mcp_call.in_progress

Das Serverereignis response.mcp_call.in_progress wird zurückgegeben, wenn ein MCP-Toolaufruf die Verarbeitung startet.

Event structure

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

Properties

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

response.mcp_call.completed

Das Serverereignis response.mcp_call.completed wird zurückgegeben, wenn ein MCP-Toolaufruf erfolgreich abgeschlossen wird.

Event structure

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

Properties

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

response.mcp_call.failed

Das Serverereignis response.mcp_call.failed wird zurückgegeben, wenn ein MCP-Toolaufruf 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 response.mcp_call.failed sein.
item_id string Die ID des Mcp-Toolaufrufelements.
output_index integer Der Index des Ausgabeelements in der Antwort.

response.output_item.added

Das Serverereignis 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 response.output_item.added sein.
response_id string Die ID der Antwort, zu der das Element gehört.
output_index integer Der Index des Ausgabeelements in der Antwort.
item RealtimeConversationResponseItem Das hinzugefügte Element

response.output_item.done

Das Serverereignis response.output_item.done wird zurückgegeben, wenn das Streamen eines Elements abgeschlossen ist.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 response.output_item.done sein.
response_id string Die ID der Antwort, zu der das Element gehört.
output_index integer Der Index des Ausgabeelements in der Antwort.
item RealtimeConversationResponseItem Das fertig gestreamte Element

response.text.delta

Das Serverereignis response.text.delta wird zurückgegeben, wenn der vom Modell generierte Text aktualisiert wird. Der Text entspricht dem Inhaltsteil text eines Nachrichtenelements des Assistenten.

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 response.text.delta sein.
response_id string Die ID der Antwort.
item_id string Die ID des Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhaltsteils im Inhaltsarray des Elements.
delta string Das Textdelta.

response.text.done

Das Serverereignis response.text.done wird zurückgegeben, wenn das Streamen des vom Modell generierten Texts abgeschlossen ist. Der Text entspricht dem Inhaltsteil text eines Nachrichtenelements des Assistenten.

Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 response.text.done sein.
response_id string Die ID der Antwort.
item_id string Die ID des Elements.
output_index integer Der Index des Ausgabeelements in der Antwort.
content_index integer Der Index des Inhaltsteils im Inhaltsarray des Elements.
text string Der endgültige Textinhalt.

Components

Audio Formats

RealtimeAudioFormat

Basisaudioformat, das für Eingabeaudio verwendet wird.

Allowed Values:

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

RealtimeOutputAudioFormat

Audioformat, das für die Ausgabe von Audio mit bestimmten Samplingraten verwendet wird.

Allowed Values:

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

RealtimeAudioInputTranscriptionSettings

Konfiguration für die Eingabeaudiotranskription.

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 Agents: azure-speech
language string Optionaler Sprachcode in BCP-47 (z en-US. B. ) oder ISO-639-1 (z en. B. ) oder Multisprachen mit automatischer Erkennung (z en,zh. B. ).

Informationen zur empfohlenen Verwendung dieser Einstellung finden Sie unter Azure Speech zu textgestützten Sprachen .
custom_speech object Optionale Konfiguration für benutzerdefinierte Sprachmodelle, nur gültig für azure-speech das Modell.
phrase_list string[] Optionale Liste von Begriffshinweisen zur Verzerrungserkennung, nur gültig für azure-speech das Modell.
prompt string Optionaler Eingabeaufforderungstext zur Anleitung der Transkription, nur gültig für whisper-1, gpt-4o-transcribegpt-4o-mini-transcribe und gpt-4o-transcribe-diarize Modelle.

RealtimeInputAudioNoiseReductionSettings

Dies kann folgendes sein:

RealtimeOpenAINoiseReduction

OpenAI-Rauschreduzierungskonfiguration mit expliziten Typfeld, nur für gpt-realtime und gpt-realtime-mini Modelle verfügbar.

Field Type Description
type string near_field oder far_field

RealtimeAzureDeepNoiseSuppression

Konfiguration zur Rauschunterdrückung bei Audioeingang.

Field Type Description
type string Muss "azure_deep_noise_suppression" sein.

RealtimeInputAudioEchoCancellationSettings

Echounterdrückungskonfiguration für die serverseitige Audioverarbeitung.

Field Type Description
type string Muss "server_echo_cancellation" sein.

Voice Configuration

RealtimeVoice

Union aller unterstützten Sprachkonfigurationen.

Dies kann folgendes sein:

RealtimeOpenAIVoice

OpenAI-Sprachkonfiguration mit expliziten Typfeldern.

Field Type Description
type string Muss "openai" sein.
name string OpenAI-Sprachname: alloy, , ash, balladcoral, echosageshimmerverse, marincedar

RealtimeAzureVoice

Basis für Azure-VoIP-Konfigurationen. Dies ist eine diskriminierte Vereinigung mit verschiedenen Typen:

RealtimeAzureStandardVoice

Azure-Standard-VoIP-Konfiguration.

Field Type Description
type string Muss "azure-standard" sein.
name string Sprachname (darf nicht leer sein)
temperature number Optional. Temperatur zwischen 0,0 und 1,0
custom_lexicon_url string Optional. URL zu benutzerdefiniertem Lexicon
custom_text_normalization_url string Optional. URL zur benutzerdefinierten Textnormalisierung
prefer_locales string[] Optional. Preferred locales
Bevorzugte Gebietsschemas ändern die Akzente von Sprachen. Wenn der Wert nicht festgelegt ist, verwendet TTS standardmäßige Akzente jeder Sprache. Wenn TTS beispielsweise Englisch spricht, wird der amerikanische Englische Akzent verwendet. Und wenn Sie Spanisch sprechen, verwendet es den mexikanischen spanischen Akzent.
Wenn die prefer_locales festgelegt ["en-GB", "es-ES"]ist, ist der englische Akzent britisches Englisch, und der spanische Akzent ist Europäisches Spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
locale string Optional. Locale specification
Erzwingen des Gebietsschemas für die TTS-Ausgabe. Wenn nicht festgelegt, verwendet TTS immer das angegebene Gebietsschema, um zu sprechen. Legen Sie z. B. das Gebietsschema auf en-US, TTS verwendet immer amerikanischen Englischakzent, um den Textinhalt zu sprechen, auch wenn sich der Textinhalt in einer anderen Sprache befindet. Und TTS gibt stumm, wenn sich der Textinhalt in Chinesisch befindet.
style string Optional. Voice style
pitch string Optional. Pitch adjustment
rate string Optional. Anpassung der Sprachrate
volume string Optional. Volume adjustment
RealtimeAzureCustomVoice

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

Field Type Description
type string Muss "azure-custom" sein.
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 zu benutzerdefiniertem Lexicon
custom_text_normalization_url string Optional. URL zur benutzerdefinierten Textnormalisierung
prefer_locales string[] Optional. Preferred locales
Bevorzugte Gebietsschemas ändern die Akzente von Sprachen. Wenn der Wert nicht festgelegt ist, verwendet TTS standardmäßige Akzente jeder Sprache. Wenn TTS beispielsweise Englisch spricht, wird der amerikanische Englische Akzent verwendet. Und wenn Sie Spanisch sprechen, verwendet es den mexikanischen spanischen Akzent.
Wenn die prefer_locales festgelegt ["en-GB", "es-ES"]ist, ist der englische Akzent britisches Englisch, und der spanische Akzent ist Europäisches Spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
locale string Optional. Locale specification
Erzwingen des Gebietsschemas für die TTS-Ausgabe. Wenn nicht festgelegt, verwendet TTS immer das angegebene Gebietsschema, um zu sprechen. Legen Sie z. B. das Gebietsschema auf en-US, TTS verwendet immer amerikanischen Englischakzent, um den Textinhalt zu sprechen, auch wenn sich der Textinhalt in einer anderen Sprache befindet. Und TTS gibt stumm, wenn sich der Textinhalt in Chinesisch befindet.
style string Optional. Voice style
pitch string Optional. Pitch adjustment
rate string Optional. Anpassung der Sprachrate
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 "azure-personal" sein.
name string Sprachname (darf nicht leer sein)
temperature number Optional. Temperatur zwischen 0,0 und 1,0
model string Zugrunde liegendes Basismodell: DragonLatestNeural, DragonHDOmniLatestNeuralMAI-Voice-1
custom_lexicon_url string Optional. URL zu benutzerdefiniertem Lexicon
custom_text_normalization_url string Optional. URL zur benutzerdefinierten Textnormalisierung
prefer_locales string[] Optional. Preferred locales
Bevorzugen Sie Gebietsschemas, um die Akzente von Sprachen zu ändern. Wenn der Wert nicht festgelegt ist, verwendet TTS standardmäßige Akzente jeder Sprache. Wenn TTS beispielsweise Englisch spricht, wird der amerikanische Englische Akzent verwendet. Und wenn Sie Spanisch sprechen, verwendet es den mexikanischen spanischen Akzent.
Wenn die prefer_locales festgelegt ["en-GB", "es-ES"]ist, ist der englische Akzent britisches Englisch, und der spanische Akzent ist Europäisches Spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
locale string Optional. Locale specification
Erzwingen des Gebietsschemas für die TTS-Ausgabe. Wenn nicht festgelegt, verwendet TTS immer das angegebene Gebietsschema, um zu sprechen. Legen Sie z. B. das Gebietsschema auf en-US, TTS verwendet immer amerikanischen Englischakzent, um den Textinhalt zu sprechen, auch wenn sich der Textinhalt in einer anderen Sprache befindet. Und TTS gibt stumm, wenn sich der Textinhalt in Chinesisch befindet.
pitch string Optional. Pitch adjustment
rate string Optional. Anpassung der Sprachrate
volume string Optional. Volume adjustment

Turn Detection

RealtimeTurnDetection

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

RealtimeServerVAD

Basis-VAD-basierte Dreherkennung.

Field Type Description
type string Muss "server_vad" sein.
threshold float Optional. Aktivierungsschwellenwert (0,0-1.0) (Standard: 0,5)
prefix_padding_ms integer Optional. Audioabstand vor dem Start der Sprache (Standard: 300)
silence_duration_ms integer Optional. Stille Dauer zum Erkennen des Sprachendes (Standard: 500)
speech_duration_ms integer Optional. Minimale Sprachdauer (Standard: 200)
end_of_utterance_detection RealtimeEOUDetection Optional. End-of-Utterance-Erkennungskonfiguration
create_response boolean Optional. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird (Standard: true).
interrupt_response boolean Optional. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: true).
auto_truncate boolean Optional. Automatische Abkürzung bei Unterbrechung (Standard: false)
RealtimeOpenAISemanticVAD

OpenAI-Semantik-VAD-Konfiguration, die ein Modell verwendet, um zu bestimmen, wann der Benutzer die Rede abgeschlossen hat. Nur für gpt-realtime und gpt-realtime-mini Modelle verfügbar.

Field Type Description
type string Muss "semantic_vad" sein.
eagerness string Optional. Dies ist eine Möglichkeit, zu steuern, wie eifrig das Modell ist, den Benutzer zu unterbrechen und das maximale Wartezeittimeout zu optimieren. Auch wenn das Modell nicht antwortet, hat es im Transkriptionsmodus Einfluss darauf, wie das Audio segmentiert wird.
Die folgenden Werte sind zulässig:
- auto (Standard) entspricht medium,
- low ermöglicht es dem Benutzer, seine Zeit zu sprechen,
- high wird das Audio so schnell wie möglich in Abschnitte unterteilen.

Wenn Sie möchten, dass das Modell häufiger im Unterhaltungsmodus reagiert oder Transkriptionsereignisse schneller im Transkriptionsmodus zurückgegeben werden sollen, können Sie die Eingreifbereitschaft auf high festlegen.
Wenn Sie es dem Benutzer hingegen ermöglichen möchten, im Unterhaltungsmodus ununterbrochen zu sprechen, oder wenn Sie größere Transkriptblöcke im Transkriptionsmodus wünschen, können Sie die Einstellung auf low ändern.
create_response boolean Optional. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird (Standard: true).
interrupt_response boolean Optional. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: true).
RealtimeAzureSemanticVAD

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

Field Type Description
type string Muss "azure_semantic_vad" sein.
threshold float Optional. Aktivierungsschwellenwert (Standard: 0,5)
prefix_padding_ms integer Optional. Audioabstand vor sprache (Standard: 300)
silence_duration_ms integer Optional. Stille Dauer für Sprachende (Standard: 500)
end_of_utterance_detection RealtimeEOUDetection Optional. EOU-Erkennungskonfiguration
speech_duration_ms integer Optional. Minimale Sprachdauer (Standard: 80)
remove_filler_words boolean Optional. Füllwörter entfernen (Standard: false)
languages string[] Optional. Supports English. Andere Sprachen werden ignoriert (Standard: keine).
create_response boolean Optional. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird (Standard: true).
interrupt_response boolean Optional. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: true).
auto_truncate boolean Optional. Automatische Abkürzung bei Unterbrechung (Standard: false)
RealtimeAzureSemanticVADMultilingual

Azure semantic VAD (Standardvariante).

Field Type Description
type string Muss "azure_semantic_vad_multilingual" sein.
threshold float Optional. Aktivierungsschwellenwert (Standard: 0,5)
prefix_padding_ms integer Optional. Audioabstand vor sprache (Standard: 300)
silence_duration_ms integer Optional. Stille Dauer für Sprachende (Standard: 500)
end_of_utterance_detection RealtimeEOUDetection Optional. EOU-Erkennungskonfiguration
speech_duration_ms integer Optional. Minimale Sprachdauer (Standard: 80)
remove_filler_words boolean Optional. Füllwörter entfernen (Standard: false)
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 Sie, ob eine Antwort generiert wird (Standard: true).
interrupt_response boolean Optional. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: true).
auto_truncate boolean Optional. Automatische Abkürzung bei Unterbrechung (Standard: false)

RealtimeEOUDetection

Azure End-of-Utterance (EOU) könnte angeben, wann der Endbenutzer nicht mehr spricht, während natürliche Pausen möglich sind. Die Erkennung der Beendigung von Äußerungen kann vorzeitige Signale zu Sprecherwechseln erheblich reduzieren, ohne dass eine für die Benutzenden erkennbare Latenz auftritt.

Field Type Description
model string semantic_detection_v1 Könnte englisch oder semantic_detection_v1_multilingual unterstützt Englisch, Spanisch, Französisch, Italienisch, Deutsch (DE), Japanisch, Portugiesisch, Chinesisch, Koreanisch, Hindi
threshold_level string Optional. Erkennungsschwellenwert low (medium, highdefaultund medium), die Standardeinstellung entspricht. Mit einer niedrigeren Einstellung wird die Wahrscheinlichkeit, dass der Satz abgeschlossen ist, höher sein.
timeout_ms number Optional. Maximale Zeit in Millisekunden, um auf mehr Benutzersprache zu warten. Der Standardwert lautet 1000 ms.

Avatar Configuration

RealtimeAvatarConfig

Konfiguration für Avatarstreaming und -verhalten.

Field Type Description
ice_servers RealtimeIceServer[] Optional. ICE-Server für WebRTC
character string Zeichenname oder ID für den Avatar
style string Optional. Avatarstil (emotionaler Ton, Sprechender Stil)
customized boolean Gibt an, ob der Avatar angepasst wird.
video RealtimeVideoParams Optional. Video configuration
scene RealtimeAvatarScene Optional. Konfiguration für Zoomfaktor, Position, Drehungs- und Bewegungsamplitude des Avatars im Videoframe
output_protocol string Optional. Ausgabeprotokoll für Avatar-Streaming. Die Standardeinstellung ist webrtc.
output_audit_audio boolean Optional. Wenn diese Option aktiviert ist, werden Überwachungsaudio über WebSocket für Überprüfungs-/Debuggingzwecke weitergeleitet, auch wenn die Avatarausgabe über WebRTC übermittelt wird. Die Standardeinstellung 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. Anmeldeinformationen für die Authentifizierung

RealtimeVideoParams

Videostreamingparameter für 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 des Videozuschneiderechtecks.

Field Type Description
top_left integer[] Obere linke Ecke [x, y], nicht negative ganze Zahlen
bottom_right integer[] Untere rechte Ecke [x, y], nicht negative ganze Zahlen

RealtimeVideoResolution

Spezifikation der Videoauflösung.

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

RealtimeAvatarScene

Konfiguration für Zoomfaktor, Position, Drehungs- und Bewegungsamplitude des Avatars im Videoframe.

Field Type Description
zoom number Optional. Zoomfaktor des Avatars. Bereich ist (0, +∞). Werte kleiner als 1 Verkleinerung, Werte größer als 1 zoomen. Der Standardwert ist 0.
position_x number Optional. Horizontale Position des Avatars. Bereich ist [-1, 1], als Anteil der Rahmenbreite. Negative Werte werden nach links verschoben, positive Werte werden nach rechts verschoben. Der Standardwert ist 0.
position_y number Optional. Vertikale Position des Avatars. Bereich ist [-1, 1], als Anteil der Framehöhe. Negative Werte bewegen sich nach oben, positive Werte werden nach unten verschoben. Der Standardwert ist 0.
rotation_x number Optional. Drehung um die X-Achse (Neigung). Der Bereich ist [-π, π] in Bogenmaß. Negative Werte drehen sich nach oben, positive Werte drehen sich nach unten. Der Standardwert ist 0.
rotation_y number Optional. Drehung um die Y-Achse (Schwenken). Der Bereich ist [-π, π] in Bogenmaß. Negative Werte drehen sich nach links, positive Werte drehen sich nach rechts. Der Standardwert ist 0.
rotation_z number Optional. Drehung um die Z-Achse (Roll). Der Bereich ist [-π, π] in Bogenmaß. Negative Werte drehen sich im Uhrzeigersinn, positive Werte drehen sich im Uhrzeigersinn. Der Standardwert ist 0.
amplitude number Optional. Amplitude der Avatarbewegung. Bereich ist (0, 1]. Werte in (0, 1) bedeutet reduzierte Amplitude, 1 bedeutet volle Amplitude. Der Standardwert ist 0.

Animation Configuration

RealtimeAnimation

Konfiguration für Animationsausgaben, einschließlich Blendformen und Visemes.

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

RealtimeAnimationOutputType

Arten von Animationsdaten, die ausgegeben werden sollen.

Allowed Values:

  • blendshapes - Gesichts-Blendshapes-Daten
  • viseme_id - Viseme-Bezeichnerdaten

Session Configuration

RealtimeRequestSession

Sitzungskonfigurationsobjekt, das in session.update Ereignissen verwendet wird.

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

Beispielsweise ist "modalities": ["text", "audio"] die Standardeinstellung, die sowohl Text- als auch Audioausgabemodalitäten aktiviert. Um nur die Textausgabe zu aktivieren, legen Sie "Modalitäten" fest: ["text"]. Um die Avatarausgabe zu aktivieren, legen Sie "Modalitäten" fest: ["text", "audio", "avatar"]. Nur Audio kann nicht aktiviert werden.
animation RealtimeAnimation Optional. Animation configuration
voice RealtimeVoice Optional. Voice configuration
instructions string Optional. Systemanweisungen für das Modell. Die Anweisungen können die Ausgabeaudio leiten, wenn OpenAI-Stimmen verwendet werden, aber möglicherweise nicht für Azure-Stimmen gelten.
input_audio_sampling_rate integer Optional. Eingabeaudio-Samplingrate in Hz (Standard: 24000 für pcm16, 8000 für g711_ulaw und g711_alaw)
input_audio_format RealtimeAudioFormat Optional. Eingabeaudioformat (Standard: pcm16)
output_audio_format RealtimeOutputAudioFormat Optional. Ausgabeaudioformat (Standard: pcm16)
input_audio_noise_reduction RealtimeInputAudioNoiseReductionSettings Konfiguration zur Rauschunterdrückung bei Audioeingang. Dies kann auf NULL festgelegt werden, um den Vorgang zu deaktivieren. Bei der Rauschunterdrücken werden Audiodaten, die dem Eingabeaudiopuffer hinzugefügt werden, gefiltert, bevor sie an VAD und das Modell gesendet werden. Durch die Filterung der Audiodaten können die Genauigkeit der VAD und der Sprecherwechselerkennung (Reduzierung falsch positiver Ergebnisse) sowie die Modellleistung verbessert werden, indem die Wahrnehmung der Eingabeaudiodaten verbessert wird.

Diese Eigenschaft lässt Nullwerte zu.
input_audio_echo_cancellation RealtimeInputAudioEchoCancellationSettings Konfiguration für die Audiounterdrückung der Eingabe. Dies kann auf NULL festgelegt werden, um den Vorgang zu deaktivieren. Diese dienstseitige Echounterdrückung kann dazu beitragen, die Qualität der Eingabeaudio zu verbessern, indem die Auswirkungen von Echo und Hall reduziert werden.

Diese Eigenschaft lässt Nullwerte zu.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Die Konfiguration für die Eingabeaudiotranskription. Die Konfiguration ist standardmäßig NULL (aus). Die Audiotranskription von Eingaben ist nicht nativ für das Modell, da das Modell Audio direkt nutzt. Die Transkription wird asynchron über den /audio/transcriptions Endpunkt ausgeführt und sollte als Anleitung für Eingabeaudioinhalte behandelt werden, anstatt genau das, was das Modell gehört hat. Für zusätzliche Anleitungen für den Transkriptionsdienst kann der Client optional die Sprache festlegen und zur Transkription auffordern.

Diese Eigenschaft lässt Nullwerte zu.
turn_detection RealtimeTurnDetection Die Einstellungen zur Erkennung von Sprecherwechseln für die Sitzung Dies kann auf NULL festgelegt werden, um den Vorgang zu deaktivieren.
tools Array von RealtimeTool Die in der Sitzung für das Modell verfügbaren Tools
tool_choice RealtimeToolChoice Die Toolauswahl für die Sitzung

Zulässige Werte: auto, none und required. Andernfalls können Sie den Namen der zu verwendenden Funktion angeben.
temperature number Die Temperatur für die Stichprobenentnahme für das Modell. Die zulässigen Temperaturwerte sind auf [0,6, 1,2] beschränkt. Der Standardwert ist 0,8.
max_response_output_tokens Integer oder „inf“ Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich Toolaufrufen.

Geben Sie eine ganze Zahl zwischen 1 und 4.096 an, um die Anzahl Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf „inf“ fest, um die maximale Anzahl Token zuzulassen.

Legen Sie beispielsweise "max_response_output_tokens": 1000 fest, um die Anzahl Ausgabetoken auf 1.000 zu beschränken. Legen Sie "max_response_output_tokens": "inf" fest, um die maximale Anzahl Token zuzulassen.

Wird standardmäßig auf "inf" festgelegt.
reasoning_effort ReasoningEffort Optional. Schränkt den Begründungsaufwand für Begründungsmodelle ein. Weitere Details finden Sie im Azure Foundry-Dokument . Das Reduzieren von Begründungen kann zu schnelleren Antworten und weniger Token führen, die bei der Begründung in einer Antwort verwendet werden.
avatar RealtimeAvatarConfig Optional. Avatar configuration
output_audio_timestamp_types RealtimeAudioTimestampType[] Optional. Zeitstempeltypen für Ausgabeaudio

RealtimeModality

Unterstützte Sitzungsausgabemodalitäten.

Allowed Values:

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

RealtimeAudioTimestampType

Ausgabezeitstempeltypen, die in Audioantwortinhalten unterstützt werden.

Allowed Values:

  • word - Zeitstempel pro Wort im Ausgabeaudio

ReasoningEffort

Schränkt den Begründungsaufwand für Begründungsmodelle ein. Überprüfen Sie die Modelldokumentation auf unterstützte Werte für jedes Modell. Das Reduzieren von Begründungen kann zu schnelleren Antworten und weniger Token führen, die bei der Begründung in einer Antwort verwendet werden.

Allowed Values:

  • none - Keine Begründungsaufwand
  • minimal - Minimaler Grundaufwand
  • low - Geringer Grundaufwand - schnellere Antworten mit weniger Gründen
  • medium - Mittlere Begründungsanstrengung - ausgewogen zwischen Geschwindigkeit und Begründungstiefe
  • high - Hoher Grundaufwand - gründlichere Begründung, kann länger dauern
  • xhigh - Extra hoher Grundaufwand - maximale Grundtiefe

Tool Configuration

Wir unterstützen zwei Arten von Tools: Funktionsaufrufe und MCP-Tools, mit denen Sie eine Verbindung mit einem Mcp-Server herstellen können.

RealtimeTool

Tooldefinition für Funktionsaufrufe.

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

RealtimeToolChoice

Toolauswahlstrategie.

Dies kann folgendes sein:

  • "auto" - Lassen Sie das Modell auswählen
  • "none" - Verwenden Sie keine Tools
  • "required" - Muss ein Tool verwenden
  • { "type": "function", "name": "function_name" } - Bestimmte Funktion verwenden

MCPTool

MCP-Toolkonfiguration.

Field Type Description
type string Muss "mcp" sein.
server_label string Required. Die Bezeichnung des MCP-Servers.
server_url string Required. Die Server-URL des MCP-Servers.
allowed_tools string[] Optional. Die Liste der zulässigen Toolnamen. Wenn nicht angegeben, sind alle Tools zulässig.
headers object Optional. Zusätzliche Header, die in MCP-Anforderungen eingeschlossen werden sollen.
authorization string Optional. Autorisierungstoken für MCP-Anforderungen.
require_approval Zeichenfolge oder Wörterbuch Optional.
Wenn dieser Wert auf eine Zeichenfolge festgelegt ist, muss der Wert sein never oder always.
Wenn sie auf ein Wörterbuch festgelegt ist, muss es im Format vorliegen {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}.
Der Standardwert ist always.
Wenn diese Einstellung alwaysfestgelegt ist, erfordert die Toolausführung eine Genehmigung, mcp_approval_request wird an den Client gesendet, wenn das Mcp-Argument abgeschlossen ist, und wird nur ausgeführt, wenn mcp_approval_response empfangen approve=true wird.
Bei Festlegung auf neverwird das Tool automatisch ohne Genehmigung ausgeführt.

RealtimeConversationResponseItem

Dies ist ein Union-Typ, der eine der folgenden Sein kann:

RealtimeConversationUserMessageItem

Benutzernachrichtenelement.

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

RealtimeConversationAssistantMessageItem

Nachrichtenelement des Assistenten.

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

RealtimeConversationSystemMessageItem

Systemnachrichtenelement.

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

RealtimeConversationFunctionCallItem

Anforderungselement für Funktionsaufrufe.

Field Type Description
id string Die eindeutige ID des Elements
type string Muss "function_call" sein.
object string Muss "conversation.item" sein.
name string Der Name der aufzurufenden Funktion.
arguments string Die Argumente für den Funktionsaufruf als JSON-Zeichenfolge.
call_id string Die eindeutige ID des Funktionsaufrufs.
status RealtimeItemStatus Der Status des Elements.

RealtimeConversationFunctionCallOutputItem

Antwortelement für Funktionsaufrufe.

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

RealtimeConversationMCPListToolsItem

Antwortelement der MCP-Listentools.

Field Type Description
id string Die eindeutige ID des Elements
type string Muss "mcp_list_tools" sein.
server_label string Die Bezeichnung des MCP-Servers.

RealtimeConversationMCPCallItem

MCP-Anrufantwortelement.

Field Type Description
id string Die eindeutige ID des Elements
type string Muss "mcp_call" sein.
server_label string Die Bezeichnung des MCP-Servers.
name string Der Name des tools, das aufgerufen werden soll.
approval_request_id string Die Id der Genehmigungsanforderung für den MCP-Aufruf.
arguments string Die Argumente für den MCP-Aufruf.
output string Die Ausgabe des MCP-Aufrufs.
error object Die Fehlerdetails, wenn der MCP-Aufruf fehlgeschlagen ist.

RealtimeConversationMCPApprovalRequestItem

MCP-Genehmigungsanforderungselement.

Field Type Description
id string Die eindeutige ID des Elements
type string Muss "mcp_approval_request" sein.
server_label string Die Bezeichnung des MCP-Servers.
name string Der Name des tools, das aufgerufen werden soll.
arguments string Die Argumente für den MCP-Aufruf.

RealtimeItemStatus

Status von Unterhaltungselementen.

Allowed Values:

  • in_progress - Wird zurzeit verarbeitet
  • completed - Erfolgreich abgeschlossen
  • incomplete - Unvollständig (unterbrochen oder fehlgeschlagen)

RealtimeContentPart

Inhaltsteil innerhalb einer Nachricht.

RealtimeInputTextContentPart

Textinhaltsteil.

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

RealtimeOutputTextContentPart

Textinhaltsteil.

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

RealtimeInputAudioContentPart

Audioinhaltsteil.

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

RealtimeOutputAudioContentPart

Audioinhaltsteil.

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

Response Objects

RealtimeResponse

Response-Objekt, das eine Modell-Ableitungsantwort 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. Tokenverwendungsstatistiken
conversation_id string Optional. Zugeordnete Unterhaltungs-ID
voice RealtimeVoice Optional. VoIP, die für die Antwort verwendet wird
modalities string[] Optional. Verwendete Ausgabemodalitäten
output_audio_format RealtimeOutputAudioFormat Optional. Verwendetes Audioformat
temperature number Optional. Temperature used
max_response_output_tokens Integer oder „inf“ Optional. Max. verwendete Token

RealtimeResponseStatus

Antwortstatuswerte.

Allowed Values:

  • in_progress - Die Antwort wird generiert.
  • completed - Antwort erfolgreich abgeschlossen
  • cancelled - Antwort wurde abgebrochen
  • incomplete - Antwort unvollständig (unterbrochen)
  • failed – Fehler bei der Antwort

RealtimeUsage

Tokenverwendungsstatistiken.

Field Type Description
total_tokens integer Verwendete Gesamttoken
input_tokens integer Verwendete Eingabetoken
output_tokens integer Generierte Ausgabetoken
input_token_details TokenDetails Aufschlüsselung von Eingabetoken
output_token_details TokenDetails Aufschlüsselung der Ausgabetoken

TokenDetails

Detaillierte Aufschlüsselung der Tokenverwendung.

Field Type Description
cached_tokens integer Optional. Zwischengespeicherte Token verwendet
text_tokens integer Optional. Verwendete Texttoken
audio_tokens integer Optional. Verwendete Audiotoken

Error Handling

RealtimeErrorDetails

Fehlerinformationsobjekt.

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

RealtimeConversationRequestItem

Sie verwenden das Objekt RealtimeConversationRequestItem, um über das Element conversation.item.create ein neues Element in der Unterhaltung zu erstellen.

Dies ist ein Union-Typ, der eine der folgenden Sein kann:

RealtimeSystemMessageItem

Ein Systemnachrichtenelement.

Field Type Description
type string Der Typ des Elements

Zulässige Werte: message
role string Die Rolle der Nachricht

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

RealtimeUserMessageItem

Ein Benutzernachrichtenelement.

Field Type Description
type string Der Typ des Elements

Zulässige Werte: message
role string Die Rolle der Nachricht

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

RealtimeAssistantMessageItem

Ein Nachrichtenelement des Assistenten.

Field Type Description
type string Der Typ des Elements

Zulässige Werte: message
role string Die Rolle der Nachricht

Zulässige Werte: assistant
content Array von RealtimeOutputTextContentPart Der Inhalt der Nachricht.

RealtimeFunctionCallItem

Ein Funktionsaufrufelement.

Field Type Description
type string Der Typ des Elements

Zulässige Werte: function_call
name string Der Name der aufzurufenden Funktion.
arguments string Die Argumente des Funktionsaufrufs als JSON-Zeichenfolge.
call_id string Die ID des Funktionsaufrufelements.
id string Die eindeutige ID des Elements Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, generiert der Server eine.

RealtimeFunctionCallOutputItem

Ein Funktionsaufrufausgabeelement.

Field Type Description
type string Der Typ des Elements

Zulässige Werte: function_call_output
call_id string Die ID des Funktionsaufrufelements.
output string Die Ausgabe des Funktionsaufrufs, dies ist eine Freiformzeichenfolge mit dem Funktionsergebnis, könnte auch leer sein.
id string Die eindeutige ID des Elements Wenn der Client keine ID bereitstellt, generiert der Server eine.

RealtimeMCPApprovalResponseItem

Ein MCP-Genehmigungsantwortelement.

Field Type Description
type string Der Typ des Elements

Zulässige Werte: mcp_approval_response
approve boolean Gibt an, ob die MCP-Anforderung genehmigt wurde.
approval_request_id string Die ID der MCP-Genehmigungsanforderung.
id string Die eindeutige ID des Elements Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, generiert der Server eine.

RealtimeFunctionTool

Die Definition eines Funktionstools, wie es vom Echtzeitendpunkt verwendet wird.

Field Type Description
type string Der Typ des Tools.

Zulässige Werte: function
name string Der Name der Funktion.
description string Die Beschreibung der Funktion, einschließlich Verwendungsrichtlinien. Beispiel: „Mit dieser Funktion rufen Sie die aktuelle Zeit ab.“
parameters object Die Parameter der Funktion in Form eines JSON-Objekts.

RealtimeItemStatus

Allowed Values:

  • in_progress
  • completed
  • incomplete

RealtimeResponseAudioContentPart

Field Type Description
type string Der Typ des Inhaltsteils

Zulässige Werte: audio
transcript string Die Transkription der Audioinhalte

Diese Eigenschaft lässt Nullwerte zu.

RealtimeResponseFunctionCallItem

Field Type Description
type string Der Typ des Elements

Zulässige Werte: function_call
name string Der Name des Funktionsaufrufelements
call_id string Die ID des Funktionsaufrufelements.
arguments string Die Argumente des Funktionsaufrufelements
status RealtimeItemStatus Der Status des Elements.

RealtimeResponseFunctionCallOutputItem

Field Type Description
type string Der Typ des Elements

Zulässige Werte: function_call_output
call_id string Die ID des Funktionsaufrufelements.
output string Die Ausgabe des Funktionsaufrufelements

RealtimeResponseOptions

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

Zulässige Werte: text, audio.

Beispielsweise ist die Standardeinstellung, "modalities": ["text", "audio"] die sowohl Text- als auch Audioausgabemodalitäten aktiviert. Legen Sie fest "modalities": ["text"], um nur die Textausgabe zu aktivieren. Nur Audio kann nicht aktiviert werden.
instructions string Die Anweisungen (die Systemmeldung), um die Antworten des Modells zu leiten.
voice RealtimeVoice Die für die Modellantwort in dieser Sitzung verwendete Stimme.

Nachdem die Stimme in der Sitzung für eine Audioantwort des Modells verwendet wurde, kann sie nicht mehr geändert werden.
tools Array von RealtimeTool Die in der Sitzung für das Modell verfügbaren Tools
tool_choice RealtimeToolChoice Die Toolauswahl für die Sitzung
temperature number Die Temperatur für die Stichprobenentnahme für das Modell. Die zulässigen Temperaturwerte sind auf [0,6, 1,2] beschränkt. Der Standardwert ist 0,8.
max_response_output_tokens Integer oder „inf“ Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich Toolaufrufen.

Geben Sie eine ganze Zahl zwischen 1 und 4.096 an, um die Anzahl Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf „inf“ fest, um die maximale Anzahl Token zuzulassen.

Legen Sie beispielsweise "max_response_output_tokens": 1000 fest, um die Anzahl Ausgabetoken auf 1.000 zu beschränken. Legen Sie "max_response_output_tokens": "inf" fest, um die maximale Anzahl Token zuzulassen.

Wird standardmäßig auf "inf" festgelegt.
reasoning_effort ReasoningEffort Optional. Schränkt den Begründungsaufwand für Begründungsmodelle ein. Überprüfen Sie die Modelldokumentation auf unterstützte Werte für jedes Modell. Das Reduzieren von Begründungen kann zu schnelleren Antworten und weniger Token führen, die bei der Begründung in einer Antwort verwendet werden.
conversation string Steuert, zu welcher Unterhaltung die Antwort hinzugefügt wird. Unterstützte Werte sind auto und none.

Der Wert auto (oder wenn diese Eigenschaft nicht festgelegt wird) stellt sicher, dass der Inhalt der Antwort zur Standardunterhaltung der Sitzung hinzugefügt wird.

Legen Sie diese Eigenschaft auf none fest, um eine Out-of-Band-Antwort zu erstellen, deren Elemente nicht zur Standardunterhaltung hinzugefügt werden.

Der Standardwert lautet "auto".
metadata map Bis zu 16 Schlüssel-Wert-Paare, die an ein Objekt angefügt werden können. Dies kann hilfreich sein, um zusätzliche Informationen zum Objekt in einem strukturierten Format zu speichern. Schlüssel dürfen maximal 64 Zeichen und Werte dürfen höchstens 512 Zeichen lang sein.

Beispiel: metadata: { topic: "classification" }

RealtimeResponseSession

Das Objekt RealtimeResponseSession stellt eine Sitzung in der Echtzeit-API dar. Es wird in einigen der Serverereignisse verwendet, z. B.:

Field Type Description
object string Das Sitzungsobjekt

Zulässige Werte: realtime.session
id string Die eindeutige ID der Sitzung
model string Das für die Sitzung verwendete Modell
modalities array Die Ausgabemodalitäten für die Sitzung.

Zulässige Werte: text, audio.

Beispielsweise ist die Standardeinstellung, "modalities": ["text", "audio"] die sowohl Text- als auch Audioausgabemodalitäten aktiviert. Legen Sie fest "modalities": ["text"], um nur die Textausgabe zu aktivieren. Nur Audio kann nicht aktiviert werden.
instructions string Die Anweisungen (die Systemmeldung) für die Text- und Audioantworten des Modells.

Im Folgenden finden Sie einige Beispielanweisungen, mit denen Sie den Inhalt und das Format von Text- und Audioantworten festlegen können:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Im Folgenden finden Sie einige Beispielanweisungen zur Steuerung des Audioverhaltens:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Auch wenn das Modell diese Anweisungen möglicherweise nicht immer befolgt, stellen sie Leitfäden für das gewünschte Verhalten dar.
voice RealtimeVoice Die für die Modellantwort in dieser Sitzung verwendete Stimme.

Nachdem die Stimme in der Sitzung für eine Audioantwort des Modells verwendet wurde, kann sie nicht mehr geändert werden.
input_audio_sampling_rate integer Die Samplingrate für die Eingabeaudio.
input_audio_format RealtimeAudioFormat Das Format für die Eingabeaudioinhalte
output_audio_format RealtimeAudioFormat Das Format für die Ausgabeaudioinhalte
input_audio_transcription RealtimeAudioInputTranscriptionSettings Die Einstellungen für die Audioeingabetranskription

Diese Eigenschaft lässt Nullwerte zu.
turn_detection RealtimeTurnDetection Die Einstellungen zur Erkennung von Sprecherwechseln für die Sitzung

Diese Eigenschaft lässt Nullwerte zu.
tools Array von RealtimeTool Die in der Sitzung für das Modell verfügbaren Tools
tool_choice RealtimeToolChoice Die Toolauswahl für die Sitzung
temperature number Die Temperatur für die Stichprobenentnahme für das Modell. Die zulässigen Temperaturwerte sind auf [0,6, 1,2] beschränkt. Der Standardwert ist 0,8.
max_response_output_tokens Integer oder „inf“ Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich Toolaufrufen.

Geben Sie eine ganze Zahl zwischen 1 und 4.096 an, um die Anzahl Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf „inf“ fest, um die maximale Anzahl Token zuzulassen.

Legen Sie beispielsweise "max_response_output_tokens": 1000 fest, um die Anzahl Ausgabetoken auf 1.000 zu beschränken. Legen Sie "max_response_output_tokens": "inf" fest, um die maximale Anzahl Token zuzulassen.

RealtimeResponseStatusDetails

Field Type Description
type RealtimeResponseStatus Der Status der Antwort.

RealtimeRateLimitsItem

Field Type Description
name string Der Name der Ratenlimiteigenschaft, zu der dieses Element Informationen enthält.
limit integer Der maximale konfigurierte Grenzwert für diese Ratenlimiteigenschaft.
remaining integer Das verbleibende Kontingent im Bezug auf das konfigurierte Limit für diese Ratenlimiteigenschaft.
reset_seconds number Die verbleibende Zeit in Sekunden, bis diese Ratenlimiteigenschaft zurückgesetzt wird.