> 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 de Text to Speech vs Text to Dialogue

A ElevenLabs oferece dois produtos WebSocket diferentes para transmitir fala sintetizada. Eles resolvem problemas distintos, aceitam formatos de mensagem diferentes e são voltados para modelos diferentes.

## Qual WebSocket devo usar?

Use o **WebSocket de Text to Speech (TTS)** quando transmitir texto simples para **uma voz por conexão** (a voz é fixa na URL) e quiser usar modelos **não v3**, como Flash ou Multilingual v2, SSML opcional, agendamentos de chunks ou a variante de **multicontexto** para lidar com interrupções no estilo de agentes.

Use o **WebSocket de Text to Dialogue (TTD)** quando precisar do comportamento de diálogo do **Eleven v3**: entrega expressiva, \*\*`voice_id` por chunk \*\*, limites de turno (`new_turn`) e o mesmo buffering voltado para diálogos usado para v3 no servidor.

Para diálogos por **lote ou streaming HTTP** (solicitação completa em uma chamada), use [Criar diálogo](/docs/pt/api-reference/text-to-dialogue/convert) ou [Transmitir diálogo](/docs/pt/api-reference/text-to-dialogue/stream) em vez de um WebSocket.

## Comparação

|                                  | WebSocket de Text to Speech                                                                                                                                                                          | WebSocket de Text to Dialogue                                                                                                                                                                                         |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Referência da API**            | [Entrada de stream TTS](/docs/pt/api-reference/text-to-speech/v-1-text-to-speech-voice-id-stream-input)                                                                                              | [WebSocket TTD](/docs/pt/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`                                                                                                                                                            |
| **Seleção de voz**               | Um `voice_id` no caminho; todo o texto transmitido usa essa voz                                                                                                                                      | A primeira mensagem registra uma ou mais `voices` por ID; cada entrada de `inputs[]` informa um `voice_id`                                                                                                            |
| **Modelos**                      | Flash, Multilingual v2 e outros modelos TTS compatíveis. **Não** use `eleven_v3` ou `eleven_v4` neste endpoint.                                                                                      | **`model_id` deve começar com `eleven_v3` ou `eleven_v4`** (por exemplo, `eleven_v4` ou `eleven_v4_turbo`)                                                                                                            |
| **Primeira mensagem do cliente** | Inicialize com um espaço e `voice_settings` / `generation_config` opcionais (consulte o guia de TTS em tempo real)                                                                                   | Deve incluir **`voices`** (e credenciais, caso ainda não tenham sido enviadas por headers ou query)                                                                                                                   |
| **Texto contínuo**               | Envie uma string `text` (geralmente com espaço ao final); `flush`, `try_trigger_generation` opcionais etc.                                                                                           | Envie **`inputs`**: objetos `{ text, voice_id, new_turn? }`; **`flush`**, **`close_socket`**, **`keep_alive`** opcionais                                                                                              |
| **Buffering / agendamento**      | Agendamento de tamanho de chunks e controles relacionados do WebSocket TTS                                                                                                                           | O servidor armazena em buffer até haver texto suficiente (cerca de **40 caracteres e 8 palavras**) antes de emitir áudio, a menos que você use **`flush`**                                                            |
| **Vários falantes em um socket** | Use o [WebSocket multicontexto](/docs/pt/eleven-api/guides/how-to/websockets/multi-context-web-socket) para vários **contextos TTS paralelos**, não para a semântica de diálogos com vários falantes | Até **10** vozes registradas para `eleven_v4`; **`eleven_v4_turbo` permite apenas uma** voz registrada                                                                                                                |
| **Inatividade**                  | `inactivity_timeout` configurável (query do WebSocket TTS)                                                                                                                                           | **20 s fixos** entre mensagens do cliente, a menos que você envie **`keep_alive`**                                                                                                                                    |
| **Concorrência**                 | Apenas o tempo de geração ativa conta para o [limite de concorrência](/docs/pt/overview/models#concurrency-and-priority) do seu plano; um socket aberto e inativo não conta                          | Cada conexão aberta mantém uma [sessão de diálogo](/docs/pt/overview/models#text-to-dialogue-concurrency) de um pool separado durante toda a sua existência; a geração pela conexão não consome a concorrência padrão |
| **Alinhamento**                  | `sync_alignment` opcional (nomenclatura do campo TTS na referência da API)                                                                                                                           | `sync_alignment` opcional; o JSON usa campos em **snake_case** nas respostas (por exemplo, `is_final`, `char_start_times_ms`)                                                                                         |

## Quando o WebSocket TTS é a melhor opção

* Você já integra **Flash** ou **Multilingual v2** para reduzir a latência ou ampliar a cobertura de idiomas.
* Você quer **uma voz de narrador** por conexão e um protocolo simples de texto por frame.
* Você precisa de orquestração **multicontexto** para interrupções e falas paralelas ([guia de multicontexto](/docs/pt/eleven-api/guides/how-to/websockets/multi-context-web-socket)).

Consulte [Gerar áudio em tempo real](/docs/pt/eleven-api/guides/how-to/websockets/realtime-tts) para ver um guia completo do WebSocket TTS.

## Quando o WebSocket TTD é a melhor opção

* Você usa diálogos do **Eleven v4** (tags expressivas, ritmo de conversa, falas de vários participantes).
* Você transmite **diálogos roteirizados ou gerados por LLM** em que a **voz pode mudar a cada fala** sem abrir uma nova conexão.
* Você quer entrada incremental no formato de **WebSocket**, com geração de diálogos exclusiva do **v4** no servidor.

Para um guia prático, use [Text to Dialogue em tempo real](/docs/pt/eleven-api/guides/how-to/websockets/realtime-tdd). Os detalhes do protocolo estão na [referência da API](/docs/pt/api-reference/text-to-dialogue/ttd-websocket).

## Guias relacionados

#### [Text to Dialogue em tempo real](/docs/pt/eleven-api/guides/how-to/websockets/realtime-tdd)

Conecte-se, registre vozes, transmita `inputs` e salve o áudio do WebSocket TTD.

#### [WebSocket TTS em tempo real](/docs/pt/eleven-api/guides/how-to/websockets/realtime-tts)

Conexão e envio de mensagens passo a passo para o WebSocket TTS padrão.

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

Vários contextos TTS em uma conexão para workflows de agentes.

#### [Início rápido de Text to Dialogue](/docs/pt/eleven-api/guides/cookbooks/text-to-dialogue)

Exemplos de solicitações HTTP para diálogos com várias vozes.

#### [Recursos de Text to Dialogue](/docs/pt/overview/capabilities/text-to-dialogue)

Visão geral da geração de diálogos voltada ao produto.