Nodes/ComfyUI/ElevenLabs Text to Dialogue
ComfyUI Node Runs on cloud

ElevenLabs Text to Dialogue

Write a script, cast voices, get a finished conversation

By Comfy-Org·Created 4 years ago·Updated a day ago· 130,663
ElevenLabs Text to Dialogue
    • AUDIO
    stability0.5
    apply_text_normalization
    model
    inputs
    language_code
    seed1
    output_format

    Talking to yourself has never been more productive. ElevenLabsTextToDialogue generates a multi-speaker conversation from text in a single node: each line of dialogue gets its own text and its own voice, and the node returns one combined audio track. It's the podcast-in-a-box node - you write a script, cast the voices, and out comes a finished back-and-forth without ever stitching clips together.

    Partner-node setup as always: the script goes to ElevenLabs' hosted model through Comfy's API proxy, billed per 1,000 characters from your Comfy account credits (Settings → Credits). Ships with ComfyUI core, nothing to install, no ElevenLabs key.

    The inputs that matter

    • inputs - a dynamic counter from 1 to 10 that decides how many dialogue entries the node has. This is the one to set first, because each entry spawns a pair of widgets:
      • text{i} - that speaker's line.
      • voice{i} - an ELEVENLABS_VOICE wire, from ElevenLabsVoiceSelector or ElevenLabsInstantVoiceClone. You don't pick a voice from a dropdown here; you wire it in.
    • stability - per-line delivery control, default 0.5. Lower = more emotional range, higher = steadier.
    • model - eleven_v3, the only option. No choice to make.
    • language_code - empty for auto-detect, or an ISO code.
    • apply_text_normalization, seed, output_format - the usual set-and-forget trio.

    Output and wiring

    One AUDIO output - the whole dialogue already assembled into a single track. Wire it into Preview Audio to hear the conversation, or Save Audio (Advanced) to keep it. Because it's one merged file, editing a single line means re-running the node, not trimming the output.

    Where people get burned

    • Pick the entry count before wiring voices. Bumping inputs from 2 to 3 adds widgets, but changing the count reshapes the node's inputs - if you've already wired voices into entries 1 and 2, the re-count can drop or reorder those connections. Set the count first, then fill it in.
    • Every entry needs both a text and a voice. The node validates each line before it calls the API; an empty text on any entry aborts the whole batch. It's all-or-nothing.
    • Character-based billing on a multi-speaker script adds up fast. A 10-line conversation is trivial; a full podcast episode is not. Test one exchange before you script the whole season.
    • Delivery overlap (two people talking over each other) isn't something this node does - each line is sequential. For overlapping speech, generate separately and mix.

    For a single-take conversation with distinct voices, it's genuinely one node and one paid call. Just count your entries first.

    Categorypartner/audio/ElevenLabs

    Inputs (7)

    NameTypeDefaultDescription
    stabilityFLOAT0.50–1Voice stability. Lower values give broader emotional range, higher values produce more consistent but potentially monotonous speech.
    apply_text_normalizationCOMBOText normalization mode. 'auto' lets the system decide, 'on' always applies normalization, 'off' skips it.
    modelCOMBOModel to use for dialogue generation.
    inputsCOMBONumber of dialogue entries.
    language_codeSTRINGISO-639-1 or ISO-639-3 language code (e.g., 'en', 'es', 'fra'). Leave empty for automatic detection.
    seedINT10–4294967295Seed for reproducibility.
    output_formatCOMBOAudio output format.

    Outputs (1)

    NameTypeDescription
    AUDIOAUDIO