Skip to main content
Model guide · checked October 2026

CosyVoice 2: Features, Demo, and CosyVoice 2 vs 3 Compared

CosyVoice 2 (cosyvoice2) is the second generation of the open-source CosyVoice text-to-speech model, released in December 2024 as CosyVoice2-0.5B. It put streaming and non-streaming synthesis into one model built on a pre-trained LLM. Here's what it does, how to run it, and how it compares with CosyVoice 3.

What is CosyVoice 2?

CosyVoice 2 is a zero-shot, streaming text-to-speech model. The paper describes it as a systematic upgrade of CosyVoice 1 aimed at low latency for voice chat and other interactive apps.

  • Built on a pre-trained LLM

    Its text-speech language model is the pre-trained Qwen2.5-0.5B LLM. CosyVoice 1's separate text encoder and the speaker embedding were removed from the language model.

    CosyVoice 2 paper (arXiv 2412.10117)

  • FSQ speech tokens at 25 Hz

    Finite scalar quantization replaces vector quantization in the speech tokenizer to use the codebook better. The tokenizer produces 25 speech tokens per second.

    CosyVoice 2 paper (arXiv 2412.10117)

  • Streaming and non-streaming in one model

    A chunk-aware causal flow matching model serves both modes. The paper reports virtually lossless quality in streaming mode compared with offline synthesis.

    CosyVoice 2 paper (arXiv 2412.10117)

  • Instructions and fine-grained control

    Trained with 1,500 hours of instructed data: natural-language instructions for emotion, speaking rate, role-play and dialect, plus tags such as [laughter], [breath] and <strong> for emphasis.

    CosyVoice 2 paper (arXiv 2412.10117)

  • Zero-shot and cross-lingual cloning

    Clones a voice from a reference clip. The repository's example.py shows zero-shot, cross-lingual, instruct and bi-streaming (text fed in as it is generated) calls for CosyVoice2-0.5B.

    QwenAudio/CosyVoice example.py

  • Open weights since December 2024

    CosyVoice2-0.5B was released in December 2024 under Apache-2.0. The README roadmap adds vLLM support (May 2025) and a TensorRT-LLM runtime with GRPO training support (August 2025).

    README roadmap

CosyVoice 2 demo

Hear CosyVoice 2 side by side with CosyVoice 3 on the same prompts in our audio demo, or on the official demo page. Our online tool runs newer, hosted CosyVoice 3-generation models.

Compare CosyVoice 2 and 3 samples →Try CosyVoice free →Official CosyVoice 2 demo page

Alibaba Cloud also hosts a cosyvoice-v2 model in its China (Beijing) region — prices are in our CosyVoice API guide.

CosyVoice 2 vs CosyVoice 3

How the open CosyVoice 2 release compares with CosyVoice 3 and its open release, Fun-CosyVoice 3.0. Each cell cites its source.

CosyVoice 2 vs CosyVoice 3
CompareCosyVoice 2CosyVoice 3 (Fun-CosyVoice 3.0)Sources
Open modelCosyVoice2-0.5B, December 2024Fun-CosyVoice3-0.5B-2512 (base and RL), December 2025README roadmap
Parameters0.5B0.5B open release; the paper scales up to 1.5B, which is not releasedQwenAudio/CosyVoice READMECosyVoice 3 paper (arXiv 2505.17589)
Training dataAbout 167,000 hours: 130,000 Chinese, 30,000 English, 4,600 Japanese, 2,200 Korean1,000,000 hours across 9 languages and 18 Chinese dialectsCosyVoice 2 paper (arXiv 2412.10117)CosyVoice 3 paper (arXiv 2505.17589)
LanguagesChinese, English, Japanese, Korean9 languages and 18+ Chinese dialects and accentsCosyVoice 2 paper (arXiv 2412.10117)Hugging Face: Fun-CosyVoice3-0.5B-2512
Speech tokenizerFSQ tokens from a speech recognition model, 25 per secondTrained on five supervised tasks: speech recognition, emotion, language ID, audio events and speaker analysisCosyVoice 2 paper (arXiv 2412.10117)CosyVoice 3 paper (arXiv 2505.17589)
InstructionsEmotion, speaking rate, role-play, dialect; [laughter], [breath], <strong>Language, dialect, emotion, speed, volume; Pinyin and CMU phoneme pronunciation fixesCosyVoice 2 paper (arXiv 2412.10117)QwenAudio/CosyVoice README
Post-trainingReinforcement-learning fine-tuning of the language modelA differentiable reward model for post-trainingCosyVoice 2 paper (arXiv 2412.10117)CosyVoice 3 paper (arXiv 2505.17589)
StreamingStreaming and non-streaming in one model, bi-streaming inputBi-streaming (text in, audio out), latency as low as 150 msCosyVoice 2 paper (arXiv 2412.10117)QwenAudio/CosyVoice README
Error rate — test-zh CER / test-en WER / test-hard CER (lower is better)1.45% / 2.57% / 6.83%1.21% / 2.24% / 6.71% (RL model: 0.81% / 1.68% / 5.44%)README evaluation table
Speaker similarity — test-zh / test-en / test-hard (higher is better)75.7% / 65.9% / 72.4%78.0% / 71.8% / 75.8% (RL model: 77.4% / 69.5% / 75.0%)README evaluation table

