Nodes/ComfyUI API Toolkit/ElevenLabs - Text to Speech
ComfyUI Node

ElevenLabs - Text to Speech

The ElevenLabs Text to Speech node, tuned like the API itself

By IxMxAMAR·Created 5 months ago·Updated 2 months ago· 1
ElevenLabs - Text to Speech
    • audio
    • raw_response_info
    api_key
    text
    voice_id
    modeleleven_v3
    stability0.50
    similarity_boost0.75
    style0.00
    speed1.00
    use_speaker_boosttrue
    languageAuto Detect
    apply_text_normalizationauto
    output_formatmp3_44100_128
    seed0
    previous_text
    next_text
    use_pvc_as_ivcfalse
    pronunciation_dictionary_locators

    This is the workhorse. Give it text and a voice, it calls ElevenLabs' text-to-speech endpoint and hands back real audio - an AUDIO output you can feed into a save node, a video soundtrack, or a lip-sync stage. ElevenLabs is still the community's standing bar for reliable, multilingual production TTS, and this node exposes nearly the whole API surface, so you get the good stuff without leaving ComfyUI.

    The inputs that actually matter when you start:

    • text - what to say. With v3 models you can drop in performance tags like [whispers], [laughs], [excited], and the model acts on them. That's the single biggest jump from older TTS: emotion is in the prompt, not just the settings.
    • voice_id - wire this from AIS_EL_VoiceSelector or AIS_EL_FetchVoices. Don't hand-type voice IDs.
    • model - defaults to eleven_v3, the current flagship. The list includes multilingual and the cheaper, faster eleven_flash_v2_5 / eleven_turbo_v2_5 tiers for drafts. If you're iterating on a script, the flash models save real money.
    • stability - lower means more expressive and emotional, higher means consistent and monotone. The tooltip gives the working ranges: under 0.5 creative, 0.5 natural, above 0.5 robust. Start at the default and only move it when a read sounds off.
    • similarity_boost - how hard the model sticks to the original voice. Crank it and you risk artifacts; the 0.75 default is a sane starting point.
    • style - exaggeration. The tooltip's advice is right: leave it at 0 for most work.

    Beyond that there's a long tail worth knowing exists: speed (0.5–2.0), language (33 options, Auto Detect by default), output_format (mp3, wav, and pcm variants - note the higher-bitrate mp3 and opus formats need Creator tier+), seed, and previous_text / next_text for keeping flow natural when you split a long script across calls. use_pvc_as_ivc handles a niche voice-clone wrinkle, and pronunciation_dictionary_locators takes JSON if you've built pronunciation dictionaries to fix proper nouns.

    Outputs: audio (AUDIO) and raw_response_info (STRING) with the request details for debugging.

    Installing it

    One of fifteen ElevenLabs nodes in ComfyUI API Toolkit. Manager: search "API Toolkit". Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
    cd ComfyUI-API-Toolkit
    pip install -r requirements.txt
    

    Restart. Needs requests and soundfile; missing deps disable only that service.

    Gotchas

    • ElevenLabs bills per character and your text leaves the machine. For private or high-volume narration, the open models (Chatterbox, F5-TTS, Kokoro) have genuinely closed the gap - this node is the right call when you need the reliability and language coverage, not when you need free.
    • The pack sets IS_CHANGED on every API node, so each queue hits the API fresh - which means each queue also burns characters. Iterating on a long script with flash models is the budget move.
    • Keep similarity_boost under ~0.85 on cloned voices; past that you trade expressiveness for warbly artifacts.
    CategoryAPI Toolkit/ElevenLabs/TTS

    Inputs (17)

    NameTypeDefaultDescription
    api_keySTRING
    textSTRINGText to convert to speech. Supports v3 audio tags like [whispers], [laughs], [excited].
    voice_idSTRINGVoice ID. Connect from Voice Selector or Fetch Voices node.
    modelCOMBOeleven_v38 options: eleven_v3, eleven_multilingual_v2, eleven_flash_v2_5, eleven_turbo_v2_5, eleven_flash_v2, eleven_turbo_v2, +2
    stabilityoptFLOAT0.500–1Voice stability. Lower = more expressive/emotional, Higher = more consistent/monotone. Creative(<0.5), Natural(0.5), Robust(>0.5).
    similarity_boostoptFLOAT0.750–1How closely AI adheres to the original voice. Too high may introduce artifacts.
    styleoptFLOAT0.000–1Style exaggeration. Increases expressiveness but reduces stability. Recommended: 0 for most use cases.
    speedoptFLOAT1.000.5–2Speech speed. 1.0 = normal, <1.0 = slower, >1.0 = faster.
    use_speaker_boostoptBOOLEANtrueBoost similarity to original speaker. Increases latency slightly.
    languageoptCOMBOAuto DetectLanguage for the model. Auto Detect lets the model decide.
    apply_text_normalizationoptCOMBOautoText normalization: 'auto' = model decides, 'on' = always normalize, 'off' = skip.
    output_formatoptCOMBOmp3_44100_128Audio output format. mp3_44100_192 and opus require Creator tier+.
    seedoptINT00–4294967295Seed for reproducibility. 0 = random. Determinism not guaranteed.
    previous_textoptSTRINGText that came BEFORE this segment. Helps maintain natural flow across chunks.
    next_textoptSTRINGText that comes AFTER this segment. Helps the model anticipate pacing.
    use_pvc_as_ivcoptBOOLEANfalseUse IVC version of a Professional Voice Clone.
    pronunciation_dictionary_locatorsoptSTRINGJSON array of {"pronunciation_dictionary_id": ..., "version_id": ...} objects.

    Outputs (2)

    NameTypeDescription
    audioAUDIO
    raw_response_infoSTRING