Nodes/comfyui-indextts25-t8/IndexTTS 2.5 语音生成 · T8star-Aix
ComfyUI Node

IndexTTS 2.5 语音生成 · T8star-Aix

Zero-shot voice cloning with IndexTTS 2.5

By T8mars·Created 14 days ago·Updated a day ago· 25
IndexTTS 2.5 语音生成 · T8star-Aix
  • model
  • speaker_audio
  • emotion
  • sampling
  • 生成音频
  • 生成信息
text欢迎使用 IndexTTS 2.5,来自 B 站:T8star-Aix。
languageZH
duration_factor1.00
target_duration_modeoff
target_duration_seconds0.0
postprocess_presetoff
postprocess_strength1.00
seed0

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 Audio respectively. 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). off leaves 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 use duration_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 a natural run by padding silence or force-trimming to the exact sample. exact can 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.

CategoryT8star-Aix/Audio/IndexTTS 2.5

Inputs (12)

NameTypeDefaultDescription
modelT8_INDEXTTS25_MODEL
speaker_audioAUDIO
textSTRING欢迎使用 IndexTTS 2.5,来自 B 站:T8star-Aix。可直接使用 <文字|读音>:中文 <行|XING2>、英文 CMU 音素、日语假名;批量规则建议连接“发音控制”节点。
languageCOMBOZH5 options: ZH, EN, JA, ES, AR
duration_factorFLOAT1.000.5–2官方语速适配:0.5 更快、1.0 原速、2.0 更慢。
target_duration_modeCOMBOoffnative 为原生单次控制(推荐);natural 二次推理;pad/exact 为兼容后处理。
target_duration_secondsFLOAT0.00–3600
postprocess_presetCOMBOoff6 options: off, voice_clarity, clear_narration, deharsh, warm, normalize
postprocess_strengthFLOAT1.000–1
seedINT00–18446744073709550000
emotionoptT8_INDEXTTS25_EMOTION不连接时跟随音色参考。
samplingoptT8_INDEXTTS25_SAMPLING不连接时使用稳定默认值。

Outputs (2)

NameTypeDescription
生成音频AUDIO
生成信息STRING