Nodes/IndexTTS-2 Nodes/IndexTTS2 Model Loader
ComfyUI Node

IndexTTS2 Model Loader

Every IndexTTS-2 workflow starts here — and this is where the pain lives

By kana112233·Created 8 months ago·Updated 8 months ago· 3
IndexTTS2 Model Loader
    • model
    model_dirIndexTTS-2
    deviceauto
    use_fp16false
    use_cuda_kernelfalse
    use_deepspeedfalse

    This is the gateway for the whole kaola IndexTTS-2 pack, and it's the node that separates "I installed it" from "it actually works." Every other node in the pack takes an INDEXTTS2_MODEL from this loader, so get this one behaving and the rest are just LoadAudio in, SaveAudio out.

    What you're actually loading is IndexTTS-2, the zero-shot text-to-speech model from Bilibili's IndexTeam - the emotionally expressive corner of local TTS that most people place somewhere between F5-TTS and Chatterbox, with the party trick that it can control emotion independently of the cloned voice. Unlike an image checkpoint, this isn't a single file you drop in. It's a whole directory of weights plus two extra models that get pulled from Hugging Face the first time you load, which is exactly where beginners get burned.

    What the loader actually does

    The node takes model_dir (default IndexTTS-2) and resolves it relative to your ComfyUI/models/ folder, so IndexTTS-2 means ComfyUI/models/IndexTTS-2/. It then checks that config.yaml exists inside - if it doesn't, you get a FileNotFoundError with the download command printed right in the console. The loader caches the loaded model per configuration, so re-running your workflow after the first load is fast instead of re-initializing a multi-gigabyte model every time.

    The four toggles are the interesting part:

    • device - auto picks cuda, then mps, then cpu in that order. Fine as a default; pick explicitly if ComfyUI is guessing wrong.
    • use_fp16 - the README calls this "highly recommended" and I agree: it's most of the VRAM savings with quality loss you mostly won't hear. The flip side: one community report found FP16 output slightly quieter and thinner than the Gradio reference, so if something sounds off, flip this off before chasing anything else.
    • use_cuda_kernel - enables a fused CUDA kernel for the BigVGAN vocoder. Only works on CUDA; on any other device the node silently disables it with a warning.
    • use_deepspeed - the "I'm on a 5090 and want the whole stack" option. Off by default and genuinely unnecessary for most people; inference is already fast without it.

    Installing it for real

    ComfyUI Manager search for "IndexTTS-2" and install, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kana112233/ComfyUI-kaola-IndexTTS2
    cd ComfyUI-kaola-IndexTTS2
    pip install -r requirements.txt
    

    Then restart ComfyUI and download the model:

    hf download IndexTeam/IndexTTS-2 --local-dir=ComfyUI/models/IndexTTS-2
    

    This is a heavy pack - requirements.txt is a kitchen-sink list (keras, tensorboard, opencv, modelscope, half the Hugging Face stack) and it installs into the same Python environment as everything else, so this is the "audio was never designed into ComfyUI" tax the ecosystem docs warn about. If you already have a clean ComfyUI, expect this to take a while and occasionally stomp on a transformer version.

    The gotcha nobody warns you about

    Even after the model is downloaded, the first load still phones home to Hugging Face for facebook/w2v-bert-2.0 (the speech feature extractor) and the amphion/MaskGCT semantic codec. No internet, no load - unless you set W2V_BERT_PATH to a local copy of w2v-bert-2.0 before launching ComfyUI, which the pack's README covers in its offline fork section. Also note the README's "install the core library separately" warning is stale - this pack vendors its own copy of the IndexTTS-2 core as kaola_indextts/, so you don't need a separate index-tts pip install. The README rotted; the code is the source of truth.

    Categoryaudio/IndexTTS2

    Inputs (5)

    NameTypeDefaultDescription
    model_dirSTRINGIndexTTS-2
    deviceCOMBOauto4 options: auto, cuda, mps, cpu
    use_fp16BOOLEANfalse
    use_cuda_kernelBOOLEANfalse
    use_deepspeedBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    modelINDEXTTS2_MODEL