Skip to main content
POST
Initiate Speech-to-Speech WebRTC Session

Speech-to-Speech-WebRTC-Sitzung starten

Stellen Sie mithilfe der OpenAI Realtime API eine WebRTC-Verbindung für Echtzeit-Sprachgespräche her.

Endpunkt

Beschreibung

Stellt mithilfe der OpenAI Realtime API eine WebRTC-Verbindung für Echtzeit-Sprachgespräche her. Dieser Endpunkt akzeptiert ein WebRTC-SDP-Angebot und gibt eine SDP-Antwort zurück, die zum Herstellen einer Peer-Verbindung mit der Echtzeit-API von OpenAI verwendet werden kann.

Nutzungsablauf

  1. Der Client erstellt ein WebRTC-Angebot (RTCPeerConnection.createOffer).
  2. Der Client sendet das SDP-Angebot an diesen Endpunkt
  3. Dieser Endpunkt leitet das Angebot an die OpenAI Realtime API weiter
  4. Der Client empfängt die SDP-Antwort und stellt eine WebRTC-Verbindung her
  5. Der Kunde kann dann in Echtzeit Sprachgespräche mit der KI führen

S2S-Zeiterfassung

  • Jeder Benutzer verfügt über ein monatliches S2S-Zeitkontingent basierend auf seiner Lizenz
  • Die Zeit wird in Minuten erfasst und bei der Protokollierung von Sitzungen abgezogen
  • Verwenden Sie /speech/s2s/status, um die verbleibende Zeit zu überprüfen
  • Verwenden Sie /speech/s2s/log-session, um die Sitzungsdauer zu protokollieren und Zeit abzuziehen

SMLTP-Integration

  • Alle Anfragen werden aus Sicherheits- und Compliance-Gründen über SMLTP verarbeitet – Die Modellvalidierung wird basierend auf der angegebenen SMLTP-Richtlinie erzwungen
  • Anfragen werden zur Compliance-Nachverfolgung geprüft und protokolliert

Authentifizierung

Erforderlich: API-Schlüssel

Anforderungstext

Verfügbare Modelle

  • gpt-4o-mini-realtime-preview
  • gpt-4o-realtime-preview

Verfügbare Stimmen

  • alloy (Standard)
  • echo
  • fable
  • onyx
  • nova
  • shimmer
  • ash
  • ballad
  • coral

Verfügbare SMLTP-Richtlinien

  • public
  • internal (Standard)
  • internal-strict
  • confidential
  • hipaa
  • gdpr
  • pci-dss

Beispiel für Anfrage

JavaScript/Node.js

Python

Antwort

Erfolgsantwort (200)

Inhaltstyp: application/sdp Die Antwort ist eine SDP-Antwortzeichenfolge, die mit RTCPeerConnection.setRemoteDescription() verwendet werden kann.

Fehlerantworten

400 Ungültige Anfrage

403 Verboten

S2S-Zeitlimit erreicht

Modellvalidierung fehlgeschlagen

500 Interner Serverfehler

Notizen

– Das SDP-Angebot muss eine gültige WebRTC-SDP-Angebotszeichenfolge sein
  • Nachdem Sie die SDP-Antwort erhalten haben, verwenden Sie diese, um die Remote-Beschreibung auf Ihrer RTCPeerConnection festzulegen
  • Überprüfen Sie den S2S-Zeitstatus, bevor Sie Sitzungen mit /speech/s2s/status starten.
  • Protokollieren Sie die Sitzungsdauer nach Abschluss mit /speech/s2s/log-session
  • Alle Anfragen werden aus Sicherheits- und Compliance-Gründen über SMLTP verarbeitet
  • Der Parameter user_id ermöglicht die Abrechnung über ein anderes Benutzerkonto

Autorisierungen

Authorization
string
header
erforderlich

API key authentication using Bearer token format. Example: Authorization: Bearer sk-your-api-key-here

Body

application/json
sdp
string
erforderlich

WebRTC SDP offer from the client's RTCPeerConnection

Beispiel:

"v=0\r\no=- 4611731400430051336 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n..."

model
enum<string>
Standard:gpt-4o-mini-realtime-preview

OpenAI Realtime model to use

Verfügbare Optionen:
gpt-4o-mini-realtime-preview,
gpt-4o-realtime-preview
voice
enum<string>
Standard:alloy

Voice to use for the AI response

Verfügbare Optionen:
alloy,
echo,
fable,
onyx,
nova,
shimmer,
ash,
ballad,
coral
smltp_policy
enum<string>
Standard:internal

SMLTP policy to apply for this session

Verfügbare Optionen:
public,
internal,
internal-strict,
confidential,
hipaa,
gdpr,
pci-dss
output_audio
boolean
Standard:true

Whether to enable audio output (default: true)

user_id
string

Optional user ID to bill this session to (defaults to API key owner)

Beispiel:

"60a7c8f5e8b4f5001f7a8c23"

instructions
string

Optional system instructions for the AI assistant

Beispiel:

"You are a helpful customer service agent."

Antwort

SDP answer from OpenAI Realtime API

SDP answer that can be used with RTCPeerConnection.setRemoteDescription()