Zum Hauptinhalt springen

Überblick

Dieser Endpunkt ist für Echtzeit-Sitzungen wie Spracherkennung, Sprachsynthese, Sprachübersetzung oder multimodale Realtime-Modelle gedacht. Normale GET-Anfragen liefern Metadaten; WebSocket-Upgrades werden an die geroutete Realtime-Upstream-Sitzung weitergeleitet.
Agents sollten zuerst über /v1/models ein realtime-fähiges Modell finden und erst danach den Socket öffnen.

Verbindung

model
string
erforderlich
Realtime-Modell-ID. Wählen Sie ein Modell, dessen öffentlicher Vertrag realtime unterstützt.
Authorization
string
erforderlich
Bearer-API-Key. WebSocket-Clients senden beim Upgrade Authorization: Bearer sk-your-api-key.
import WebSocket from 'ws';

const socket = new WebSocket('wss://api.tokenlab.sh/v1/realtime?model=qwen-tts-realtime', {
  headers: { Authorization: 'Bearer sk-your-api-key' }
});

socket.on('open', () => {
  socket.send(JSON.stringify({ type: 'session.start' }));
});

socket.on('message', (data) => {
  console.log('realtime event', data.toString());
});

Nachrichten

TokenLab leitet WebSocket-Nachrichten zwischen Client und geroutetem Realtime-Anbieter weiter. Verwenden Sie die offiziellen Event-Formate des gewählten Modells und geben Sie model in der Query an.

Abrechnung und Schließen

Realtime-Sitzungen nutzen dasselbe API-Key-Guthaben. TokenLab zieht beim Öffnen eine kleine Schätzung vorab ab und rechnet beim Schließen ab oder erstattet. Schließen Sie den Client-Socket, wenn die Sitzung beendet ist. Schließt der Upstream zuerst, leitet TokenLab den Close-Code nach Möglichkeit weiter.