- Connectez-vous avec authentification.
- Envoyez un message
setup. - Attendez
ready, ou recevez-le en différé. - Envoyez les messages d’entrée (
textpour le TTS,audiopour le STT). - Si besoin, faites un flush de l’entrée en tampon.
- Envoyez
end_of_stream. - Lisez la sortie jusqu’à ce que le serveur envoie
end_of_streamouerror.
Endpoints
Authentification
Les clients côté serveur doivent envoyer la clé API dans l’en-têtex-api-key :
?token=... ; voir WebSockets dans le navigateur.
Setup
Le premier message logique de chaque requête estsetup.
TTS setup
STT setup
Champs de setup propres au TTS :
Champs de setup propres au STT :
Ready
Après le setup, le serveur envoieready. Vous pouvez l’attendre avant
d’envoyer l’entrée, ou commencer à envoyer immédiatement et laisser le SDK le
récupérer pendant la réception.
TTS ready
STT ready
request_id dans vos logs et vos tickets de support. Pour le STT,
utilisez delay_in_frames pour régler la gestion des tours de parole ou le
comportement du flush forcé.
Entrée
Le TTS accepte des messages texte :Flush
Le TTS prend en charge le flush au niveau du modèle avec la balise<flush> dans
le texte :
flush :
Fin
Envoyezend_of_stream lorsque vous avez fini d’envoyer l’entrée d’une requête :
close_ws_on_eos: false dans le setup et continuez à envoyer de nouveaux groupes
setup/entrée.
Multiplexage
Pour exécuter plusieurs requêtes logiques sur un seul socket :- Définissez
close_ws_on_eos: false. - Associez un
client_req_idunique à chaque message d’une requête. - Routez chaque réponse selon son
client_req_idcorrespondant.
Erreurs
Les erreurs WebSocket sont envoyées en JSON, puis le socket se ferme :error comme définitif pour ce socket. Ouvrez une nouvelle connexion
pour réessayer. Codes courants :
Pour les contrats d’erreur REST et WebSocket, voir Erreurs.
Étapes suivantes
WebSocket de synthèse vocale
Envoyez du texte en flux et recevez des fragments audio en retour.
WebSocket de transcription
Envoyez de l’audio en flux et recevez du texte, des événements VAD et flush.
Multiplexage
Exécutez plusieurs requêtes logiques sur un seul WebSocket.
WebSockets dans le navigateur
Utilisez des tokens de courte durée sans exposer vos clés API.