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

# Guida rapida di Text to Dialogue

Questa guida ti mostrerà come generare dialoghi coinvolgenti e dal suono naturale a partire dal testo utilizzando l'API Text to Dialogue.

> **Warning**
>
> Per una generazione affidabile, mantieni la lunghezza totale di tutti i valori `inputs[].text` pari o inferiore a 2.000 caratteri per richiesta.
> Dividi gli script più lunghi in blocchi e unisci l'audio lato client.

## Utilizzare l'API Text to Dialogue

#### Crea una chiave API

[Crea qui una chiave API nella dashboard](https://elevenlabs.io/app/settings/api-keys), che userai per [accedere all'API](/docs/it/api-reference/authentication) in modo sicuro.

Archivia la chiave come secret gestito e passala agli SDK come variabile d'ambiente tramite un file `.env` oppure direttamente nella configurazione della tua app, a seconda delle tue preferenze.

**`.env`**

```js title=".env"
ELEVENLABS_API_KEY=<your_api_key_here>
```

#### Installa l'SDK

#### SDK

Useremo anche la libreria `dotenv` per caricare la nostra chiave API da una variabile d'ambiente.

```python
pip install elevenlabs
pip install python-dotenv
```

```typescript
npm install @elevenlabs/elevenlabs-js
npm install dotenv
```

#### CLI

Installa la CLI di ElevenLabs. Consigliamo Homebrew (macOS) e Scoop (Windows).

**`Homebrew (macOS)`**

```bash title="Homebrew (macOS)"
brew install elevenlabs/tap/elevenlabs
```

**`Scoop (Windows)`**

```powershell title="Scoop (Windows)"
scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabs
```

**`npm`**

```bash title="npm"
npm install -g @elevenlabs/cli
```

**`curl`**

```bash title="curl"
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | sh
```

> **Tip**
>
> Lavori con un assistente di coding IA? Esegui `elevenlabs generate-skills` nel tuo progetto per creare un
> file `SKILL.md` per ogni gruppo di comandi in `skills/`, così il tuo assistente conosce tutte le funzionalità della CLI
> senza che tu debba incollare la documentazione. Usa `--output-dir` per inserirli altrove. Il comando legge la definizione API
> integrata della CLI, quindi non richiede una chiave API e funziona offline — inoltre rimane allineato
> alla versione della CLI che hai installato.

Poi autentica la CLI: si aprirà il browser per autorizzarla.

```bash
elevenlabs auth login
```

#### Effettua la richiesta API

#### SDK

Crea un nuovo file denominato `example.py` o `example.mts`, a seconda del linguaggio scelto, e aggiungi il seguente codice.
Aggiungi tag audio all'interno di ogni valore `text` per guidare l'interpretazione di quel parlante. Il parametro `voice_id`
seleziona la voce del parlante per lo stesso elemento di input.

```python focus={12-21} maxLines=0
# example.py
import os

from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play

load_dotenv()

elevenlabs = ElevenLabs(
  api_key=os.getenv("ELEVENLABS_API_KEY"),
)

audio = elevenlabs.text_to_dialogue.convert(
    inputs=[
        {
            "text": "[cheerfully] Hello, how are you?",
            "voice_id": "9BWtsMINqrJLrRacOk9x",
        },
        {
            "text": "[stuttering] I'm... I'm doing well, thank you.",
            "voice_id": "IKne3meq5aSn9XLyUdCD",
        }
    ]
)

play(audio)
```

```typescript focus={7-17} maxLines=0
// example.mts
import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient();

const audio = await elevenlabs.textToDialogue.convert({
    inputs: [
        {
            text: "[cheerfully] Hello, how are you?",
            voiceId: "9BWtsMINqrJLrRacOk9x",
        },
        {
            text: "[stuttering] I'm... I'm doing well, thank you.",
            voiceId: "IKne3meq5aSn9XLyUdCD",
        },
    ],
});

play(audio);
```

Quindi eseguilo:

```python
python example.py
```

```typescript
npx tsx example.mts
```

Dovresti sentire la riproduzione dell'audio del dialogo.

#### CLI

Passa gli input del dialogo come array JSON e salva l'audio in un file:

```bash
elevenlabs text-to-dialogue convert \
  --output dialogue.mp3 \
  --inputs '[
    { "text": "[cheerfully] Hello, how are you?", "voice_id": "9BWtsMINqrJLrRacOk9x" },
    { "text": "[stuttering] I... I am doing well, thank you.", "voice_id": "IKne3meq5aSn9XLyUdCD" }
  ]'
```

Apri `dialogue.mp3` per ascoltare il risultato.

## Streaming WebSocket

Per dialoghi incrementali su una connessione di lunga durata con i modelli **Eleven v3**, segui [Text to Dialogue in tempo reale](/docs/it/eleven-api/guides/how-to/websockets/realtime-tdd). Per confrontare questo WebSocket con il WebSocket TTS standard, consulta [WebSocket Text to Speech e Text to Dialogue](/docs/it/eleven-api/guides/how-to/websockets/tts-vs-ttd-websockets).

## Passaggi successivi

#### [Esplora le voci](https://elevenlabs.io/app/voice-library)

Esplora oltre 10.000 voci da assegnare a ogni parlante del dialogo

#### [Text to Speech](/docs/it/eleven-api/guides/cookbooks/text-to-speech)

Genera parlato con una singola voce tramite l'API Text to Speech

#### [Riferimento API](/docs/it/api-reference/text-to-dialogue/convert)

Esplora tutti i parametri e i formati di risposta di Text to Dialogue