IndexTTS-2 Loader
The Loader With a Small Mountain of Models Behind It
- indextts_model
IndexTTS-2 is Bilibili's open-source TTS model that made a name for itself in 2025 for zero-shot voice cloning with decoupled voice and emotion - you can crank the emotion without the speaker's timbre drifting. Several ComfyUI wrappers exist for it; this is the one that rides inside the AIIA pack. The loader itself is simple - two toggles and one optional path. The setup hidden behind it is not, and that's where people quit.
What the inputs do
use_fp16(default on) - half-precision inference. Keep it on unless you're fighting accuracy issues; it halves VRAM and speeds things up.use_cuda_kernel(default on) - the BigVGAN vocoder's custom CUDA kernel. NVIDIA-only, and genuinely faster. If you're on AMD or hit a build error, flip it off and fall back to the standard vocoder path.model_dir- override the model folder. Empty means it looks inComfyUI/models/indextts2/, which is where you want your files anyway.
Output is a single indextts_model object that feeds the pack's IndexTTS-2 TTS node.
The model situation (read this before installing)
IndexTTS-2 doesn't ship as one file. The main checkpoint (gpt.pth, s2mel.pth, config, plus the Qwen emotion LLM) needs four external sub-models to actually synthesize: MaskGCT (semantic codec), Campplus (speaker embedding), BigVGAN (vocoder), and W2V-BERT 2.0 (speech encoder). The README's full one-shot is roughly:
cd ComfyUI/models
HF_ENDPOINT=https://hf-mirror.com huggingface-cli download IndexTeam/IndexTTS-2 --local-dir indextts2
cd indextts2
huggingface-cli download amphion/MaskGCT semantic_codec/model.safetensors --local-dir .
huggingface-cli download funasr/campplus campplus_cn_common.bin --local-dir .
huggingface-cli download nvidia/bigvgan_v2_22khz_80band_256x --local-dir bigvgan_v2_22khz_80band_256x
huggingface-cli download facebook/w2v-bert-2.0 --local-dir w2v-bert-2.0 --exclude "*.pt"
(The HF_ENDPOINT=https://hf-mirror.com prefix is for users in China, where the mirror is dramatically faster - safe to drop elsewhere.) If a sub-model is missing, the node falls back to downloading it from HuggingFace on first run into your cache - which works but makes the first load slow and flaky. Get them all into indextts2/ yourself and loading is fully offline.
Two more things that surprise people:
- The pack ships compatibility patches so IndexTTS-2 works on modern
transformers(the official code was written against 4.52 and breaks on current versions). Keep the pack updated and stop worrying about pinning transformers. - The first load compiles WeTextProcessing's FST grammar for Chinese text normalization - that's a 3–5 minute one-time wait that looks like a hang. It's not broken, it's compiling.
Install
Standard pack install: havvk/ComfyUI_AIIA via ComfyUI Manager or git clone https://github.com/havvk/ComfyUI_AIIA.git into custom_nodes/, restart. Grab the models above, and if the loader still throws, check models/indextts2/ for a config.yaml - the node copies one from its bundled libs if it's missing, so don't panic if you didn't download one.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| use_fp16 | BOOLEAN | true | Use half-precision for lower VRAM and faster inference. |
| use_cuda_kernel | BOOLEAN | true | Use BigVGAN custom CUDA kernel for faster vocoder inference (NVIDIA GPU only). |
| model_diropt | STRING | Override model directory. Leave empty to use ComfyUI/models/indextts2/. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| indextts_model | INDEXTTS_MODEL | — |