> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# WebSockets Text to Speech et Text to Dialogue

ElevenLabs propose deux produits WebSocket différents pour diffuser de la parole synthétisée en continu. Ils répondent à des besoins distincts, acceptent différents formats de messages 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**, comme Flash ou Multilingual v2, le SSML facultatif, les plannings de segments 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 segment \*\*, des limites de tour (`new_turn`) et la même mise en mémoire tampon orientée dialogue que celle utilisée par v3 sur le serveur.

Pour le dialogue en **traitement par lots ou diffusion HTTP** (requête complète en un appel), utilisez plutôt [Créer un dialogue](/docs/fr/api-reference/text-to-dialogue/convert) ou [Diffuser un dialogue](/docs/fr/api-reference/text-to-dialogue/stream) qu’un WebSocket.

## Comparaison

|                                            | WebSocket Text to Speech                                                                                                                                                                                         | WebSocket Text to Dialogue                                                                                                                                                                                                                                  |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Guide de l’API**                         | [Entrée de flux TTS](/docs/fr/api-reference/text-to-speech/v-1-text-to-speech-voice-id-stream-input)                                                                                                             | [WebSocket TTD](/docs/fr/api-reference/text-to-dialogue/ttd-websocket)                                                                                                                                                                                      |
| **URL**                                    | `wss://api.elevenlabs.io/v1/text-to-speech/{voice_id}/stream-input`                                                                                                                                              | `wss://api.elevenlabs.io/v1/text-to-dialogue/stream-input`                                                                                                                                                                                                  |
| **Sélection de la voix**                   | Un `voice_id` dans le chemin ; tout le texte diffusé utilise cette voix                                                                                                                                          | Le premier message enregistre une ou plusieurs `voices` par ID ; chaque entrée `inputs[]` indique un `voice_id`                                                                                                                                             |
| **Modèles**                                | Flash, Multilingual v2 et d’autres modèles TTS pris en charge. **Aucun** `eleven_v3` ou `eleven_v4` sur ce point de terminaison.                                                                                 | **`model_id` doit commencer par `eleven_v3` ou `eleven_v4`** (par exemple, `eleven_v4` ou `eleven_v4_turbo`)                                                                                                                                                |
| **Premier message client**                 | Initialisez avec un espace et `voice_settings` / `generation_config` facultatifs (voir le guide TTS en temps réel)                                                                                               | Doit inclure **`voices`** (et les identifiants s’ils n’ont pas déjà été envoyés via les en-têtes ou la requête)                                                                                                                                             |
| **Texte en continu**                       | Envoyez une chaîne `text` (généralement suivie d’un espace) ; `flush`, `try_trigger_generation`, etc. sont facultatifs                                                                                           | Envoyez des **`inputs`** : objets `{ text, voice_id, new_turn? }` ; **`flush`**, **`close_socket`** et **`keep_alive`** sont facultatifs                                                                                                                    |
| **Mise en mémoire tampon / planification** | Planning de longueur des segments et contrôles WebSocket TTS associés                                                                                                                                            | Le serveur met en mémoire tampon jusqu’à disposer de suffisamment de texte (environ **40 caractères et 8 mots**) avant d’émettre de l’audio, sauf si vous utilisez **`flush`**                                                                              |
| **Plusieurs locuteurs sur un socket**      | Utilisez le [WebSocket multi-contexte](/docs/fr/eleven-api/guides/how-to/websockets/multi-context-web-socket) pour plusieurs **contextes TTS parallèles**, et non pour une sémantique de dialogue multi-locuteur | Jusqu’à **10** voix enregistrées pour `eleven_v4` ; **`eleven_v4_turbo` n’autorise qu’une seule** voix enregistrée                                                                                                                                          |
| **Inactivité**                             | `inactivity_timeout` configurable (requête WebSocket TTS)                                                                                                                                                        | **20 s fixes** entre les messages client, sauf si vous envoyez **`keep_alive`**                                                                                                                                                                             |
| **Requêtes simultanées**                   | Seul le temps de génération actif compte dans la [limite de requêtes simultanées](/docs/fr/overview/models#concurrency-and-priority) de votre forfait ; un socket ouvert inactif ne compte pas                   | Chaque connexion ouverte réserve une [session de dialogue](/docs/fr/overview/models#text-to-dialogue-concurrency) dans un pool distinct pendant toute sa durée de vie ; la génération sur cette connexion ne consomme pas les requêtes simultanées standard |
| **Alignement**                             | `sync_alignment` facultatif (nom de champ TTS dans le Guide de l’API)                                                                                                                                            | `sync_alignment` facultatif ; le JSON utilise des champs en **snake_case** dans les réponses (par exemple, `is_final`, `char_start_times_ms`)                                                                                                               |

## 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 seule 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](/docs/fr/eleven-api/guides/how-to/websockets/multi-context-web-socket)).

Consultez [Générer de l’audio en temps réel](/docs/fr/eleven-api/guides/how-to/websockets/realtime-tts) pour une présentation complète du WebSocket TTS.

## Quand le WebSocket TTD est le meilleur choix

* Vous ciblez les dialogues **Eleven v4** (balises expressives, rythme conversationnel, répliques multi-locuteurs).
* Vous diffusez des **dialogues scénarisés ou générés par un LLM**, où 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** sur le serveur.

Pour une présentation pratique, consultez [Text to Dialogue en temps réel](/docs/fr/eleven-api/guides/how-to/websockets/realtime-tdd). Les détails du protocole figurent dans le [Guide de l’API](/docs/fr/api-reference/text-to-dialogue/ttd-websocket).

## Guides associés

#### [Text to Dialogue en temps réel](/docs/fr/eleven-api/guides/how-to/websockets/realtime-tdd)

Connectez-vous, enregistrez des voix, diffusez des `inputs` et enregistrez l’audio du WebSocket TTD.

#### [WebSocket TTS en temps réel](/docs/fr/eleven-api/guides/how-to/websockets/realtime-tts)

Connexion et messagerie étape par étape pour le WebSocket TTS standard.

#### [WebSocket multi-contexte](/docs/fr/eleven-api/guides/how-to/websockets/multi-context-web-socket)

Plusieurs contextes TTS sur une seule connexion pour les workflows d’agents.

#### [Démarrage rapide avec Text to Dialogue](/docs/fr/eleven-api/guides/cookbooks/text-to-dialogue)

Exemples de requêtes HTTP pour le dialogue à plusieurs voix.

#### [Fonctionnalité Text to Dialogue](/docs/fr/overview/capabilities/text-to-dialogue)

Présentation de la génération de dialogue orientée produit.