ElevenLabs Text-to-Dialogue v3

Generate natural, expressive multi-speaker dialogue audio with ElevenLabs Eleven v3. Provide a sequence of dialogue turns, each with its own voice, and receive a single hosted audio file. Supports 70+ languages.

Models

Model NameDescription
elevenlabs-text-to-dialogue-v3Multi-speaker dialogue generation with expressive delivery across 70+ languages

Pricing

Per-character pricing, based on the total character count of all dialogue[].text values:

ItemValue
Per charactersee playground
Limitsup to 10 distinct voices, total text ≤ 5000 characters per request

Pre-charged on submit and automatically refunded if generation fails. Use POST /v1/estimate to preview the exact cost before submitting.

Create Task

curl -X POST https://api.aivideoapi.ai/v1/audio/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "elevenlabs-text-to-dialogue-v3",
    "callback_url": "https://your-server.com/webhook",
    "input": {
      "dialogue": [
        { "text": "Hey! Did you finish the report?", "voice": "EkK5I93UQWFDigLMpZcX" },
        { "text": "Almost — just adding the final numbers now.", "voice": "Z3R5wn05IrDiVCyEkUrK" }
      ],
      "stability": 0.5,
      "language_code": "en"
    }
  }'

Request Body

FieldTypeRequiredDescription
modelstringYeselevenlabs-text-to-dialogue-v3
inputobjectYesGeneration parameters, see below
callback_urlstringNoURL to receive task completion/failure notifications

Input Object

FieldTypeRequiredDescription
dialoguearrayYesOrdered list of dialogue turns. Each item is { text, voice }. Up to 10 distinct voices; total text across all turns ≤ 5000 characters
dialogue[].textstringYesWhat this voice says
dialogue[].voicestringYesElevenLabs voice ID or preset name
stabilitynumberNoVoice stability / randomness. One of 0, 0.5, 1. Default 0.5
language_codestringNoLanguage code (e.g. en, zh, ja, fr). Leave empty to auto-detect (default).

Voices

Each dialogue[].voice takes a preset voice ID (or its name) from the catalog below. Preview any voice and use its voice_id.

NameStylevoice_idPreview
JamesHusky, Engaging and BoldEkK5I93UQWFDigLMpZcX
ArabellaMysterious and EmotiveZ3R5wn05IrDiVCyEkUrK
BradfordExpressive and ArticulateNNl6r8mD7vthiJatiJt1
XavierDominating, Metallic AnnouncerYOq2y2Up4RgXP2HyXjE5
KuonCheerful, Clear and SteadyB8gJV1IhpuegLxdpXFOE
Monika SogamDeep and Natural2zRM7PkgwBPiau2jvVXc
MarkCasual, Relaxed and Light1SM7GgM6IMuvQlz2BwM3
AdelineFeminine and Conversational5l5f8iK3YPeGga21rQIX
SamSupport AgentscOwDtmlUjD3prqpp97I
Spuds OxleyWise and ApproachableNOpBlnGInO9m6vDvFkFC
EveAuthentic, Energetic and HappyBZgkqPqms7Kj9ulSkVzn
Northern TerryNorthern English, Characterfulwo6udizrrtpIxWGp2qJk
British Football AnnouncerBritish, Energetic CommentarygU0LNdkMOQCOrPrwtbee
BrockCommanding and Loud SergeantDGzg6RaUqxGRTHSBjfgF
NathanVirtual Radio Hostx70vRnQBMBu4FAYhjJbO
AnikaAnimated, Friendly and EngagingSm1seazb4gs7RSlUVw7c
VirajRich and SoftP1bg08DkjqiVEzOn76yG
TakshCalm, Serious and SmoothqDuRKMlYmrm8trt5QyBn
HoratiusEnergetic Character VoiceqXpMhyvQqiRxWQs4qSSB
LiamEnergetic, Social Media CreatorTX3LPaxmHKxFdv7VOQHJ
CallumHusky TricksterN2lVS1w4EtoT3dr4eOWO
LauraEnthusiast, Quirky AttitudeFGY2WhTYpPnrIDTdsKH5
BrittneySocial Media - Fun, Youthful & InformativekPzsL2i3teMYv0FxEYQ6
MarkNatural ConversationsUgBBYS2sOqTuMpoF3BR0
BellaProfessional, Bright, Warmhpp4J3VqNfWAUOO0d1Us
BrianDeep, Resonant and ComfortingnPczCjzI2devNBz1zQrb
HopeBubbly, Gossipy and GirlyuYXf8XasLslADfZ2MB4u
JeffClassy, Resonating and Stronggs0tAILXbY5DNrJrsM6F
JamahalYoung, Vibrant, and NaturalDTKMou8ccj1ZaWGBiotd
FinnYouthful, Eager and EnergeticvBKc2FfBKJfcZNyEt1n6
TomConversations & BooksDYkrAHD8iwork3YSUBbs
CassidyCrisp, Direct and Clear56AoDkrOh6qfVPDXZ7Pt
Addison 2.0Australian Audiobook & PodcasteR40ATw9ArzDf9h3v7t7
Jessica Anne BogartChatty and Friendlyg6xIsTj2HwM6VR4iXFCw
LucyFresh & CasuallcMyyd2HUfFzxdCaC4Ta
TiffanyNatural and Welcoming6aDn1KB0hjpdcocrUkmq
FelixWarm, Positive & Contemporary RPSq93GQT4X1lKDXsQcixO
Jessica Anne BogartEloquent VillainflHkNRp1BlvT73UL6gyz
LutzChuckling, Giggly and Cheerful9yzdeviXkFddZ4Oz8Mok
EmmaAdorable and UpbeatpPdl9cQBQq4p6mRkZy2Z
EdwardLoud, Confident and CockyzYcjlYFOd3taleS0gkk3
MarshalFriendly, Funny ProfessornzeAacJi50IvxcyDnMXa
John MorganGritty, Rugged CowboyruirxsoakN0GWmGNIo04
AriaSultry VillainTC0Zp7WVFzhA8zpTlRqV
Viking BjornEpic Medieval Raiderljo9gAlSqKOvF6D8sOsX
Pirate MarshalGruff, Theatrical PiratePPzYpIqttlTYA83688JI
Johnny KidSerious and Calm Narrator8JVbfL6oEdmuxKn5DK2C
HopePoetic, Romantic and CaptivatingiCrDUkL56s3C8sCRl7wb
Ana RitaSmooth, Expressive and BrightwJqPPQ618aTW29mptyoc
John DoeDeepEiNlNiXeDU1pqqOPrYMO
Burt ReynoldsDeep, Smooth and Clear4YYIPFl9wE5c4L2eu2Gb
HankDeep and Engaging Narrator6F5Zhi321D3Oq7v1oNT4
WyattWise Rustic CowboyYXpFCvM1S3JbWEJhoskW
PhilExplosive, Passionate AnnouncerLG95yZDEHg6fCZdQjLqj
Johnny DynamiteVintage Radio DJCeNX9CMwmxDxUF5Q2Inm
Rachel MPro British Radio PresenteraD6riP1btT197c6dACmy
Rex ThunderDeep N Toughmtrellq69YZsNwzUSyXh
EdLate Night AnnouncerdHd5gvgSOzSfduK4CvEg
JeanAlluring and Playful Femme FataleeVItLK1UvXctxuaRV2Oq
BritneyCalm and Calculative Villainesy0r39YPLQjOczyOib8
SvenEmotional and NiceTsns2HvNFKfGiNjllgqo
VirajSmooth and Gentle1U02n4nD6AdIZ9CjF053
NathanielEngaging, British and CalmAeRdCCKzvd23BpJoofzx
BenjaminDeep, Warm, CalmingLruHrtVF6PSyGItzMNHS
AllisonCalm, Soothing and Meditative1wGbFxmAM3Fgw63G1zZJ
Theodore HQSerene and GroundedhqfrgApggtO1785R4Fsn
LeonSoothing and GroundedMJ0RnG71ty4LH3dvNfSd

