Medienleitfäden
Audio & Echtzeit
Wählen Sie Sprachsynthese, Transkription, Übersetzung oder Realtime-WebSocket-Flows für Audioanwendungen.
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
| Workflow | Endpunkt | Verwenden, wenn |
|---|---|---|
| Text zu Sprache | POST /v1/audio/speech | Sie eine Audiodatei aus Text benötigen. |
| Transkription | POST /v1/audio/transcriptions | Sie Text aus einer Audiodatei benötigen. |
| Audioübersetzung | POST /v1/audio/translations | Sie übersetzten Text aus einer Audiodatei benötigen. |
| Realtime-Sitzung | GET /v1/realtime | Sie 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
Sprachausgabe liefert Audio in der HTTP-Antwort. Transkription und Übersetzung können fertigen Text oder einen angenommenen Auftrag liefern. Enthält die Antwort eine Auftrags-ID und einen Status statt Text, speichern Sie die ID und fragen Sie poll_url bis zum Abschluss oder Fehler ab. Planen Sie für große Dateien genügend Zeit ein und speichern Sie die Request ID.
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.mp3Realtime-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.
Dieser Leitfaden deckt nur das WebSocket subset ab. TokenLab stellt derzeit keine OpenAI-Realtime-REST-Endpunkte für client secret, translation client secret, Calls oder legacy beta session-Verwaltung bereit.
Installieren Sie für das Serverbeispiel ws und setzen Sie TOKENLAB_REALTIME_MODEL auf ein aktuelles Modell, dessen Details /v1/realtime nennen. Übergeben Sie TOKENLAB_API_KEY in der Serverumgebung; der Modellname allein belegt keine Realtime-Unterstützung.
npm install wsimport WebSocket from 'ws';
const model = process.env.TOKENLAB_REALTIME_MODEL;
const apiKey = process.env.TOKENLAB_API_KEY;
if (!model || !apiKey) throw new Error('Set TOKENLAB_REALTIME_MODEL and TOKENLAB_API_KEY');
const url = new URL('wss://api.tokenlab.sh/v1/realtime');
url.searchParams.set('model', model);
const socket = new WebSocket(url, {
headers: { Authorization: `Bearer ${apiKey}` },
});
socket.on('message', (event) => console.log(event.toString()));
socket.on('error', (error) => console.error(error.message));
process.once('SIGINT', () => socket.close(1000, 'Client stopped'));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
| Thema | Referenz |
|---|---|
| Speech Erstellen | Speech Erstellen |
| Transkription Erstellen | Transkription Erstellen |
| Übersetzung Erstellen | Übersetzung Erstellen |
| Realtime WebSocket | Realtime WebSocket |
| Modelle Auflisten | Modelle Auflisten |
| Abrechnung & Preise | Abrechnung & Preise |