> 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 Texto a Voz y Texto a Diálogo

ElevenLabs ofrece dos productos WebSocket diferentes para transmitir voz sintetizada en streaming. Resuelven problemas distintos, aceptan formatos de mensaje diferentes y están orientados 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 usar modelos **que no sean v3**, como Flash o Multilingual v2, SSML opcional, programaciones de fragmentos o la variante de **multicontexto** para gestionar interrupciones al estilo 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.

Para diálogos mediante **lotes o streaming HTTP** (la solicitud completa en una llamada), usa [Crear diálogo](/docs/es/api-reference/text-to-dialogue/convert) o [Transmitir diálogo](/docs/es/api-reference/text-to-dialogue/stream) en lugar de un WebSocket.

## Comparación

|                                            | WebSocket de Texto a Voz                                                                                                                                                                    | WebSocket de Texto a Diálogo                                                                                                                                                                                                              |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Referencia de la API**                   | [Entrada de streaming de TTS](/docs/es/api-reference/text-to-speech/v-1-text-to-speech-voice-id-stream-input)                                                                               | [WebSocket de TTD](/docs/es/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`                                                                                                                                                                                |
| **Selección de voz**                       | Un `voice_id` en la ruta; todo el texto transmitido usa esa voz                                                                                                                             | El primer mensaje registra una o varias `voices` por ID; cada entrada de `inputs[]` indica un `voice_id`                                                                                                                                  |
| **Modelos**                                | Flash, Multilingual v2 y otros modelos de TTS compatibles. **No** admite `eleven_v3` ni `eleven_v4` en esta ruta.                                                                           | **`model_id` debe empezar por `eleven_v3` o `eleven_v4`** (por ejemplo, `eleven_v4` o `eleven_v4_turbo`)                                                                                                                                  |
| **Primer mensaje del cliente**             | Inicializa con un espacio y `voice_settings` / `generation_config` opcionales (consulta la guía de TTS en tiempo real)                                                                      | Debe incluir **`voices`** (y las credenciales si no se han enviado ya mediante cabeceras o parámetros de consulta)                                                                                                                        |
| **Texto posterior**                        | Envía una cadena `text` (normalmente con un espacio al final); `flush`, `try_trigger_generation`, etc. opcionales.                                                                          | Envía **`inputs`**: objetos `{ text, voice_id, new_turn? }`; **`flush`**, **`close_socket`** y **`keep_alive`** opcionales                                                                                                                |
| **Almacenamiento en búfer / programación** | Programación de longitud de fragmentos y controles relacionados del WebSocket de TTS                                                                                                        | El servidor almacena en búfer hasta que haya suficiente texto (aproximadamente **40 caracteres y 8 palabras**) antes de emitir audio, salvo que uses **`flush`**                                                                          |
| **Varias voces en un socket**              | Usa el [WebSocket multicontexto](/docs/es/eleven-api/guides/how-to/websockets/multi-context-web-socket) para varios **contextos de TTS en paralelo**, no para semántica de diálogo multivoz | Hasta **10** voces registradas para `eleven_v4`; **`eleven_v4_turbo` solo permite una** voz registrada                                                                                                                                    |
| **Inactividad**                            | `inactivity_timeout` configurable (parámetro de consulta del WebSocket de TTS)                                                                                                              | **20 s fijos** entre mensajes del cliente, a menos que envíes **`keep_alive`**                                                                                                                                                            |
| **Concurrencia**                           | Solo el tiempo de generación activo cuenta para el [límite de concurrencia](/docs/es/overview/models#concurrency-and-priority) de tu plan; un socket abierto inactivo no cuenta             | Cada conexión abierta mantiene una [sesión de diálogo](/docs/es/overview/models#text-to-dialogue-concurrency) de un grupo independiente durante toda su vida útil; la generación a través de la conexión no consume concurrencia estándar |
| **Alineación**                             | `sync_alignment` opcional (nomenclatura de los campos de TTS en la referencia de la API)                                                                                                    | `sync_alignment` opcional; el JSON usa campos en **snake_case** en las respuestas (por ejemplo, `is_final`, `char_start_times_ms`)                                                                                                        |

## Cuándo encaja mejor el WebSocket de TTS

* Ya integras **Flash** o **Multilingual v2** por latencia o cobertura de idiomas.
* Quieres **una voz de narrador** por conexión y un protocolo sencillo de texto por trama.
* Necesitas orquestación **multicontexto** para interrupciones y emisiones paralelas ([guía de multicontexto](/docs/es/eleven-api/guides/how-to/websockets/multi-context-web-socket)).

Consulta [Generar audio en tiempo real](/docs/es/eleven-api/guides/how-to/websockets/realtime-tts) para ver una guía completa del WebSocket de TTS.

## Cuándo encaja mejor el WebSocket de TTD

* Usas diálogos de **Eleven v4** (etiquetas expresivas, ritmo conversacional, líneas con varias voces).
* Transmites **diálogo generado por guion o LLM** en el que la **voz que habla puede cambiar en cada línea** sin abrir una conexión nueva.
* Quieres una entrada incremental **con formato de WebSocket** con generación de diálogo **solo para v4** en el servidor.

Para una guía práctica, consulta [Texto a Diálogo en Tiempo Real](/docs/es/eleven-api/guides/how-to/websockets/realtime-tdd). Los detalles del protocolo están en la [referencia de la API](/docs/es/api-reference/text-to-dialogue/ttd-websocket).

## Guías relacionadas

#### [Texto a Diálogo en Tiempo Real](/docs/es/eleven-api/guides/how-to/websockets/realtime-tdd)

Conecta, registra voces, transmite `inputs` y guarda el audio del WebSocket de TTD.

#### [WebSocket de TTS en tiempo real](/docs/es/eleven-api/guides/how-to/websockets/realtime-tts)

Conexión y mensajería paso a paso para el WebSocket de TTS estándar.

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

Varios contextos de TTS en una conexión para workflows de agentes.

#### [Guía rápida de Texto a Diálogo](/docs/es/eleven-api/guides/cookbooks/text-to-dialogue)

Ejemplos de solicitudes HTTP para diálogo multivoz.

#### [Función de Texto a Diálogo](/docs/es/overview/capabilities/text-to-dialogue)

Resumen orientado al producto sobre la generación de diálogo.