WebSockets Text to Speech et Text to Dialogue
Ce guide explique comment choisir le WebSocket adapté au streaming vocal et présente les différences entre les deux protocoles.
ElevenLabs propose deux familles de produits WebSocket pour le streaming de parole synthétisée. Chaque famille comprend une variante à flux unique et une variante multi-contexte qui multiplexe plusieurs flux indépendants sur une même connexion. Elles répondent à des besoins différents, acceptent des formats de messages différents et ciblent différents modèles.
Quel WebSocket utiliser ?
Utilisez le WebSocket Text to Speech (TTS) lorsque vous diffusez du texte brut pour une voix par connexion (la voix est définie dans l’URL) et que vous souhaitez utiliser des modèles autres que v3, tels que Flash ou Multilingual v2, le SSML facultatif, les planifications de fragments ou la variante multi-contexte pour gérer les interruptions de type agent.
Utilisez le WebSocket Text to Dialogue (TTD) lorsque vous avez besoin du comportement de dialogue d’Eleven v3 : une restitution expressive, un **voice_id par fragment **, des limites de tours (new_turn) et la même mise en mémoire tampon orientée dialogue que celle utilisée côté serveur pour v3.
Utilisez le WebSocket TTD multi-contexte lorsque vous avez besoin de ce même comportement de dialogue d’Eleven v3 et de plusieurs flux simultanés ou entrelacés sur une seule connexion, par exemple pour un agent conversationnel qui doit interrompre et relancer le dialogue sans ouvrir un nouveau socket à chaque fois.
Pour le dialogue en traitement par lots ou en streaming HTTP (requête complète en un seul appel), utilisez plutôt Créer un dialogue ou Diffuser un dialogue qu’un WebSocket.
Comparaison
Quand le WebSocket TTS est le meilleur choix
- Vous intégrez déjà Flash ou Multilingual v2 pour leur faible latence ou leur couverture linguistique.
- Vous souhaitez une voix de narrateur par connexion et un protocole simple avec un texte par trame.
- Vous avez besoin d’une orchestration multi-contexte pour les interruptions et les énoncés parallèles (guide multi-contexte).
Consultez Générer de l’audio en temps réel pour découvrir en détail le WebSocket TTS.
Quand le WebSocket TTD est le meilleur choix
- Vous ciblez le dialogue Eleven v4 (balises expressives, rythme conversationnel, répliques multi-locuteurs).
- Vous diffusez un dialogue scénarisé ou généré par un LLM dans lequel la voix parlante peut changer à chaque ligne sans ouvrir de nouvelle connexion.
- Vous souhaitez une entrée incrémentielle au format WebSocket, avec une génération de dialogue réservée à v4 côté serveur.
Pour un guide pratique, utilisez Text to Dialogue en temps réel. Retrouvez les détails du protocole dans le Guide de l’API.
WebSockets multi-contexte
Les deux produits proposent une variante multi-contexte qui multiplexe plusieurs flux indépendants sur une seule connexion WebSocket. Chaque contexte est identifié par un context_id choisi par le client, met son propre texte en mémoire tampon et émet des fragments audio étiquetés avec ce context_id. Les contextes TTS partagent le voice_id de l’URL de connexion, tandis que les contextes TTD enregistrent leurs propres voix et paramètres. Utilisez ce format lorsque vous avez besoin d’une génération simultanée ou entrelacée avec gestion des interruptions, par exemple pour un agent vocal qui doit annuler un énoncé en cours et en démarrer un nouveau sans fermer la connexion.
Quand le WebSocket TTD multi-contexte est le meilleur choix
- Vous avez besoin du comportement de dialogue d’Eleven v3 (restitution expressive,
voice_idpar fragment, limites de tours) et de flux simultanés ou entrelacés sur une seule connexion. - Vous concevez un agent conversationnel qui doit interrompre et relancer le dialogue sans ouvrir un nouveau socket à chaque fois.
- Vous souhaitez répartir plusieurs sessions de dialogue v3 indépendantes, par exemple des scènes ou des locuteurs parallèles, sur une seule connexion authentifiée.
Pour le WebSocket TTD à flux unique, consultez Text to Dialogue en temps réel. Pour le WebSocket TTS multi-contexte, consultez le guide WebSocket multi-contexte. Retrouvez les détails du protocole de l’endpoint TTD multi-contexte dans le Guide de l’API.