# ElevenLabs Text To Dialogue API

> ElevenLabs Text to Dialogue uses Eleven v3 to turn a list of lines into a multi-speaker conversation, with a separate voice for each line and inline audio tags for delivery.

Source: https://www.sandbase.ai/models/elevenlabs/text-to-dialogue
API reference: https://www.sandbase.ai/models/elevenlabs/text-to-dialogue/docs

## Facts

- Provider: ElevenLabs
- Type: Audio model
- Model ID: `elevenlabs/text-to-dialogue`
- Price: From $0.20 per run
- Capabilities: text to speech
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

- Unified Run API: `POST https://api.sandbase.ai/v1/run`

```bash
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "elevenlabs/text-to-dialogue",
  "inputs": [
    {
      "text": "[applause] Thank you all for coming tonight! Today we have a very special guest with us.",
      "voice": "Aria"
    },
    {
      "text": "[gulps] ... [strong canadian accent] [excited] Hello everyone! Thank you all for having me tonight on this special day.",
      "voice": "Charlotte"
    }
  ]
}'
```

The response returns a run id; poll `GET https://api.sandbase.ai/v1/run/{id}` until the status is `completed` or `failed`.

## FAQ

### How do I call ElevenLabs Text To Dialogue through SandBase?

Create a SandBase API key, then send requests with the model ID "elevenlabs/text-to-dialogue" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.

### Do I need a separate ElevenLabs account?

No. One SandBase API key and balance gives you access to ElevenLabs Text To Dialogue and the other models in the catalog; you do not need to sign up with ElevenLabs separately.

## README

### Text To Dialogue

ElevenLabs text-to-dialogue (Eleven v3): a multi-speaker conversation from a list of lines, each with its own voice and inline audio tags.

#### Fields

| Field | Type | Default | Notes |
|---|---|---|---|
| `inputs` | item[] | — | List of `{text, voice}` lines in speaking order. |
| `language_code` | `` / `afr` / `ara` / `hye` / `asm` / `aze` / `bel` / `ben` / `bos` / `bul` / `cat` / `ceb` / `nya` / `hrv` / `ces` / `dan` / `nld` / `eng` / `est` / `fil` / `fin` / `fra` / `glg` / `kat` / `deu` / `ell` / `guj` / `hau` / `heb` / `hin` / `hun` / `isl` / `ind` / `gle` / `ita` / `jpn` / `jav` / `kan` / `kaz` / `kir` / `kor` / `lav` / `lin` / `lit` / `ltz` / `mkd` / `msa` / `mal` / `cmn` / `mar` / `nep` / `nor` / `pus` / `fas` / `pol` / `por` / `pan` / `ron` / `rus` / `srp` / `snd` / `slk` / `slv` / `som` / `spa` / `swa` / `swe` / `tam` / `tel` / `tha` / `tur` / `ukr` / `urd` / `vie` / `cym` | — | Force a language. |
| `stability` | number 0–1 | — | Lower is more expressive. |

#### Billing

$0.20 per started 1,000 characters across all lines, with a one-unit minimum.

| Dialogue | Price |
|---|---|
| 500 characters | $0.20 |
| 1,000 characters | $0.20 |
| 3,000 characters | $0.60 |

Failed runs are not charged.

#### Prompting

- Use audio tags like `[laughs]` inside lines for delivery.

#### Also on SandBase

Related: `elevenlabs/v3`.
