IndexTTS 2.5 模型加载器 · T8star-Aix
The one node that decides whether IndexTTS 2.5 runs at all
- IndexTTS 2.5 模型
- 模型信息
IndexTTS 2.5 is the ~5GB box of weights that everything else in this pack hangs off of, and this loader is the socket it plugs into. It's the first node in any IndexTTS 2.5 workflow, and it's also where most first installs die - not because the node is broken, but because the weights aren't where it's looking. Worth saying up front: there's no API key, no cloud call, no huggingface login required at runtime. Everything runs on your own GPU, and this node is just the ComfyUI-native way of saying "find this directory, verify it, and keep it warm."
What it actually does
The loader scans ComfyUI/models/TTS/IndexTTS-2.5 - the pack deliberately does not keep weights inside custom_nodes, so multiple workflows can share one copy instead of duplicating gigabytes. It also honors any TTS path you've declared in extra_model_paths.yaml. Against the pack's pinned manifest (manifests/model_2_5.json) it runs a file-size sanity check on every weight, and if you flip verify_hashes it'll read all ~5GB and compare full SHA-256 sums. That's a "once, after a weird download" button, not a daily thing.
Two details in the source are worth knowing because they bite people. First, the manifest is fixed to 2.5 - this loader will not silently fall back to IndexTTS 2.0 weights the way some older wrappers do. Second, weights load lazily at the first generation and then stay cached with a global thread lock, so concurrent queues on the same model get serialized instead of corrupting the upstream codec caches. Under 10GB of VRAM it automatically switches to a low-memory strategy (long text gets segmented, and the emotion model is freed before synthesis).
The inputs that matter
- model_name - the dropdown of detected models. If you see the
[未找到] 请将模型放入 models/TTS/IndexTTS-2.5placeholder, that's the "you haven't placed the weights yet" signal, not a bug. - device (
auto / CUDA / CPU) and precision (auto / bfloat16 / float32). Leave both onautounless you have a reason;autopicks bfloat16 on a supporting GPU and floats otherwise. - acceleration_mode - defaults to
off, which is the zero-dependency, most-compatible setting. The fancier modes (auto_safe,bigvgan_cuda,torch_compile,gpt_accel,deepspeed) are all optional and none get installed for you. If a mode can't run, it degrades tooffand themodel_infooutput tells you why - check that string before blaming the model. - release_after_run - unloads this model after each run. Great for tight VRAM, slower for repeated generations.
- custom_model_path - absolute path to a complete 2.5 directory if your setup lives outside the standard layout.
Outputs: IndexTTS 2.5 模型 (wire into Generate or the segmentation preview) and 模型信息, a status string that's genuinely worth opening when things behave oddly.
Getting the weights in
The README's flow, minus the guesswork:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-indextts25-t8.git comfyui-indextts25-T8
cd ComfyUI && python -m pip install -r custom_nodes/comfyui-indextts25-T8/requirements.txt
Then download the models - ModelScope is usually fastest from Asia, Hugging Face elsewhere:
python ComfyUI/custom_nodes/comfyui-indextts25-T8/scripts/download_models.py --source huggingface --accept-license
After the download finishes you have to restart ComfyUI for the dropdown to refresh. The requirements file deliberately excludes torch/torchaudio so it can't clobber your existing CUDA build - resist the urge to "fix" that by installing torch yourself.
Common issues
Model doesn't appear in the dropdown: weights in the wrong folder, or you haven't restarted since placing them. The pack's environment check script (scripts/check_environment.py) will tell you both whether the model dir is valid and what acceleration is actually available. And if you're on a bleeding-edge ComfyUI that shipped transformers 5.x - the pack needs >=4.52.1,<5, and transformers 5 broke its generation API, so either use ComfyUI's bundled 4.57.6 (fine, verified) or expect hard failures.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | [未找到] 请将模型放入 models/TTS/IndexTTS-2.5 | 标准位置:ComfyUI/models/TTS/IndexTTS-2.5。安装模型后需刷新/重启 ComfyUI。 |
| device | COMBO | auto | 2 options: auto, cpu |
| precision | COMBO | auto | auto 优先原生 bfloat16;旧显卡自动使用 float16,CPU 使用 float32。 |
| acceleration_mode | COMBO | off | 默认关闭。缺少可选依赖会自动回退;DeepSpeed 不属于基础依赖,不会被自动安装或自动启用。 |
| use_cuda_kernel | BOOLEAN | false | 仅为兼容旧工作流;新工作流请使用上方可选加速模式。 |
| release_after_run | BOOLEAN | false | 适合显存紧张环境;会降低连续生成速度,不会清空其他 ComfyUI 模型。 |
| recycle_after_runs | INT | 00–1000 | 长批量任务的显存稳定保护;达到次数后安全释放并在下一句自动重载。 |
| verify_hashes | BOOLEAN | false | 首次校验约需读取 7.7 GiB 文件;平时仅做文件大小校验即可。 |
| reference_device | COMBO | auto | auto:低于 10GB 显存时把 Wav2Vec/CAMPPlus 放到 CPU;same:与主模型相同;cpu:始终节省显存。 |
| reuse_spk_cond_for_emo | BOOLEAN | false | 未连接独立情感时复用音色条件,减少一次参考编码;可能轻微改变音色或情感。 |
| persistent_reference_cache | BOOLEAN | true | 按音频内容和模型版本缓存已提取的音色/情感张量;使用 safetensors,模型重载后仍可复用。 |
| download_missing | BOOLEAN | false | 默认关闭。启用后会从 t8star/IndexTTS-2.5-Comfy 下载主模型、bpe.model 与运行所需辅助模型,完整目录约 7.7 GiB。 |
| accept_model_license | BOOLEAN | false | 仅自动下载时需要勾选。许可证、免责声明与完整模型说明:https://huggingface.co/t8star/IndexTTS-2.5-Comfy |
| custom_model_pathopt | STRING | 留空时使用上方模型列表;仅用于已有的完整 IndexTTS 2.5 目录。 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IndexTTS 2.5 模型 | T8_INDEXTTS25_MODEL | — |
| 模型信息 | STRING | — |