Benchmark numbers are from the evaluation table in the official README, which the CosyVoice team reports for its own models. The CosyVoice 3 paper describes its data growth as "from ten thousand hours to one million hours"; the CosyVoice 2 row uses the CosyVoice 2 paper's own training-data table.

What else changed in the third generation, and how 3.0 differs from the hosted 3.5 models, is in our CosyVoice 3 guide.

When CosyVoice 2 still makes sense

For new projects the official README recommends Fun-CosyVoice3-0.5B for better performance. CosyVoice 2 is still a reasonable pick in a few cases:

  • Your pipeline already runs on it

    Prompts, saved speakers and fine-tunes built for CosyVoice2-0.5B keep working; switching models means re-testing them.

    QwenAudio/CosyVoice README

  • You need its serving stack

    The README documents vLLM support and a TensorRT-LLM runtime for CosyVoice 2 — it says TensorRT-LLM speeds up CosyVoice 2's LLM about 4× over the Hugging Face transformers implementation — plus GRPO training support.

    QwenAudio/CosyVoice README

  • You want it hosted

    Alibaba Cloud Model Studio lists a hosted cosyvoice-v2 model in its China (Beijing) region, so you can call it without running a GPU.

    Alibaba Cloud Model Studio: real-time TTS regions and models

Download and run CosyVoice 2

After installing the repository (Python 3.10 Conda environment), download the weights and run the official example. Both snippets are copied from the README and example.py.

Download CosyVoice2-0.5B (README)
# modelscope SDK model download
from modelscope import snapshot_download
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')

# for oversea users, huggingface SDK model download
from huggingface_hub import snapshot_download
snapshot_download('FunAudioLLM/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
Zero-shot and dialect instruction (example.py)
import sys
sys.path.append('third_party/Matcha-TTS')
from cosyvoice.cli.cosyvoice import AutoModel
import torchaudio

cosyvoice = AutoModel(model_dir='pretrained_models/CosyVoice2-0.5B')

# zero_shot usage
for i, j in enumerate(cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '希望你以后能够做的比我还好呦。', './asset/zero_shot_prompt.wav')):
    torchaudio.save('zero_shot_{}.wav'.format(i), j['tts_speech'], cosyvoice.sample_rate)

# instruct usage
for i, j in enumerate(cosyvoice.inference_instruct2('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '用四川话说这句话<|endofprompt|>', './asset/zero_shot_prompt.wav')):
    torchaudio.save('instruct_{}.wav'.format(i), j['tts_speech'], cosyvoice.sample_rate)

Weights:Hugging Face: CosyVoice2-0.5BModelScope: CosyVoice2-0.5B

Full install steps, including Windows and Docker notes, are in our CosyVoice install guide.

CosyVoice 2 FAQ

What is CosyVoice 2?

The second generation of the open-source CosyVoice text-to-speech model, released in December 2024 as CosyVoice2-0.5B. It is a streaming, zero-shot TTS model whose language model is the pre-trained Qwen2.5-0.5B LLM.

Is cosyvoice2 the same as CosyVoice 2?

Yes. cosyvoice2, CosyVoice 2.0 and CosyVoice2-0.5B all refer to the second generation; CosyVoice2-0.5B is the name of the released checkpoint.

CosyVoice 2 vs 3: which should I use?

For new work, CosyVoice 3. In the official README's evaluation table, Fun-CosyVoice3-0.5B-2512 has lower error rates and higher speaker similarity than CosyVoice2-0.5B on all three test sets, and the README recommends it. Stay on CosyVoice 2 if your pipeline or serving stack depends on it.

What languages does CosyVoice 2 support?

Chinese, English, Japanese and Korean, according to the CosyVoice 2 paper. The paper notes Japanese is weaker than Korean because Japanese text shares characters with Chinese, which can lead to Chinese pronunciations.

Is CosyVoice 2 open source?

Yes. The code and CosyVoice2-0.5B weights are published under Apache-2.0 on GitHub, Hugging Face and ModelScope. The README also carries a disclaimer that its content is for academic purposes, so check both before commercial use.

Can I use CosyVoice 2 through an API?

Yes. Alibaba Cloud Model Studio lists a hosted cosyvoice-v2 model in its China (Beijing) region; our CosyVoice API guide has its official price. CosyVoice.org itself has no public API.