Nodes/KIE.ai Nodes Next/elevenlabs/text-to-speech-multilingual-v2
ComfyUI Node

elevenlabs/text-to-speech-multilingual-v2

The narration node with the knobs

By felipederosilva·Created about a month ago·Updated about 22 hours ago· 3
elevenlabs/text-to-speech-multilingual-v2
    • audio
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄textUnlock powerful API with Kie.ai! Affordable, scalable APl integration, free trial playground, and secure, reliable performance.►
    ◄voiceRachel►
    ◄stability0.50►
    ◄similarity_boost0.75►
    ◄style0.00►
    ◄speed1.00►
    ◄timestampsfalse►
    ◄previous_text►
    ◄next_text►
    ◄language_code►
    ◄timeout_seconds1200►
    ◄callback_url►

    Local TTS got genuinely good - Chatterbox and F5-TTS run under 8GB and VibeVoice handles long multi-speaker reads - and for a lot of narration work that's now enough. What hasn't changed is the failure mode: a mispronounced product name in a client video, or a language your local model half-speaks. ElevenLabs Multilingual v2 is the expensive, boring, reliable answer, and this node is that model with all of its tuning knobs exposed.

    It's the fullest node in the pack's Text to Speech folder. If you only want "type text, get voice," the Turbo 2.5 node next to it is simpler; this one is for when you're willing to trade a little latency for control over how the read lands.

    How it works

    You give it text and a voice; the node assembles a request for KIE's elevenlabs/text-to-speech-multilingual-v2 model, submits it as a hosted task, polls until it finishes, then downloads the audio and decodes it into ComfyUI's standard AUDIO object. That decode is why the output wires into Save Audio or any audio-driven video model without a converter in between. Nothing runs on your GPU here - you're paying per call, and the node reports what each one cost.

    The inputs that actually matter

    text is required, capped at 5000 characters. voice is required too, and it's a 68-entry dropdown of preset names and IDs - Rachel, Adam-style names plus raw IDs like N2lVS1w4EtoT3dr4eOWO (Callum, "Husky Trickster" in the tooltip's roster). The tooltip's roster is worth reading once; it's the only place the pack tells you what each voice sounds like. Same preview trick as the rest of the family: https://static.aiquickdraw.com/elevenlabs/voice/<voice_id>.mp3.

    Then the four dials, all floats with sensible defaults:

    • stability (0.5 default) - lower is more expressive and more variable, higher is more consistent and flatter. It's a 0–1 float here, unlike the three-position dropdown on the dialogue node.
    • similarity_boost (0.75) - how tightly it clings to the reference voice. Push it up for a known voice, down if it starts sounding strained.
    • style (0) - exaggeration. At 0 you get a clean read. Above that it starts performing, which is either exactly what you want for a character or exactly wrong for a corporate VO.
    • speed (0.7–1.2) - keep it near 1.0. Extreme values "may affect quality," per the author's tooltip, and 1.2 sounds like a podcast ad read.

    Two more worth knowing: previous_text and next_text are continuity hints. If you're splitting a long script into chunks, paste the neighbouring lines in and the model keeps the intonation from drifting between takes - that's the difference between a spliced narration and a seamless one. And timestamps (off by default) asks for word-level timing if you're syncing captions or lip movement.

    The trap: language_code

    It looks optional and harmless, and it is not on this model. The tooltip spells it out: language enforcement is supported by Turbo v2.5 and Flash v2.5, and for other models an error is returned if a language code is provided. Multilingual v2 handles languages natively and auto-detects; hand it de and you get a failed job, not German. Leave it empty here.

    Outputs

    audio is the one you wire - into Save Audio, into a lip-sync/video model, or into an audio-driven avatar graph. url gives you the hosted file if you want it elsewhere, all_urls_json carries every result URL, task_id and raw_json are for debugging a bad job, and credits_consumed / credits_left are floats so you can watch spend inside a long batch.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
    

    Or search "KIE.ai Nodes Next" in ComfyUI Manager. Restart, then set the key once under Settings → KIE.ai Nodes Next → Connection - it's validated before saving, kept out of your workflow JSON, and the frontend only ever sees a masked fingerprint. KIE_API_KEY still works for headless installs and takes priority.

    Dependencies are requests, Pillow, numpy, PyYAML. No checkpoints to download; the voice lives on KIE's side.

    Common issues

    • "No KIE API key configured" - you skipped the Settings step. The error message tells you where to go; it's not a node bug.
    • Jobs that hang - timeout_seconds defaults to 1200 and goes up to 7200. Long text on a busy provider can genuinely take minutes.
    • Output sounds robotic halfway through - that's usually a missing previous_text/next_text pair rather than a bad voice.
    • Anything about a language error on this node - see the language_code section. Empty is the correct value.
    CategoryKIE Next/Audio/ElevenLabs/Text to Speech

    Inputs (12)

    NameTypeDefaultDescription
    textSTRINGUnlock powerful API with Kie.ai! Affordable, scalable APl integration, free trial playground, and secure, reliable performance.The text to convert to speech (Max length: 5000 characters)
    voiceCOMBORachelThe voice to use for speech generation. Can be a preset voice name (e.g. Rachel, Adam) or a voice ID. You can preview a voice by opening https://static.aiquickdraw.com/elevenlabs/voice/<voice_id>.mp3 in your browser (replace <voice_id> with the actual voice ID). For example: https://static.aiquickdraw.com/elevenlabs/voice/N2lVS1w4EtoT3dr4eOWO.mp3 Available voices: EkK5I93UQWFDigLMpZcX - James - Husky, Engaging and Bold Z3R5wn05IrDiVCyEkUrK - Arabella - Mysterious and Emotive NNl6r8mD7vthiJatiJt1 - Bradford - Expressive and Articulate YOq2y2Up4RgXP2HyXjE5 - Xavier - Dominating, Metallic Announcer B8gJV1IhpuegLxdpXFOE - Kuon - Cheerful, Clear and Steady 2zRM7PkgwBPiau2jvVXc - Monika Sogam - Deep and Natural 1SM7GgM6IMuvQlz2BwM3 - Mark - Casual, Relaxed and Light 5l5f8iK3YPeGga21rQIX - Adeline - Feminine and Conversational scOwDtmlUjD3prqpp97I - Sam - Support Agent NOpBlnGInO9m6vDvFkFC - Spuds Oxley - Wise and Approachable BZgkqPqms7Kj9ulSkVzn - Eve - Authentic, Energetic and Happy wo6udizrrtpIxWGp2qJk - Northern Terry gU0LNdkMOQCOrPrwtbee - British Football Announcer DGzg6RaUqxGRTHSBjfgF - Brock - Commanding and Loud Sergeant x70vRnQBMBu4FAYhjJbO - Nathan - Virtual Radio Host Sm1seazb4gs7RSlUVw7c - Anika - Animated, Friendly and Engaging P1bg08DkjqiVEzOn76yG - Viraj - Rich and Soft qDuRKMlYmrm8trt5QyBn - Taksh - Calm, Serious and Smooth qXpMhyvQqiRxWQs4qSSB - Horatius - Energetic Character Voice TX3LPaxmHKxFdv7VOQHJ - Liam - Energetic, Social Media Creator N2lVS1w4EtoT3dr4eOWO - Callum - Husky Trickster FGY2WhTYpPnrIDTdsKH5 - Laura - Enthusiast, Quirky Attitude kPzsL2i3teMYv0FxEYQ6 - Brittney - Social Media Voice - Fun, Youthful & Informative UgBBYS2sOqTuMpoF3BR0 - Mark - Natural Conversations hpp4J3VqNfWAUOO0d1Us - Bella - Professional, Bright, Warm nPczCjzI2devNBz1zQrb - Brian - Deep, Resonant and Comforting uYXf8XasLslADfZ2MB4u - Hope - Bubbly, Gossipy and Girly gs0tAILXbY5DNrJrsM6F - Jeff - Classy, Resonating and Strong DTKMou8ccj1ZaWGBiotd - Jamahal - Young, Vibrant, and Natural vBKc2FfBKJfcZNyEt1n6 - Finn - Youthful, Eager and Energetic DYkrAHD8iwork3YSUBbs - Tom - Conversations & Books 56AoDkrOh6qfVPDXZ7Pt - Cassidy - Crisp, Direct and Clear eR40ATw9ArzDf9h3v7t7 - Addison 2.0 - Australian Audiobook & Podcast g6xIsTj2HwM6VR4iXFCw - Jessica Anne Bogart - Chatty and Friendly lcMyyd2HUfFzxdCaC4Ta - Lucy - Fresh & Casual 6aDn1KB0hjpdcocrUkmq - Tiffany - Natural and Welcoming Sq93GQT4X1lKDXsQcixO - Felix - Warm, Positive & Contemporary RP flHkNRp1BlvT73UL6gyz - Jessica Anne Bogart - Eloquent Villain 9yzdeviXkFddZ4Oz8Mok - Lutz - Chuckling, Giggly and Cheerful pPdl9cQBQq4p6mRkZy2Z - Emma - Adorable and Upbeat zYcjlYFOd3taleS0gkk3 - Edward - Loud, Confident and Cocky nzeAacJi50IvxcyDnMXa - Marshal - Friendly, Funny Professor ruirxsoakN0GWmGNIo04 - John Morgan - Gritty, Rugged Cowboy TC0Zp7WVFzhA8zpTlRqV - Aria - Sultry Villain ljo9gAlSqKOvF6D8sOsX - Viking Bjorn - Epic Medieval Raider PPzYpIqttlTYA83688JI - Pirate Marshal 8JVbfL6oEdmuxKn5DK2C - Johnny Kid - Serious and Calm Narrator iCrDUkL56s3C8sCRl7wb - Hope - Poetic, Romantic and Captivating wJqPPQ618aTW29mptyoc - Ana Rita - Smooth, Expressive and Bright EiNlNiXeDU1pqqOPrYMO - John Doe - Deep 4YYIPFl9wE5c4L2eu2Gb - Burt Reynolds™ - Deep, Smooth and Clear 6F5Zhi321D3Oq7v1oNT4 - Hank - Deep and Engaging Narrator YXpFCvM1S3JbWEJhoskW - Wyatt - Wise Rustic Cowboy LG95yZDEHg6fCZdQjLqj - Phil - Explosive, Passionate Announcer CeNX9CMwmxDxUF5Q2Inm - Johnny Dynamite - Vintage Radio DJ aD6riP1btT197c6dACmy - Rachel M - Pro British Radio Presenter mtrellq69YZsNwzUSyXh - Rex Thunder - Deep N Tough dHd5gvgSOzSfduK4CvEg - Ed - Late Night Announcer eVItLK1UvXctxuaRV2Oq - Jean - Alluring and Playful Femme Fatale esy0r39YPLQjOczyOib8 - Britney - Calm and Calculative Villain Tsns2HvNFKfGiNjllgqo - Sven - Emotional and Nice 1U02n4nD6AdIZ9CjF053 - Viraj - Smooth and Gentle AeRdCCKzvd23BpJoofzx - Nathaniel - Engaging, British and Calm LruHrtVF6PSyGItzMNHS - Benjamin - Deep, Warm, Calming 1wGbFxmAM3Fgw63G1zZJ - Allison - Calm, Soothing and Meditative hqfrgApggtO1785R4Fsn - Theodore HQ - Serene and Grounded MJ0RnG71ty4LH3dvNfSd - Leon - Soothing and Grounded
    stabilityoptFLOAT0.500–1Voice stability (0-1) (Min: 0, Max: 1, Step: 0.01) (step: 0.01)
    similarity_boostoptFLOAT0.750–1Similarity boost (0-1) (Min: 0, Max: 1, Step: 0.01) (step: 0.01)
    styleoptFLOAT0.000–1Style exaggeration (0-1) (Min: 0, Max: 1, Step: 0.01) (step: 0.01)
    speedoptFLOAT1.000.7–1.2Speech speed (0.7-1.2). Values below 1.0 slow down the speech, above 1.0 speed it up. Extreme values may affect quality. (Min: 0.7, Max: 1.2, Step: 0.01) (step: 0.01)
    timestampsoptBOOLEANfalseWhether to return timestamps for each word in the generated speech (Boolean value (true/false))
    previous_textoptSTRINGThe text that came before the text of the current request. Can be used to improve the speech's continuity when concatenating together multiple generations or to influence the speech's continuity in the current generation. (Max length: 5000 characters)
    next_textoptSTRINGThe text that comes after the text of the current request. Can be used to improve the speech's continuity when concatenating together multiple generations or to influence the speech's continuity in the current generation. (Max length: 5000 characters)
    language_codeoptSTRINGLanguage code (ISO 639-1) used to enforce a language for the model. Currently only Turbo v2.5 and Flash v2.5 support language enforcement. For other models, an error will be returned if language code is provided. (Max length: 500 characters)
    timeout_secondsoptINT120030–7200—
    callback_urloptSTRINGOptional KIE callback URL. Leave empty for normal ComfyUI use.

    Outputs (7)

    NameTypeDescription
    audioAUDIO—
    urlSTRING—
    all_urls_jsonSTRING—
    task_idSTRING—
    raw_jsonSTRING—
    credits_consumedFLOAT—
    credits_leftFLOAT—