WebSockets de Text to Speech vs. Text to Dialogue
A ElevenLabs oferece duas famílias de produtos WebSocket para transmitir fala sintetizada por streaming. Cada família tem uma variante de stream único e uma variante de múltiplos contextos que multiplexa vários streams independentes em uma única conexão. Elas resolvem problemas diferentes, aceitam formatos de mensagem diferentes e são voltadas a 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 modelos não v3, como Flash ou Multilingual v2, SSML opcional, agendamentos de chunks ou a variante de múltiplos contextos 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álogo usado pelo v3 no servidor.
Use o WebSocket TTD de múltiplos contextos quando precisar desse mesmo comportamento de diálogo do Eleven v3 e de vários streams simultâneos ou intercalados em uma única conexão — por exemplo, um agente conversacional que precisa interromper e reiniciar o diálogo sem abrir um novo socket a cada vez.
Para diálogo por lote ou streaming HTTP (solicitação completa em uma chamada), use Criar diálogo ou Transmitir diálogo em vez de um WebSocket.
Comparação
Quando o WebSocket TTS é a melhor opção
- Você já integra Flash ou Multilingual v2 por latência ou cobertura de idiomas.
- Você quer uma voz narradora por conexão e um protocolo simples de texto por frame.
- Você precisa de orquestração de múltiplos contextos para interrupções e falas paralelas (guia de múltiplos contextos).
Veja Gerar áudio em tempo real para um guia completo do WebSocket TTS.
Quando o WebSocket TTD é a melhor opção
- Você usa diálogo do Eleven v4 (tags expressivas, ritmo de conversa, falas com vários participantes).
- Você transmite diálogo roteirizado ou gerado por LLM em que a voz falante pode mudar a cada linha sem abrir uma nova conexão.
- Você quer entrada incremental no formato de WebSocket com geração de diálogo exclusiva do v4 no servidor.
Para um guia prático, use Text to Dialogue em tempo real. Os detalhes do protocolo estão na referência da API.
WebSockets de múltiplos contextos
Ambos os produtos oferecem uma variante de múltiplos contextos que multiplexa vários streams independentes em uma única conexão WebSocket. Cada contexto é identificado por um context_id escolhido pelo cliente, armazena seu próprio texto em buffer e emite chunks de áudio identificados com esse context_id. Os contextos TTS compartilham o voice_id da URL de conexão, enquanto os contextos TTD registram suas próprias vozes e configurações. Use esse formato quando precisar de geração simultânea ou intercalada com tratamento de interrupções — por exemplo, um agente de voz que precisa cancelar uma fala em andamento e iniciar outra sem encerrar a conexão.
Quando o WebSocket TTD de múltiplos contextos é a melhor opção
- Você precisa do comportamento de diálogo do Eleven v3 (entrega expressiva,
voice_idpor chunk, limites de turno) e de streams simultâneos ou intercalados em uma conexão. - Você está criando um agente conversacional que precisa interromper e reiniciar o diálogo sem abrir um novo socket a cada vez.
- Você quer distribuir várias sessões independentes de diálogo v3 — por exemplo, cenas ou falantes paralelos — em uma única conexão autenticada.
Para o WebSocket TTD de stream único, consulte Text to Dialogue em tempo real. Para o WebSocket TTS de múltiplos contextos, consulte o guia do WebSocket de múltiplos contextos. Os detalhes do protocolo do endpoint TTD de múltiplos contextos estão na referência da API.