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

# WebSocket Text to Speech e Text to Dialogue

ElevenLabs offre due diversi prodotti WebSocket per lo streaming del parlato sintetizzato. Risolvono problemi diversi, accettano formati di messaggio diversi e sono destinati a modelli diversi.

## Quale WebSocket devo usare?

Usa il **WebSocket Text to Speech (TTS)** quando trasmetti testo semplice per **una voce per connessione** (la voce è fissa nell'URL) e vuoi usare modelli **non v3** come Flash o Multilingual v2, SSML facoltativo, pianificazioni dei blocchi o la variante **multi-contesto** per la gestione delle interruzioni in stile agente.

Usa il **WebSocket Text to Dialogue (TTD)** quando hai bisogno del comportamento di dialogo di **Eleven v3**: interpretazione espressiva, \*\*`voice_id` per blocco \*\*, confini di turno (`new_turn`) e lo stesso buffering orientato al dialogo utilizzato per v3 sul server.

Per dialoghi **batch o in streaming HTTP** (richiesta completa in una sola chiamata), utilizza invece [Crea dialogo](/docs/it/api-reference/text-to-dialogue/convert) o [Trasmetti dialogo](/docs/it/api-reference/text-to-dialogue/stream) anziché un WebSocket.

## Confronto

|                                | WebSocket Text to Speech                                                                                                                                                                    | WebSocket Text to Dialogue                                                                                                                                                                                                        |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Riferimento API**            | [Input stream TTS](/docs/it/api-reference/text-to-speech/v-1-text-to-speech-voice-id-stream-input)                                                                                          | [WebSocket TTD](/docs/it/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`                                                                                                                                                                        |
| **Selezione della voce**       | Un `voice_id` nel path; tutto il testo trasmesso usa quella voce                                                                                                                            | Il primo messaggio registra una o più `voices` tramite ID; ogni voce in `inputs[]` indica un `voice_id`                                                                                                                           |
| **Modelli**                    | Flash, Multilingual v2 e altri modelli TTS supportati. **Nessun** `eleven_v3` o `eleven_v4` su questo endpoint.                                                                             | **`model_id` deve iniziare con `eleven_v3` o `eleven_v4`** (ad esempio `eleven_v4` o `eleven_v4_turbo`)                                                                                                                           |
| **Primo messaggio del client** | Inizializza con uno spazio e `voice_settings` / `generation_config` facoltativi (consulta la guida TTS in tempo reale)                                                                      | Deve includere **`voices`** (e le credenziali, se non sono già state inviate tramite header o query)                                                                                                                              |
| **Testo successivo**           | Invia una stringa `text` (in genere con uno spazio finale); `flush`, `try_trigger_generation` ecc. facoltativi                                                                              | Invia **`inputs`**: oggetti `{ text, voice_id, new_turn? }`; **`flush`**, **`close_socket`**, **`keep_alive`** facoltativi                                                                                                        |
| **Buffering / pianificazione** | Pianificazione della lunghezza dei blocchi e relativi controlli del WebSocket TTS                                                                                                           | Il server esegue il buffering finché non è presente abbastanza testo (circa **40 caratteri e 8 parole**) prima di emettere l'audio, a meno che non usi **`flush`**                                                                |
| **Più parlanti su un socket**  | Usa il [WebSocket multi-contesto](/docs/it/eleven-api/guides/how-to/websockets/multi-context-web-socket) per più **contesti TTS paralleli**, non per la semantica di dialogo multi-parlante | Fino a **10** voci registrate per `eleven_v4`; **`eleven_v4_turbo` consente una sola** voce registrata                                                                                                                            |
| **Inattività**                 | `inactivity_timeout` configurabile (query del WebSocket TTS)                                                                                                                                | **20 s fissi** tra i messaggi del client, a meno che non invii **`keep_alive`**                                                                                                                                                   |
| **Concorrenza**                | Solo il tempo di generazione attivo conta ai fini del [limite di concorrenza](/docs/it/overview/models#concurrency-and-priority) del tuo piano; un socket aperto inattivo non conta         | Ogni connessione aperta occupa una [sessione di dialogo](/docs/it/overview/models#text-to-dialogue-concurrency) da un pool separato per tutta la sua durata; la generazione sulla connessione non consuma la concorrenza standard |
| **Allineamento**               | `sync_alignment` facoltativo (nomenclatura dei campi TTS nel riferimento API)                                                                                                               | `sync_alignment` facoltativo; JSON usa campi in **snake\_case** nelle risposte (ad esempio `is_final`, `char_start_times_ms`)                                                                                                     |

## Quando il WebSocket TTS è la scelta migliore

* Hai già integrato **Flash** o **Multilingual v2** per la latenza o la copertura linguistica.
* Vuoi **una voce narrante** per connessione e un semplice protocollo con testo per frame.
* Ti serve l'orchestrazione **multi-contesto** per barge-in e enunciati paralleli ([guida multi-contesto](/docs/it/eleven-api/guides/how-to/websockets/multi-context-web-socket)).

Consulta [Generare audio in tempo reale](/docs/it/eleven-api/guides/how-to/websockets/realtime-tts) per una guida completa al WebSocket TTS.

## Quando il WebSocket TTD è la scelta migliore

* Il tuo obiettivo sono dialoghi **Eleven v4** (tag espressivi, ritmo conversazionale, battute con più parlanti).
* Trasmetti **dialoghi scritti o generati da LLM** in cui la **voce parlante può cambiare per ogni battuta** senza aprire una nuova connessione.
* Vuoi input incrementali in **formato WebSocket** con generazione di dialoghi **solo v4** sul server.

Per una guida pratica, utilizza [Text to Dialogue in tempo reale](/docs/it/eleven-api/guides/how-to/websockets/realtime-tdd). I dettagli del protocollo sono nel [riferimento API](/docs/it/api-reference/text-to-dialogue/ttd-websocket).

## Guide correlate

#### [Text to Dialogue in tempo reale](/docs/it/eleven-api/guides/how-to/websockets/realtime-tdd)

Connettiti, registra le voci, trasmetti `inputs` e salva l'audio dal WebSocket TTD.

#### [WebSocket TTS in tempo reale](/docs/it/eleven-api/guides/how-to/websockets/realtime-tts)

Connessione e messaggistica passo dopo passo per il WebSocket TTS standard.

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

Più contesti TTS su una connessione per i workflow degli agenti.

#### [Guida rapida di Text to Dialogue](/docs/it/eleven-api/guides/cookbooks/text-to-dialogue)

Esempi di richieste HTTP per dialoghi con più voci.

#### [Funzionalità Text to Dialogue](/docs/it/overview/capabilities/text-to-dialogue)

Panoramica della generazione di dialoghi orientata al prodotto.