> 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.

# Text to Speech vs. Text to Dialogue-WebSockets

ElevenLabs biedt twee verschillende WebSocket-producten voor het streamen van gesynthetiseerde spraak. Ze lossen verschillende problemen op, accepteren verschillende berichtindelingen en zijn gericht op verschillende modellen.

## Welke WebSocket moet ik gebruiken?

Gebruik de **Text to Speech (TTS)-WebSocket** wanneer je gewone tekst streamt voor **één stem per verbinding** (de stem staat vast in de URL) en je **niet-v3**-modellen zoals Flash of Multilingual v2, optionele SSML, chunkschema's of de variant met **meerdere contexten** voor het afhandelen van onderbrekingen in agentstijl wilt gebruiken.

Gebruik de **Text to Dialogue (TTD)-WebSocket** wanneer je **Eleven v3**-dialooggedrag nodig hebt: expressieve voordracht, \*\*`voice_id` per chunk \*\*, beurtgrenzen (`new_turn`) en dezelfde op dialoog gerichte buffering die op de server voor v3 wordt gebruikt.

Gebruik voor **batch- of HTTP-streaming** van dialoog (volledige request in één aanroep) [Dialoog maken](/docs/nl/api-reference/text-to-dialogue/convert) of [Dialoog streamen](/docs/nl/api-reference/text-to-dialogue/stream) in plaats van een WebSocket.

## Vergelijking

|                                     | Text to Speech-WebSocket                                                                                                                                                                                          | Text to Dialogue-WebSocket                                                                                                                                                                                                          |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **API-referentie**                  | [TTS stream-input](/docs/nl/api-reference/text-to-speech/v-1-text-to-speech-voice-id-stream-input)                                                                                                                | [TTD WebSocket](/docs/nl/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`                                                                                                                                                                          |
| **Stemselectie**                    | Eén `voice_id` in het pad; alle gestreamde tekst gebruikt die stem                                                                                                                                                | Het eerste bericht registreert één of meer `voices` op ID; elk `inputs[]`-item noemt een `voice_id`                                                                                                                                 |
| **Modellen**                        | Flash, Multilingual v2 en andere ondersteunde TTS-modellen. **Geen** `eleven_v3` of `eleven_v4` op dit endpoint.                                                                                                  | **`model_id` moet beginnen met `eleven_v3` of `eleven_v4`** (bijvoorbeeld `eleven_v4` of `eleven_v4_turbo`)                                                                                                                         |
| **Eerste clientbericht**            | Initialiseer met een spatie en optionele `voice_settings` / `generation_config` (zie de realtime TTS-handleiding)                                                                                                 | Moet **`voices`** bevatten (en inloggegevens als die nog niet via headers of de query zijn verzonden)                                                                                                                               |
| **Doorlopende tekst**               | Verzend een `text`-string (meestal met een spatie aan het einde); optionele `flush`, `try_trigger_generation`, enzovoort                                                                                          | Verzend **`inputs`**: objecten van `{ text, voice_id, new_turn? }`; optionele **`flush`**, **`close_socket`**, **`keep_alive`**                                                                                                     |
| **Buffering / planning**            | Chunklengteschema en gerelateerde TTS-WebSocket-besturingselementen                                                                                                                                               | De server buffert totdat er voldoende tekst aanwezig is (ongeveer **40 tekens en 8 woorden**) voordat audio wordt verzonden, tenzij je **`flush`** gebruikt                                                                         |
| **Meerdere sprekers op één socket** | Gebruik de [WebSocket met meerdere contexten](/docs/nl/eleven-api/guides/how-to/websockets/multi-context-web-socket) voor meerdere **parallelle TTS-contexten**, niet voor dialoogsemantiek met meerdere sprekers | Maximaal **10** geregistreerde stemmen voor `eleven_v4`; **`eleven_v4_turbo` staat slechts één** geregistreerde stem toe                                                                                                            |
| **Inactiviteit**                    | Configureerbare `inactivity_timeout` (TTS-WebSocket-query)                                                                                                                                                        | **Vaste 20 s** tussen clientberichten, tenzij je **`keep_alive`** verstuurt                                                                                                                                                         |
| **Concurrency**                     | Alleen actieve generatietijd telt mee voor de [concurrencylimiet](/docs/nl/overview/models#concurrency-and-priority) van je abonnement; een inactieve open socket telt niet mee                                   | Elke open verbinding houdt gedurende de volledige levensduur één [dialoogsessie](/docs/nl/overview/models#text-to-dialogue-concurrency) uit een aparte pool bezet; generatie via de verbinding verbruikt geen standaard concurrency |
| **Uitlijning**                      | Optionele `sync_alignment` (TTS-veldnaam in de API-referentie)                                                                                                                                                    | Optionele `sync_alignment`; JSON gebruikt **snake\_case**-velden in responses (bijvoorbeeld `is_final`, `char_start_times_ms`)                                                                                                      |

## Wanneer de TTS-WebSocket beter past

* Je integreert al **Flash** of **Multilingual v2** voor latency of taalondersteuning.
* Je wilt **één vertelstem** per verbinding en een eenvoudig protocol met tekst per frame.
* Je hebt **multi-context**-orkestratie nodig voor onderbrekingen en parallelle uitingen ([multi-context-handleiding](/docs/nl/eleven-api/guides/how-to/websockets/multi-context-web-socket)).

Zie [Audio realtime genereren](/docs/nl/eleven-api/guides/how-to/websockets/realtime-tts) voor een volledige uitleg van de TTS-WebSocket.

## Wanneer de TTD-WebSocket beter past

* Je richt je op **Eleven v4**-dialoog (expressieve tags, gesprekstempo, regels met meerdere sprekers).
* Je streamt **gescripte of door een LLM gegenereerde dialoog** waarbij de **sprekende stem per regel kan veranderen** zonder een nieuwe verbinding te openen.
* Je wilt incrementele invoer in **WebSocket-vorm** met dialooggeneratie op de server die **alleen voor v4** beschikbaar is.

Gebruik voor een praktische uitleg [Realtime Text to Dialogue](/docs/nl/eleven-api/guides/how-to/websockets/realtime-tdd). Protocolgegevens vind je in de [API-referentie](/docs/nl/api-reference/text-to-dialogue/ttd-websocket).

## Gerelateerde handleidingen

#### [Realtime Text to Dialogue](/docs/nl/eleven-api/guides/how-to/websockets/realtime-tdd)

Maak verbinding, registreer stemmen, stream `inputs` en sla audio op vanuit de TTD-WebSocket.

#### [Realtime TTS-WebSocket](/docs/nl/eleven-api/guides/how-to/websockets/realtime-tts)

Stapsgewijze uitleg voor verbinden en berichten versturen met de standaard TTS-WebSocket.

#### [WebSocket met meerdere contexten](/docs/nl/eleven-api/guides/how-to/websockets/multi-context-web-socket)

Meerdere TTS-contexten op één verbinding voor agentworkflows.

#### [Snelstart voor Text to Dialogue](/docs/nl/eleven-api/guides/cookbooks/text-to-dialogue)

Voorbeelden van HTTP-requests voor dialoog met meerdere stemmen.

#### [Mogelijkheden van Text to Dialogue](/docs/nl/overview/capabilities/text-to-dialogue)

Productgericht overzicht van dialooggeneratie.