跳到主要内容
Model logo

ElevenLabs Dialogue API

    ElevenLabs Dialogue 属于 ElevenLabs 模型系列查看全部 ElevenLabs 模型

    输出

    您生成的audio将显示在此处

    更新于

    What is ElevenLabs Dialogue?

    ElevenLabs Dialogue is a multi-speaker audio endpoint that takes an array of {text, voice} turns and returns one combined audio file for the conversation. Up to 10 distinct ElevenLabs voices can appear in a single call, each turn picks any voice ID from your account (presets or clones), and the model handles the joins between turns so the result sounds like a real exchange rather than stitched TTS calls. The endpoint always uses the eleven_v3 model under the hood, so there is no model picker to manage. You control language via language_code (default en) and steadiness via stability (0 to 1). Inline emotion tags like [excitedly] or [whispered] at the start of a turn shape the delivery without any extra parameters.

    Key features of ElevenLabs Dialogue

    Five features cover what you'll set on a typical job.

    Up to 10 speakers in one call

    Each entry in the dialogue array names a voice ID and a piece of text. Mix presets, clones, and custom voices freely in the same conversation. The model returns one combined audio file instead of separate per-turn renders.

    Native turn handoff

    Pacing, breath, and room tone carry across speaker changes. That is the difference from stitching independent TTS calls, where each turn comes back with its own ambient signature and the joins read as cuts.

    Inline emotion tags

    Square-bracket tags at the start of a turn, such as [excitedly], [warmly], [whispered], or [shouted], steer the delivery for that line. No extra fields, no parallel script for direction notes.

    V3 quality without a model picker

    The endpoint always uses eleven_v3, the most expressive ElevenLabs model. No model_id to choose, no fallback path, no per-turn quality drift across a long conversation.

    Per-conversation language and stability

    language_code defaults to en and accepts ISO codes for other languages. stability (0 to 1) controls voice steadiness across turns, so you can dial drama up for fiction or down for narration in the same payload.

    What ElevenLabs Dialogue is best for

    • Scripted podcasts

      Alternating hosts with distinct timbres in one API call. Inline emotion tags carry tone shifts without separate direction notes.

    • Audiobook scenes

      Multiple cast voices for dialogue passages while the narrator stays on a different ElevenLabs voice. Mix in clones for branded narrator voices.

    • Training simulators

      Role-play lines with fixed casting per character. Up to 10 voices fits a typical scenario script (customer, agent, supervisor, observer).

    • Game NPC barks and short scenes

      Short turn-based dialogue between NPCs in a single render. Pair with a fixed stability to keep the cast tonally consistent across patches.

    • Product walkthroughs

      Conversational two-host explainer instead of single-narrator voiceover. Reads as a podcast more than as a tutorial.

    • Language learning dialogue

      Per-conversation stability for clarity in listening exercises. Switch language_code per scene to deliver content in the target language.

    ElevenLabs text to speech or Dialogue: which endpoint do you need?

    Many people reach this page from an "elevenlabs text to speech" search, so here is the split. ElevenLabs TTS reads one text in one voice and lets you choose among four models and 18 output formats. Dialogue takes a script with several speakers and returns one file with the handoffs already timed, always on eleven_v3. Eleven v4 does both in one model at a higher rate. Rates are UnificAlly's per 1,000 characters.

    ElevenLabs Dialogue (this page)ElevenLabs TTSEleven v4
    Model IDelevenlabs/text-to-dialogueelevenlabs/text-to-speechelevenlabs/eleven-v4
    Rate$0.048/1000 characters$0.024/1000 characters (Flash v2.5) to $0.048/1000 characters (V3)$0.048 per 1,000 characters
    Speakers per callUp to 101Several
    Underlying modeleleven_v3, fixedFlash v2.5, Turbo v2.5, Multilingual v2 or V3v4
    Emotion tags[excitedly], [whispered] and similar at the start of a turnOn V3 onlyYes, stackable
    Output formatsMP318, including telephony codecsMP3, PCM, WAV, telephony
    Latency classExpressive, not real timeFlash v2.5 at about 75 ms first audioExpressive
    Seeded outputNoYesYes

    A real Dialogue output

    Generated on October 19, 2026 through the UnificAlly MCP: four turns, two premade voices (Jessica cgSgspJ2msm6clMCkdW9 and Liam TX3LPaxmHKxFdv7VOQHJ), stability 0.5, language_code en, 351 characters of script including the tags, billed at $0.048/1000 characters per 1,000 characters.

    The script, exactly as sent (each turn is one {text, voice} entry in the dialogue array):

    • Jessica, [curiously]: "So the build passed on the first try? That never happens."
    • Liam, [excitedly]: "First try. I rewrote the cache layer last night and every test went green this morning."
    • Jessica, [warmly]: "Okay, that is genuinely impressive. Want to walk me through the diff before we ship it?"
    • Liam, [whispered]: "Only if you promise not to find the bug I am pretty sure is still in there."

    The result is 21.6 seconds of audio in one MP3, four handoffs included. Rendering the same four lines as separate TTS calls would give you four files to align and four different room tones; here the pauses between speakers come from the model.

    ElevenLabs Dialogue use cases

    Generate a podcast intro by writing a 4-turn dialogue between two hosts and dropping [warmly] and [excitedly] tags on the lines that need them. Build a compliance training scenario with three speakers (employee, customer, manager) and re-render with different stability values to A/B test how steady the cast should sound. Add an in-game dialogue system that batches NPC exchanges into single Dialogue calls so room tone matches across the scene. Localize a conversational explainer by switching language_code and the per-turn voice IDs while keeping the script structure constant.

    ElevenLabs Dialogue API examples

    Call ElevenLabs Dialogue from any language by POSTing to /v1/tasks. Full parameter docs live at docs.unifically.com/models/audio/elevenlabs/text-to-dialogue.

    curl -X POST https://api.unifically.com/v1/tasks \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -d '{
        "model": "elevenlabs/text-to-dialogue",
        "input": {
          "stability": 0.5,
          "language_code": "en",
          "dialogue": [
            {
              "text": "[excitedly] Hey Jessica! Have you tried the new ElevenLabs V3?",
              "voice": "TX3LPaxmHKxFdv7VOQHJ"
            },
            {
              "text": "[curiously] Yeah, just got it! The emotion is so amazing.",
              "voice": "cgSgspJ2msm6clMCkdW9"
            }
          ]
        }
      }'
    

    Successful submission returns a task_id. Poll GET /v1/tasks/<task_id> or set a callback_url on the request to receive the finished audio URL.

    常见问题

    关于 ElevenLabs Dialogue 的常见问题

    ElevenLabs Dialogue is a multi-speaker audio endpoint that takes an array of {text, voice} turns and returns one combined audio file for the conversation. Each turn names an ElevenLabs voice ID, and the model handles the joins between them so the result sounds like a real chat instead of stitched-together TTS calls.

    Fill Speaker 1 and Speaker 2 at minimum. Optional speakers 3 to 10 appear when you enable their toggles, each with its own voice and text fields. The payload becomes the dialogue array on the API call.

    No. Dialogue always uses the eleven_v3 model under the hood, so there is no model_id to set. You control language via language_code (default en) and timbre via the stability field.

    Use Dialogue when conversational pacing and voice handoff matter. Stitching separate TTS renders gives flat turn boundaries and inconsistent room tone. Dialogue handles the joins natively, with audible breath and timing between speakers.

    Inline tags in square brackets at the start of a turn, such as [excitedly], [curiously], [warmly], [sadly], [angrily], [whispered], and [shouted]. Drop one in front of the text and the speaker delivers the line in that tone.

    Up to 10 distinct voices in one call. Each turn picks any voice ID from your ElevenLabs account, so cloned voices and presets mix freely in the same conversation.

    UnificAlly bills Dialogue per 1,000 characters of script at $0.048/1000 characters, tags included, with no subscription. The four-turn sample on this page is 351 characters, so a typical podcast intro or training scene costs a few cents; failed tasks are not billed.

    Yes. Dialogue takes the same voice IDs as the TTS endpoint, premade voices and your clones alike, from GET /v1/resources/elevenlabs/voices. The sample above uses two premade voices, Jessica and Liam, with nothing else configured.

    Not a free one, but you can try it free. Every new UnificAlly account starts with a $0.50 signup balance that works on Dialogue, TTS and every other model here from the first call, with no subscription afterwards and a balance that never expires.

    stability accepts a value from 0 to 1 (default 0.5). Lower values give more emotional range and variation. Higher values keep the voice steadier across turns. Use lower values for drama, higher for narration-style consistency.