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

# Início rápido do Text to Dialogue

Este guia mostra como gerar diálogos imersivos e naturais a partir de texto usando a API de Text to Dialogue.

> **Warning**
>
> Mantenha o tamanho total de todos os valores de `inputs[].text` em até 2.000 caracteres por solicitação para
> uma geração confiável. Divida roteiros mais longos em partes e una o áudio no lado do cliente.

## Como usar a API de Text to Dialogue

#### Criar uma chave de API

[Crie uma chave de API no painel aqui](https://elevenlabs.io/app/settings/api-keys), que você usará para [acessar a API](/docs/pt/api-reference/authentication) com segurança.

Armazene a chave como um segredo gerenciado e passe-a aos SDKs como uma variável de ambiente por meio de um arquivo `.env` ou diretamente na configuração do seu app, conforme sua preferência.

**`.env`**

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

#### Instalar o SDK

#### SDK

Também usaremos a biblioteca `dotenv` para carregar nossa chave de API de uma variável de ambiente.

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

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

#### CLI

Instale a CLI da ElevenLabs. Recomendamos 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**
>
> Está trabalhando com um assistente de programação com IA? Execute `elevenlabs generate-skills` no seu projeto para criar um
> `SKILL.md` para cada grupo de comandos em `skills/`, para que seu assistente conheça toda a superfície da CLI
> sem que você precise colar a documentação. Use `--output-dir` para colocá-los em outro lugar. Isso lê a própria
> definição de API incorporada da CLI, portanto não precisa de chave de API e funciona off-line — além de acompanhar
> a versão da CLI que você tiver instalado.

Em seguida, autentique-se — isso abrirá seu navegador para autorizar a CLI:

```bash
elevenlabs auth login
```

#### Fazer a solicitação à API

#### SDK

Crie um novo arquivo chamado `example.py` ou `example.mts`, dependendo da linguagem escolhida, e adicione o código a seguir.
Adicione tags de áudio a cada valor de `text` para orientar a interpretação daquele locutor. O `voice_id`
seleciona a voz do locutor para o mesmo item de entrada.

```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);
```

Em seguida, execute:

```python
python example.py
```

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

Você deve ouvir o áudio do diálogo sendo reproduzido.

#### CLI

Passe as entradas de diálogo como uma matriz JSON e salve o áudio em um arquivo:

```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" }
  ]'
```

Abra `dialogue.mp3` para ouvir o resultado.

## Streaming com WebSocket

Para diálogos incrementais em uma conexão de longa duração com modelos **Eleven v3**, siga [Text to Dialogue em tempo real](/docs/pt/eleven-api/guides/how-to/websockets/realtime-tdd). Para comparar este WebSocket com o WebSocket TTS padrão, consulte [WebSockets de Text to Speech vs Text to Dialogue](/docs/pt/eleven-api/guides/how-to/websockets/tts-vs-ttd-websockets).

## Próximas etapas

#### [Explorar vozes](https://elevenlabs.io/app/voice-library)

Explore mais de 10.000 vozes para atribuir a cada locutor do diálogo

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

Gere fala com uma única voz usando a API de Text to Speech

#### [Referência da API](/docs/pt/api-reference/text-to-dialogue/convert)

Explore todos os parâmetros e formatos de resposta de Text to Dialogue