Nodes/KIE.ai Nodes Next/elevenlabs/text-to-speech-turbo-2-5
ComfyUI Node

elevenlabs/text-to-speech-turbo-2-5

The cheap TTS node you'll leave in the graph

By felipederosilva·Created about a month ago·Updated about 22 hours ago· 3
elevenlabs/text-to-speech-turbo-2-5
    • 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►

    If you're going to keep a paid text-to-speech node wired into a workflow and hit it ten times while you iterate on a line of dialogue, it should be the cheap fast one. That's Turbo 2.5 - same family as the Multilingual v2 node in this pack, same tuning knobs, but built for latency rather than the last few percent of delivery quality. For placeholder VO, temp tracks, and the "does this line even work" pass, it's the one I'd reach for first.

    The honest framing, since this pack sits in the middle of an argument the local TTS scene is still having: Chatterbox and F5-TTS are close enough that plenty of people stopped paying for voice work entirely, and the KB's audio doc says exactly that - what changed is cloning locally, not the reliability bar. ElevenLabs is still the reliable one. Turbo is the affordable way to use it.

    How it works

    The node takes your text, asks KIE to run elevenlabs/text-to-speech-turbo-2-5, polls the job until it's done (the timeout_seconds budget, 1200 by default), then downloads the returned audio and decodes it into ComfyUI's standard AUDIO dict. Your GPU does nothing; the audio is decoded with torchaudio and handed back as a normal Comfy audio object, so it wires into Save Audio, a preview node, or straight into an audio-driven video model.

    Because it's a hosted call, the two things that matter are the text you send and what you're paying per attempt. The node shows credits spent and remaining after each run, and reports both as float outputs.

    Inputs worth setting

    text is the only required input, capped at 5000 characters.

    voice is optional here, which is the notable difference from the Multilingual v2 node next door - leave it alone and you get Rachel, a preset name rather than an ID. The dropdown mounts 68 entries, a mix of friendly names (Rachel, Adam) and raw voice IDs with descriptions in the tooltip, and you can audition any of them in a browser with the pattern from the author's tooltip:

    https://static.aiquickdraw.com/elevenlabs/voice/<voice_id>.mp3
    

    Then the shared dials: stability (0.5), similarity_boost (0.75), style (0, i.e. no exaggeration), speed (1.0, keep it inside the 0.7–1.2 range - the tooltip warns that extremes cost you quality). timestamps is off by default; flip it on if you need word-level timing for captions. previous_text and next_text are continuity hints for when you're stitching a long script out of several runs - paste the adjacent lines and the intonation stops jumping between chunks.

    language_code is the one place this node is more capable than its bigger sibling, not less. Multilingual v2 errors out if you send a language code; Turbo v2.5 is one of the two models that supports language enforcement, per the tooltip. So if you need a German or Japanese read pinned to an exact language rather than auto-detected, this is the node in the family that does it - leave it empty otherwise.

    Outputs

    audio goes downstream. url is the hosted file, all_urls_json is every result URL the job returned, task_id and raw_json are for debugging, and credits_consumed / credits_left let a long batch stay honest about cost.

    Install

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

    ComfyUI Manager can do it too - search "KIE.ai Nodes Next". It's a light install: requests, Pillow, numpy, PyYAML in requirements.txt, no model files. Restart, then paste your KIE API key once under Settings → KIE.ai Nodes Next → Connection. The key is validated against KIE before it's saved, lives in Comfy's user config rather than your workflow, and KIE_API_KEY in the environment overrides it for server installs.

    Common issues

    • It fails before doing anything with a message about no API key configured - that's the Settings step, not the node.
    • The read is too flat or too theatrical - stability and style, in that order. Lower stability for performance, higher for consistency; style above 0 starts acting.
    • You want your own cloned voice - not available here. voice is a fixed 68-entry list; there's no free-text field for a voice ID from your own ElevenLabs account.
    • Node missing after an update - the pack builds its node list from KIE's live documentation catalog, so a model KIE retires can vanish from the menu until they publish it again.
    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)
    voiceoptCOMBORachelThe 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—