TokenLab

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

FluxEndpointÀ utiliser lorsque
Texte vers parolePOST /v1/audio/speechVous avez besoin d’un fichier audio à partir de texte.
TranscriptionPOST /v1/audio/transcriptionsVous avez besoin de texte à partir d’un fichier audio.
Traduction audioPOST /v1/audio/translationsVous avez besoin de texte traduit à partir d’un fichier audio.
Realtime WebSocketWS /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.mp3

Sessions 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 ws
import 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

SujetRéférence
Créer Une VoixCréer Une Voix
Créer Une TranscriptionCréer Une Transcription
Créer Une TraductionCréer Une Traduction
WebSocket Temps RéelWebSocket Temps Réel
Lister Les ModèlesLister Les Modèles
Facturation & PrixFacturation & Prix

Sur cette page