Nodes/Elevenlabs-ComfyUI/ElevenLabs Text-to-Speech
ComfyUI Node

ElevenLabs Text-to-Speech

The ElevenLabs TTS node is the reason to install this pack

By karthikg-09·Created 11 months ago·Updated 11 months ago· 1
ElevenLabs Text-to-Speech
    • AUDIO
    api_key
    textHello, how are you?
    voice
    model
    stability0.50
    similarity_boost0.75
    style0.00
    use_speaker_boosttrue
    input_text
    language_codeauto
    output_formatmp3_44100_128
    seed-1

    If you install this pack for one node, this is it. ElevenLabs TTS is the flagship: type a sentence, pick a voice, and out comes broadcast-grade speech that the open-source world has spent the last two years trying to catch up to. It's not free and it's not local - you're renting one of the best voices money can buy, straight inside your ComfyUI graph.

    What you're actually paying for

    ElevenLabs is the closed, commercial quality bar for TTS - the thing every open model gets compared against and mostly loses on reliability and languages. This node wraps their text-to-speech API: your text goes up to https://api.elevenlabs.io/v1/text-to-speech/{voice_id}, the audio comes back, and torchaudio decodes it into a normal ComfyUI AUDIO tensor. No model download, no VRAM, no checkpoint to manage. The tradeoff, which is the whole frame for this pack: your text leaves your machine, each run burns credits from your ElevenLabs account, and the key lives in the node's api_key field. Treat it as a utility, not a privacy tool.

    The inputs that actually matter

    • api_key - paste your key from elevenlabs.io → Profile Settings. The tooltip promises "voices auto-refresh when changed," and it's telling the truth: the node watches for a new key, dumps its cached voice list, and refetches.
    • text - the words. Mind the char limits per model: eleven_v3 stops at 3,000, eleven_multilingual_v2 at 10,000, and the turbo/flash models handle 40,000. Long copy gets split into chunks.
    • voice - a dropdown auto-populated from your account, in "Name (voice_id)" format. The node just parses the ID out of the string.
    • model - this is the real choice. eleven_v3 for emotional delivery in 70+ languages, eleven_turbo_v2_5 or eleven_flash_v2_5 when you want speed or long text. The deprecated v1 models are in the list "because they still work" - you almost never want them.
    • stability, similarity_boost, style, use_speaker_boost - the classic ElevenLabs dials. Lower stability = more expressive, higher = robotic consistency; style is the emotion knob that matters most on eleven_v3. The defaults (0.5 / 0.75 / 0) are a sane starting point.

    Optional niceties: language_code (default "auto" for detection), output_format (mp3_44100_128 default, or pcm_44100 for lossless), and seed if you want reproducible generations.

    Output: one AUDIO socket. Wire it into any audio preview/save node.

    Install

    ComfyUI Manager, search "Elevenlabs-ComfyUI", install, restart. Manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/karthikg-09/Elevenlabs-ComfyUI.git
    cd Elevenlabs-ComfyUI
    pip install -r requirements.txt
    

    The requirements are just requests plus torch/torchaudio - which ComfyUI already ships, so realistically you're adding only requests. Restart, then find the node under Add Node → ElevenLabs.

    Where people get burned

    The classic first-run trap: the voice dropdown is empty or stale. The voice list is cached for an hour, so after cloning a new voice or switching accounts, run the node once, then right-click → Reload Node to see the fresh list. If a run fails, the error is in the ComfyUI console, not the canvas - the pack logs request details, HTTP status, and the API's actual response there. Check that before you assume the node is broken. And if you're out of credits, it fails with a 4xx you'll only understand if you look at the log; the pack's User Info node is the built-in way to check your remaining quota.

    One honest take: for a hobby project where a mispronunciation is no big deal, the local models (Chatterbox, F5-TTS) now get you most of the way for free. You reach for this node when the voice has to be right and the language has to be right - that's its whole job, and it does it.

    CategoryElevenLabs

    Inputs (12)

    NameTypeDefaultDescription
    api_keySTRINGYour ElevenLabs API key - voices auto-refresh when changed
    textSTRINGHello, how are you?Text to convert to speech. Note: eleven_v3 has 3K char limit, other models 10K-40K
    voiceCOMBO21 options: Roger - Laid-Back, Casual, Resonant (CwhRBWXzGAHq8TQ4Fs17), Sarah - Mature, Reassuring, Confident (EXAVITQu4vr4xnSDxMaL), Laura - Enthusiast, Quirky Attitude (FGY2WhTYpPnrIDTdsKH5), Charlie - Deep, Confident, Energetic (IKne3meq5aSn9XLyUdCD), George - Warm, Captivating Storyteller (JBFqnCBsd6RMkjVDRZzb), Callum - Husky Trickster (N2lVS1w4EtoT3dr4eOWO), +15
    modelCOMBO12 options: eleven_v3, eleven_ttv_v3, eleven_multilingual_v2, eleven_turbo_v2_5, eleven_turbo_v2, eleven_flash_v2_5, +6
    stabilityFLOAT0.500–1
    similarity_boostFLOAT0.750–1
    styleFLOAT0.000–1Style exaggeration (0-1). For eleven_v3: controls emotional expressiveness and dramatic delivery
    use_speaker_boostBOOLEANtrue
    input_textoptSTRING
    language_codeoptCOMBOauto15 options: auto, en, es, fr, de, it, +9
    output_formatoptCOMBOmp3_44100_1286 options: mp3_44100_128, mp3_44100_192, pcm_16000, pcm_22050, pcm_24000, pcm_44100
    seedoptINT-1-1–4294967295

    Outputs (1)

    NameTypeDescription
    AUDIOAUDIO