Response

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
}

Estimate

Preview the credit cost without creating a task. The cost scales with the total character count of dialogue[].text.

curl -X POST https://api.aivideoapi.ai/v1/estimate \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "elevenlabs-text-to-dialogue-v3",
    "input": {
      "dialogue": [
        { "text": "Hello there!", "voice": "EkK5I93UQWFDigLMpZcX" }
      ]
    }
  }'

Query Task

curl https://api.aivideoapi.ai/v1/tasks/{taskId} \
  -H "Authorization: Bearer sk-your-api-key"

Status transitions: pending -> processing -> completed or failed.

Completed

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "completed",
  "model": "elevenlabs-text-to-dialogue-v3",
  "created_at": 1775383908,
  "completed_at": 1775383956,
  "output": {
    "urls": [
      "https://file.aivideoapi.ai/audio/2026/06/23/dialogue.mp3"
    ],
    "metadata": {
      "model": "elevenlabs-text-to-dialogue-v3"
    }
  }
}

Audio URLs are valid for 24 hours.

Failed

{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "failed",
  "model": "elevenlabs-text-to-dialogue-v3",
  "created_at": 1775383908,
  "error": {
    "code": "upstream_error",
    "message": "Generation failed"
  }
}

When a task fails, pre-charged credits are automatically refunded.

Callback

Pass callback_url when creating the task. The system will automatically send a POST request to your URL when the task completes or fails. The format matches the query task response.


Error Codes

When a request fails, the API returns a JSON error response:

{
  "error": {
    "code": "insufficient_credits",
    "message": "Your credit balance is too low. Please top up.",
    "type": "billing_error"
  }
}

Error Reference

HTTP StatusCodeTypeDescription
400invalid_requestinvalid_request_errorMissing or invalid parameters
401invalid_api_keyauthentication_errorAPI key is invalid, disabled, or deleted
402insufficient_creditsbilling_errorCredit balance too low, please top up
403ip_not_allowedpermission_errorRequest IP not in the key's allowlist
404model_not_foundinvalid_request_errorModel does not exist or is inactive
404task_not_foundinvalid_request_errorTask ID does not exist
429rate_limit_exceededrate_limit_errorToo many requests, please slow down
429spend_limit_exceededbilling_errorKey spend limit reached (hourly/daily/total)
500internal_errorapi_errorUnexpected server error
503upstream_errorupstream_errorUpstream AI provider returned an error

Common Scenarios

invalid_request (400)

Returned when required fields are missing or invalid.

{
  "error": {
    "code": "invalid_request",
    "message": "'model' is required.",
    "type": "invalid_request_error"
  }
}

insufficient_credits (402)

Your balance is too low. Check your balance with GET /v1/credits and top up in Dashboard > Billing.

invalid_api_key (401)

Possible causes:

  • The key does not start with sk-
  • The key has been disabled or deleted
  • The user account has been banned

upstream_error (503)

The upstream AI provider returned an error. This may happen when:

  • The input contains sensitive or prohibited content
  • The provider is temporarily unavailable
  • The request parameters are not supported by the provider

Credits are automatically refunded when a task fails due to upstream errors.