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

# Snabbstart för Text to Dialogue

Den här guiden visar hur du skapar uppslukande, naturligt klingande dialog från text med Text to Dialogue API:t.

> **Warning**
>
> Håll den sammanlagda längden för alla `inputs[].text`-värden på högst 2 000 tecken per begäran för
> tillförlitlig generering. Dela upp längre manus i delar och sammanfoga ljudet på klientsidan.

## Använda Text to Dialogue API:t

#### Skapa en API-nyckel

[Skapa en API-nyckel i kontrollpanelen här](https://elevenlabs.io/app/settings/api-keys), som du använder för att säkert [få åtkomst till API:et](/docs/sv/api-reference/authentication).

Spara nyckeln som en hanterad hemlighet och skicka den till SDK:erna antingen som en miljövariabel via en `.env`-fil eller direkt i appens konfiguration, beroende på vad du föredrar.

**`.env`**

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

#### Installera SDK:t

#### SDK

Vi använder också biblioteket `dotenv` för att läsa in vår API-nyckel från en miljövariabel.

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

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

#### CLI

Installera ElevenLabs CLI. Homebrew (macOS) och Scoop (Windows) rekommenderas.

**`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**
>
> Arbetar du med en AI-kodningsassistent? Kör `elevenlabs generate-skills` i ditt projekt för att skapa en
> `SKILL.md` för varje kommandogrupp i `skills/`, så att assistenten känner till hela CLI:ts yta
> utan att du behöver klistra in dokumentation. Använd `--output-dir` för att lägga dem någon annanstans. Detta läser CLI:ts egen
> inbäddade API-definition, så det kräver ingen API-nyckel och fungerar offline — och det följer
> den version av CLI:t som du har installerad.

Autentisera sedan — detta öppnar webbläsaren så att du kan auktorisera CLI:t:

```bash
elevenlabs auth login
```

#### Gör API-begäran

#### SDK

Skapa en ny fil med namnet `example.py` eller `example.mts`, beroende på vilket språk du väljer, och lägg till följande kod.
Lägg till ljudtaggar i varje `text`-värde för att styra talarens leverans. `voice_id`
väljer talarrösten för samma indatavärde.

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

Kör sedan programmet:

```python
python example.py
```

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

Du bör höra dialogljudet spelas upp.

#### CLI

Skicka dialogindata som en JSON-array och spara ljudet i en fil:

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

Öppna `dialogue.mp3` för att höra resultatet.

## WebSocket-streaming

För stegvis dialog över en långvarig anslutning med **Eleven v3**-modeller följer du [Realtime Text to Dialogue](/docs/sv/eleven-api/guides/how-to/websockets/realtime-tdd). För att jämföra denna WebSocket med standard-WebSocket för TTS, se [Text to Speech vs Text to Dialogue WebSockets](/docs/sv/eleven-api/guides/how-to/websockets/tts-vs-ttd-websockets).

## Nästa steg

#### [Bläddra bland röster](https://elevenlabs.io/app/voice-library)

Utforska över 10 000 röster att tilldela varje dialogtalare

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

Generera tal från en enskild röst med Text to Speech API:t

#### [API-referens](/docs/sv/api-reference/text-to-dialogue/convert)

Utforska alla parametrar och svarsformat för Text to Dialogue