IndexTTS 2.5 语音生成 · T8star-Aix
Zero-shot voice cloning with IndexTTS 2.5
- model
- speaker_audio
- emotion
- sampling
- 生成音频
- 生成信息
This is the node the whole pack exists for. You hand it a model, a short reference clip of a voice, and some text, and it gives you back a standard ComfyUI AUDIO of that voice speaking your words - in Chinese, English, Japanese, Spanish, or Arabic. No training, no fine-tuning, no API. IndexTTS 2.5 is the current flagship of the open-source Chinese TTS scene, and this node is the cleanest way I've found to run it inside ComfyUI without fighting a gradio app.
How it works
Under the hood it's the modern TTS stack: a GPT-style model predicts audio codec tokens conditioned on your text and reference clip, a CFM diffusion model turns those into a spectrogram, and a BigVGAN vocoder renders the waveform. The pack pins the official 2.5 core and model commits, so you're not getting a fork that drifted. Output is always 22050 Hz, float32, mono [1,1,T] standard ComfyUI AUDIO - it plugs straight into Save Audio, audio merging, or a video node.
Reference audio wants to be 3–10 seconds of clean, single-speaker, no-background-music material. Anything over 15 seconds gets truncated with a warning, and the reference is cached by content hash so re-runs don't re-encode it.
The inputs that matter
- model and speaker_audio - from the model loader and
Load Audiorespectively. Nothing happens without both. - text - you can write the official
<文字|读音>annotations right in here for the odd polyphonic word (银行|YIN2 HANG2), but for a whole dictionary use the separate pronunciation node and chain its text output in. - language -
ZH / EN / JA / ES / AR. The reference voice stays yours across languages; quality varies per language, and the README's auto-segmentation token limits differ per language for a reason. - duration_factor - the official speed dial, 0.5 (faster) to 2.0 (slower), 1.0 native. It's a real model-internal length adjustment, not a post-stretch.
- seed - the reproducibility lever. Fix it whenever you're A/B testing anything else.
- postprocess_preset / postprocess_strength - optional built-in voice cleanup (
voice_clarity,clear_narration,deharsh,warm,normalize).offleaves the waveform untouched.
The optional emotion and sampling inputs let you wire in the emotion-control and sampling nodes; leave them unconnected and you get stable defaults and whatever emotion the reference carries.
Target duration, briefly
target_duration_mode is where beginners get lost, and the five options are genuinely different:
off- just useduration_factor.native- the recommended one: allocates your total seconds into the length regulator and synthesizes once, pauses included.natural- synthesizes, measures, then re-runs with a fitted 0.5–2.0 factor.pad/exact- post-process anaturalrun by padding silence or force-trimming to the exact sample.exactcan cut off tail consonants, so it's for hard subtitle slots only.
Installation and gotchas
Same pack install as everywhere else in this family: ComfyUI Manager (search IndexTTS 2.5 · T8star-Aix or the node id indextts25-t8), or clone the repo and pip install -r requirements.txt using ComfyUI's own Python. The ~5GB of weights go in ComfyUI/models/TTS/IndexTTS-2.5, downloaded via the pack's scripts/download_models.py - and you must restart ComfyUI afterward.
Where people get burned: transformers must stay <5 (the pack is verified against 4.52.1 and 4.57.6 - ComfyUI's bundled version is fine). Expect a first run to take a while: lazy weight load plus any torch_compile / BigVGAN kernel compile you've enabled. And remember TTS here is the cheap part of a pipeline - the expensive compute is the video that voice eventually drives.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | T8_INDEXTTS25_MODEL | — | |
| speaker_audio | AUDIO | — | |
| text | STRING | 欢迎使用 IndexTTS 2.5,来自 B 站:T8star-Aix。 | 可直接使用 <文字|读音>:中文 <行|XING2>、英文 CMU 音素、日语假名;批量规则建议连接“发音控制”节点。 |
| language | COMBO | ZH | 5 options: ZH, EN, JA, ES, AR |
| duration_factor | FLOAT | 1.000.5–2 | 官方语速适配:0.5 更快、1.0 原速、2.0 更慢。 |
| target_duration_mode | COMBO | off | native 为原生单次控制(推荐);natural 二次推理;pad/exact 为兼容后处理。 |
| target_duration_seconds | FLOAT | 0.00–3600 | — |
| postprocess_preset | COMBO | off | 6 options: off, voice_clarity, clear_narration, deharsh, warm, normalize |
| postprocess_strength | FLOAT | 1.000–1 | — |
| seed | INT | 00–18446744073709550000 | — |
| emotionopt | T8_INDEXTTS25_EMOTION | 不连接时跟随音色参考。 | |
| samplingopt | T8_INDEXTTS25_SAMPLING | 不连接时使用稳定默认值。 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 生成音频 | AUDIO | — |
| 生成信息 | STRING | — |