WebSockets de Texto a Voz frente a Texto a Diálogo
Esta guía te muestra cómo elegir el WebSocket adecuado para transmitir voz y en qué se diferencian ambos protocolos.
ElevenLabs ofrece dos familias de productos WebSocket para transmitir voz sintetizada. Cada familia tiene una variante de flujo único y una variante de multicontexto que multiplexa varios flujos independientes a través de una conexión. Resuelven problemas distintos, aceptan formatos de mensaje diferentes y están dirigidos a modelos distintos.
¿Qué WebSocket debo usar?
Usa el WebSocket de Texto a Voz (TTS) cuando transmitas texto sin formato para una voz por conexión (la voz se fija en la URL) y quieras modelos que no sean v3, como Flash o Multilingual v2, SSML opcional, programaciones de fragmentos o la variante de multicontexto para gestionar interrupciones propias de agentes.
Usa el WebSocket de Texto a Diálogo (TTD) cuando necesites el comportamiento de diálogo de Eleven v3: entonación expresiva, **voice_id por fragmento **, límites de turno (new_turn) y el mismo almacenamiento en búfer orientado al diálogo que se usa para v3 en el servidor.
Usa el WebSocket TTD multicontexto cuando necesites ese mismo comportamiento de diálogo de Eleven v3 y, además, varios flujos simultáneos o intercalados en una sola conexión; por ejemplo, un agente conversacional que debe interrumpir y reiniciar el diálogo sin abrir un socket nuevo cada vez.
Para diálogo mediante lotes o streaming HTTP (solicitud completa en una llamada), usa Crear diálogo o Transmitir diálogo en lugar de un WebSocket.
Comparativa
Cuándo el WebSocket TTS es la mejor opción
- Ya integras Flash o Multilingual v2 por su latencia o cobertura de idiomas.
- Quieres una voz de narrador por conexión y un protocolo sencillo de texto por trama.
- Necesitas orquestación de multicontexto para interrupciones y enunciados paralelos (guía de multicontexto).
Consulta Generar audio en tiempo real para ver una guía completa del WebSocket TTS.
Cuándo el WebSocket TTD es la mejor opción
- Usas diálogo de Eleven v4 (etiquetas expresivas, ritmo conversacional, líneas con varias voces).
- Transmites diálogo escrito o generado por un LLM donde la voz que habla puede cambiar en cada línea sin abrir una conexión nueva.
- Quieres una entrada incremental con formato WebSocket y generación de diálogo solo v4 en el servidor.
Para una guía práctica, usa Texto a Diálogo en tiempo real. Los detalles del protocolo están en la referencia de la API.
WebSockets multicontexto
Ambos productos ofrecen una variante de multicontexto que multiplexa varios flujos independientes mediante una sola conexión WebSocket. Cada contexto se identifica con un context_id elegido por el cliente, almacena su propio texto en búfer y emite fragmentos de audio etiquetados con ese context_id. Los contextos TTS comparten el voice_id de la URL de conexión, mientras que los contextos TTD registran sus propias voces y ajustes. Usa este formato cuando necesites generación simultánea o intercalada con gestión de interrupciones; por ejemplo, un agente de voz que debe cancelar un enunciado en curso e iniciar uno nuevo sin cerrar la conexión.
Cuándo el WebSocket TTD multicontexto es la mejor opción
- Necesitas el comportamiento de diálogo de Eleven v3 (entonación expresiva,
voice_idpor fragmento, límites de turno) y flujos simultáneos o intercalados en una conexión. - Estás creando un agente conversacional que debe interrumpir y reiniciar el diálogo sin abrir un socket nuevo cada vez.
- Quieres distribuir varias sesiones de diálogo v3 independientes —por ejemplo, escenas o hablantes en paralelo— mediante una sola conexión autenticada.
Para el WebSocket TTD de flujo único, consulta Texto a Diálogo en tiempo real. Para el WebSocket TTS multicontexto, consulta la guía del WebSocket multicontexto. Los detalles del protocolo para la ruta de API TTD multicontexto están en la referencia de la API.