Zum Hauptinhalt springen
Audio-Workloads haben zwei Formen. Verwenden Sie die Audio-Endpunkte für dateiähnliche Anfragen wie Text-to-Speech, Transkription und Audioübersetzung. Verwenden Sie den Realtime-WebSocket-Endpunkt, wenn die Nutzererfahrung interaktive Audio- oder multimodale Ereignisse mit niedriger Latenz benötigt.

Workflow Wählen

WorkflowEndpunktVerwenden, wenn
Text zu SprachePOST /v1/audio/speechSie eine Audiodatei aus Text benötigen.
TranskriptionPOST /v1/audio/transcriptionsSie Text aus einer Audiodatei benötigen.
AudioübersetzungPOST /v1/audio/translationsSie übersetzten Text aus einer Audiodatei benötigen.
Realtime-SitzungGET /v1/realtimeSie bidirektionales Streaming-Audio oder Echtzeitereignisse benötigen.

Modelle Finden

Fragen Sie den Modellkatalog ab, bevor Sie ein Modell fest einbauen. Nutzen Sie empfohlene Shortlists für Speech und Transkription, und prüfen Sie Realtime-Unterstützung in den Modelldetails, bevor Sie einen Socket öffnen.
curl "https://api.tokenlab.sh/v1/models?recommended_for=tts" \
  -H "Authorization: Bearer sk-your-api-key"

curl "https://api.tokenlab.sh/v1/models?recommended_for=stt" \
  -H "Authorization: Bearer sk-your-api-key"

Synchrone Audioanfragen

Speech-, Transkriptions- und Übersetzungsanfragen antworten direkt im HTTP-Request. Große Eingaben können länger dauern als übliche Client-Timeouts, daher sollten Sie großzügige Timeouts setzen und Request-IDs für Support speichern.
curl -X POST "https://api.tokenlab.sh/v1/audio/speech" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1-hd",
    "voice": "nova",
    "input": "Welcome to TokenLab."
  }' \
  --output speech.mp3

Realtime-Sitzungen

Öffnen Sie einen WebSocket mit dem Modell in der Query und dem API-Key im Authorization-Header. Nutzen Sie das Ereignisformat aus der Dokumentation des gewählten Realtime-Modells und schließen Sie den Socket am Ende der Sitzung.
import WebSocket from 'ws';

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

socket.on('message', (event) => console.log(event.toString()));

Statusbehandlung

  • Speichern Sie generierte Audiodateien, statt dieselbe Anfrage beim Aktualisieren erneut auszuführen.
  • Zeigen Sie Upload- und Verarbeitungsstatus auch bei synchroner Transkription und Übersetzung.
  • Behandeln Sie Close-Events bei Realtime und verbinden Sie erst neu, wenn der Nutzer eine neue Sitzung startet.
  • Legen Sie keine API-Keys, privaten URLs oder Konto-Geheimnisse in Audio-Texteingaben ab.

API-Referenz

ThemaReferenz
Speech ErstellenSpeech Erstellen
Transkription ErstellenTranskription Erstellen
Übersetzung ErstellenÜbersetzung Erstellen
Realtime WebSocketRealtime WebSocket
Modelle AuflistenModelle Auflisten
Abrechnung & PreiseAbrechnung & Preise