Text To Dialogue

elevenlabs/text-to-dialogue

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.

Base price
$0.20USD / run
Execution
async
Model type
audio
Input fields
3
Production route

Try the model

Playground

Open playground
Input
A list of dialogue inputs, each containing text and a voice ID which will be converted into speech.
Language code (ISO 639-3) used to enforce a language for the model. Allowed values: , 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.
01
Determines how stable the voice is and the randomness between each generation. Lower values introduce broader emotional range for the voice. Higher values can result in a monotonous voice with limited emotion. Must be one of 0.0, 0.5, 1.0, else it will be rounded to the nearest value. Range: 0 to 1.
OutputExample

Examples

Select an example to load its inputs and result into the playground.

Model card

Specifications

Pricing

Base price
$0.20 / run

Context & modalities

Input
Schema-defined
Output
audio

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
ElevenLabs
Model ID
elevenlabs/text-to-dialogue
Execution
async
Base URL
https://api.sandbase.ai
API
Unified Run API
Endpoint
/v1/run

API 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

FieldTypeDefaultNotes
inputsitem[]—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.
stabilitynumber 0–1—Lower is more expressive.

Billing

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

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

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
elevenlabs/text-to-dialogue
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "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"
    }
  ]
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All image & video models
ModelTypeDefault priceReleased
ElevenLabsAudio$0.20 / runSep 9, 2025
ElevenLabsAudio$0.04 / runSep 28, 2026
ElevenLabsAudio$0.08 / runSep 28, 2026
ElevenLabsAudio$0.75 / runSep 14, 2026
ElevenLabsAudio$0.75 / runSep 14, 2026
ElevenLabsAudio$0.01 / runJan 14, 2026

Questions

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.