Nodes/IndexTTS 2.5 · T8star-Aix/IndexTTS 2.5 已保存音色 · T8star-Aix
ComfyUI Node

IndexTTS 2.5 已保存音色 · T8star-Aix

Stop re-uploading the same reference clip forever

By T8mars·Created about a month ago·Updated 5 days ago· 52
IndexTTS 2.5 已保存音色 · T8star-Aix
    • 角色音色
    • 音色信息
    • 音色报告 JSON
    saved_voice
    role_name_override
    language_overridesaved
    refresh_token0

    Every voice-cloning workflow has the same annoying step: find that one 5-second reference clip, drop it in a Load Audio node, and re-upload it into every workflow that uses the voice. The 已保存音色 (Saved Voice) node kills that chore. It loads a .t8voice.zip voice bundle straight from disk, and the bundle carries everything about the voice - the reference audio, the role name, default language, emotion, tags, favorites, notes, even a quality report - so a voice becomes a file you pick from a dropdown instead of a clip you hunt down.

    The bundles are exported by the companion IndexTTS Desktop app, so this is the bridge between "manage voices in the desktop tool" and "use them in ComfyUI." The format is shared, portable, and schema-versioned; hand a friend a .t8voice.zip and they can use your exact voice without you mailing them a WAV and three screenshots of your settings.

    How it works

    Voice packs live in ComfyUI/models/TTS/IndexTTS-2.5/voices/. The node scans that folder and fills the saved_voice dropdown. Pick one, and it unpacks the bundle, validates it, and hands you a ready-to-wire T8_INDEXTTS25_VOICE - the same type the in-workflow 角色音色 (voice profile) node produces. From there it plugs into the role library and multi-role generation nodes exactly like a hand-built voice.

    One detail worth knowing: the scanner refuses bundles with unsafe paths and duplicate role names, so a malformed or malicious zip just fails cleanly instead of doing something weird.

    The inputs that matter

    • saved_voice - the dropdown of discovered bundles. This is the only thing you normally touch.
    • role_name_override - leave blank to use the name stored in the bundle; fill it to rename on the fly.
    • language_override - saved uses the bundle's language; you can force ZH / EN / JA / ES / AR if a script needs it.
    • refresh_token - bump this by 1 (or refresh your browser) after adding or replacing a bundle with the same filename, since the scanner caches.

    Outputs: the voice itself, a short voice_info string, and a full voice_report JSON with the bundle contents and quality data. Wire the voice into 角色音色 / 情感合并 (or Merge Voice Emotions) alongside your other characters.

    Installing

    Install the pack normally - ComfyUI Manager, search IndexTTS 2.5 · T8star-Aix, or clone https://github.com/T8mars/comfyui-indextts25-t8.git into custom_nodes/ - then restart. The bundle format itself comes from the Desktop app, which is a separate download; if someone just hands you a .t8voice.zip, you don't need the app, just drop it in the voices folder and refresh.

    Where people get burned

    The classic mistake is dropping the zip in the wrong place. It has to be directly inside models/TTS/IndexTTS-2.5/voices/ - not one level deeper, not in the model directory root. Same spirit as the model-folder rule this pack is fussy about: exactly one level, or the dropdown stays empty. If the node doesn't see a bundle you just added, refresh the browser first; only if it still hides should you reach for the refresh token. And remember this node is a loader, not a creator - to make new bundles you need the Desktop app's export. If you're living purely in ComfyUI and never touch the desktop tool, you can build voices with the in-workflow 角色音色 node instead and never need this one at all.

    CategoryT8star-Aix/Audio/IndexTTS 2.5

    Inputs (4)

    NameTypeDefaultDescription
    saved_voiceCOMBO新增音色包后请刷新浏览器,或修改下方刷新令牌。
    role_name_overrideSTRING
    language_overrideCOMBOsaved6 options: saved, ZH, EN, JA, ES, AR
    refresh_tokenINT00–2147483647

    Outputs (3)

    NameTypeDescription
    角色音色T8_INDEXTTS25_VOICE
    音色信息STRING
    音色报告 JSONSTRING