Nodes/comfyui-indextts25-t8/IndexTTS 2.5 模型加载器 · T8star-Aix
ComfyUI Node

IndexTTS 2.5 模型加载器 · T8star-Aix

The one node that decides whether IndexTTS 2.5 runs at all

By T8mars·Created 14 days ago·Updated a day ago· 25
IndexTTS 2.5 模型加载器 · T8star-Aix
    • IndexTTS 2.5 模型
    • 模型信息
    model_name[未找到] 请将模型放入 models/TTS/IndexTTS-2.5
    deviceauto
    precisionauto
    acceleration_modeoff
    use_cuda_kernelfalse
    release_after_runfalse
    verify_hashesfalse
    custom_model_path

    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.5 placeholder, 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 on auto unless you have a reason; auto picks 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 to off and the model_info output 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.

    CategoryT8star-Aix/Audio/IndexTTS 2.5

    Inputs (8)

    NameTypeDefaultDescription
    model_nameCOMBO[未找到] 请将模型放入 models/TTS/IndexTTS-2.5标准位置:ComfyUI/models/TTS/IndexTTS-2.5。安装模型后需刷新/重启 ComfyUI。
    deviceCOMBOauto2 options: auto, cpu
    precisionCOMBOautoauto 会在支持的 GPU 上使用 bfloat16,否则使用 float32。
    acceleration_modeCOMBOoff默认关闭。缺少可选依赖会自动回退;DeepSpeed 不属于基础依赖,不会被自动安装或自动启用。
    use_cuda_kernelBOOLEANfalse仅为兼容旧工作流;新工作流请使用上方可选加速模式。
    release_after_runBOOLEANfalse适合显存紧张环境;会降低连续生成速度,不会清空其他 ComfyUI 模型。
    verify_hashesBOOLEANfalse首次校验约需读取 5GB 文件;平时仅做文件大小校验即可。
    custom_model_pathoptSTRING留空时使用上方模型列表;仅用于已有的完整 IndexTTS 2.5 目录。

    Outputs (2)

    NameTypeDescription
    IndexTTS 2.5 模型T8_INDEXTTS25_MODEL
    模型信息STRING