whatmodel.sh / tts / IndexTTS-2
IndexTTS-2
↗ share
+ contribute
IndexTTS-2 is an open-weights text-to-speech model from IndexTeam (bilibili), released September 2025. Licence: bilibili-model-use-license.
Catalogue identity notes
IndexTeam/IndexTTS-2 (RW-Voice-EQ ran it via Replicate lucataco/indextts-2; Boson column 'IndexTTS-2').
Model information sources
Score within the Vapi Humanness · Bradley–Terry rating, 2026-09-25 snapshot comparison set only.
$ how it compares
The text-to-speech models ranked either side of IndexTTS-2, out of 148 with a score, then more from IndexTeam (bilibili).
| # | model | score | where | ||
|---|---|---|---|---|---|
| 30 | 64±4 | api $50.00/M chars | |||
| 31 | 63±3 | api $15.00/M chars | |||
| 32 | 63±1 | local | |||
| 33 | 63±2 | local | |||
| 34 | 63±2 | local | |||
| more from IndexTeam (bilibili) | |||||
| 39 | 62±3 | local | |||
see all text-to-speech models · find the ones that fit your machine
$ what it's good at
voice cloning▁·▁▁▁▁▁▁▇█▃▃ #17 of 37 · 46% of its score · 5 tests
Beats Gemini 3.1 Flash TTS Preview, Fun-CosyVoice3-0.5B-2512 here, though they rank higher overall. Trails Qwen3-TTS 12Hz 0.6B Base, F5-TTS v1 Base, IndexTTS (v1) here, though they rank lower overall.
| test | result | vs the others in its run | counts |
|---|---|---|---|
| Seed-TTS test-en · speaker similarity (WavLM-large SV) +2 | 70.4% ✎ | █·█·██·▄·▄·▄ beats 5/10 | 18% |
| Seed-TTS test-zh · speaker similarity (WavLM-large SV) +1 | 76.0% ✎ | ▃··▃█▅▅··▃·▃ beats 3/10 | 11% |
| Seed-TTS test-en · Whisper large-v3 WER +2 | 2.1% ✎ | ▃··▃▅··▅·█▃▅ beats 5/11 | 7.5% |
| Seed-TTS-Eval · test-en/test-zh macro mean error | 1.6% ✎ | ▄··▄▄····█▄▄ beats 2/6 | 5.1% |
| Seed-TTS test-zh · Paraformer CER +1 | 1.0% ✎ | ▂··▄··▂▂█·▄▂ beats 6/11 | 3.7% |
other tests17 not in a task · 53% of its score
| test | result | vs the others in its run | counts |
|---|---|---|---|
| CV3-Eval hard-en · WER | 8.6% ✎ | █··██·██████ beats 4/8 | 10% |
| CV3-Eval ZH (zero-shot Chinese) · CER | 3.6% ✎ | █▄···█▄·█··▄ beats 3/8 | 7.9% |
| CV3-Eval hard-zh · CER | 8.7% ✎ | ▃▃·▃··▃▃█··▃ beats 4/8 | 6.4% |
| CV3-Eval hard-en · speaker similarity (ERes2Net SV) | 74.0% ✎ | ▄█▄·▄··▄··▄█ beats 7/8 | 6.0% |
| VoxCPM listening test · Chinese speaker-similarity MOS (S-MOS) | 4.05 / 5 ✎ | █·······██·█ beats 2/3 | 4.3% |
| VoxCPM listening test · English speaker-similarity MOS (S-MOS) | 4.16 / 5 ✎ | ██········██ beats 2/3 | 4.1% |
| VoxCPM listening test · English naturalness MOS (N-MOS) | 4.03 / 5 ✎ | █······█··██ beats 1/3 | 3.9% |
| VoxCPM listening test · Chinese naturalness MOS (N-MOS) | 4.25 / 5 ✎ | ██·······█·█ beats 3/3 | 3.4% |
9 more tests
| test | result | vs the others in its run | counts |
|---|---|---|---|
| CV3-Eval EN (zero-shot English) · WER | 4.3% ✎ | ▃·······▃▅█▅ beats 7/8 | 2.6% |
| SAP voice reconstruction · human BWS reconstruction preference | 1167.3 ✎ | █▄█····▄··▄▄ beats 7/7 | 1.8% |
| MiniMax multilingual test set · 23-language mean error | 112.9% ✎ | ▃·▃·▃·····▃█ beats 0/6 | 1.1% |
| CV3-Eval multilingual voice clone · 9-language mean error | 129.3% ✎ | ▃·····▃···▅█ beats 0/6 | 0.8% |
| RW-Voice-EQ TTS · Long-Form Stability (human) | 3.52 / 5 ✎ | █······█·███ beats 2/4 | 0.4% |
| CodecMOS-Accent VCTK voice clone · human naturalness MOS (S-NAT) | 3.98 / 5 ✎ | █··▄▄██▄·▄▄▄ beats 7/11 | 0.3% |
| CodecMOS-Accent VCTK voice clone · human speaker-similarity MOS (S-SPK-SIM) | 4.53 / 5 ✎ | ▄▄█·▄▄▄▄▄·▄█ beats 10/11 | 0.3% |
| SAP voice reconstruction · TTSDS dual-reference distributional score | 86.1% ✎ | ▄····▄▄▄▄▄·█ beats 6/7 | 0.3% |
| SAP voice reconstruction · WER of reconstructed speech (Whisper turbo) | 9.9% ✎ | ▄▄▄··█▄··▄·▄ beats 6/7 | 0.0% |
$ where to run it
Other ways to run it
- Run it as published · needs ~8.86 GB · from github.com/index-tts
git clone https://github.com/index-tts/index-tts.git && cd index-tts && pip install -U uv && uv sync && uv tool install "huggingface-hub" && hf download IndexTeam/IndexTTS-2 --local-dir=checkpoints_2 && uv run python -c "from indextts.utils.examples_downloader import ensure_examples_available; ensure_examples_available()" && PYTHONPATH="$PYTHONPATH:." uv run python -c "from indextts.infer_v2 import IndexTTS2; tts = IndexTTS2(cfg_path='checkpoints_2/config.yaml', model_dir='checkpoints_2', use_fp16=False, use_cuda_kernel=False, use_deepspeed=False); tts.infer(spk_audio_prompt='examples/voice_01.wav', text='Translate for me, what is a surprise!', output_path='gen.wav', verbose=True)"
Official weights and documentation: huggingface.co/IndexTeam ↗
$ how the score was worked out · UltraEval-Audio (OpenBMB) · T… 53%, VoxCPM: Tokenizer-Free TTS fo… 16%, OmniVoice: Towards Omnilingua… 11% and 5 more
Each result implies a score on its own, after adjusting for how hard its test is and who ran it. The score is their weighted average, with a small pull toward the middle for thinly tested models. Each test's weight is its counts column above; here it's added up by who ran the tests. How it works
$ improve this page
Use a short GitHub form or edit the data through a pull request. Every number needs a source; here's which ones we can use.
data updated · sources and licences · json