Guides médias
Audio & temps réel
Choisissez synthèse vocale, transcription, traduction ou WebSocket temps réel pour vos applications audio.
Les workloads audio ont deux formes. Utilisez les endpoints audio pour les requêtes de type fichier comme la synthèse vocale, la transcription et la traduction audio. Utilisez le WebSocket temps réel quand l’expérience utilisateur nécessite de l’audio interactif à faible latence ou des événements multimodaux.
Choisir Le Flux
| Flux | Endpoint | À utiliser lorsque |
|---|---|---|
| Texte vers parole | POST /v1/audio/speech | Vous avez besoin d’un fichier audio à partir de texte. |
| Transcription | POST /v1/audio/transcriptions | Vous avez besoin de texte à partir d’un fichier audio. |
| Traduction audio | POST /v1/audio/translations | Vous avez besoin de texte traduit à partir d’un fichier audio. |
| Realtime WebSocket | WS /v1/realtime?model={model} | Vous avez besoin d’audio bidirectionnel en streaming ou d’événements multimodaux en temps réel via WebSocket. Un simple GET /v1/realtime renvoie seulement les métadonnées. |
Découvrir Les Modèles
Interrogez le catalogue de modèles avant de figer un modèle. Utilisez les listes recommandées pour la parole et la transcription, et vérifiez la prise en charge du temps réel dans le détail du modèle avant d’ouvrir un socket.
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"Requêtes Audio Synchrones
La synthèse vocale renvoie l’audio dans la réponse HTTP. La transcription et la traduction peuvent renvoyer du texte final ou une tâche acceptée. Si la réponse contient un identifiant et un statut de tâche, conservez l’identifiant et interrogez poll_url jusqu’à la fin ou l’échec. Prévoyez un délai suffisant pour les gros fichiers et gardez le 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.mp3Sessions Temps Réel
Ouvrez un WebSocket avec le modèle dans la query string et la clé API dans l’en-tête Authorization. Utilisez le format d’événements documenté pour le modèle temps réel choisi, puis fermez le socket à la fin de la session.
Ce guide couvre uniquement le WebSocket subset. TokenLab ne fournit pas actuellement les endpoints REST OpenAI Realtime pour client secret, translation client secret, Calls ou gestion legacy beta session.
Pour cet exemple serveur, installez ws et définissez TOKENLAB_REALTIME_MODEL sur un modèle actuel dont les détails déclarent /v1/realtime. Fournissez TOKENLAB_API_KEY dans l’environnement serveur ; le nom seul ne prouve pas la compatibilité realtime.
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'));Gestion D’état
- Enregistrez les fichiers audio générés au lieu de relancer la même requête au rafraîchissement.
- Pour transcription et traduction, affichez les états d’upload et de traitement même si l’appel API est synchrone.
- Pour le temps réel, gérez les événements de fermeture et reconnectez seulement après le démarrage d’une nouvelle session utilisateur.
- Ne placez pas de clés API, URLs privées ou secrets de compte dans le texte audio.
Référence API
| Sujet | Référence |
|---|---|
| Créer Une Voix | Créer Une Voix |
| Créer Une Transcription | Créer Une Transcription |
| Créer Une Traduction | Créer Une Traduction |
| WebSocket Temps Réel | WebSocket Temps Réel |
| Lister Les Modèles | Lister Les Modèles |
| Facturation & Prix | Facturation & Prix |