Head to head · Text-to-speech · October 2026 research run
Ming-3.0-tts-0.5B vs Qwen3-TTS 12Hz 1.7B CustomVoice
Qwen3-TTS 12Hz 1.7B CustomVoice and Ming-3.0-tts-0.5B score within a point of each other on agent readiness, 58 (C) and 57.8 (C). Ming-3.0-tts-0.5B leads on risk and documentation and upkeep. Both do text-to-speech.
Best text-to-speech APIs for AI agents · All 76 tts comparisons
Best voice cloning and custom voice APIs for AI agents · All 76 cloning comparisons
Which one, for what
Best for Offline Chinese and English narration, cloning and voice design on a small CUDA GPU, under a plain licence
Ahead on
- Risk, 55 against 45
- Documentation and upkeep, 44 against 36
Watch for
No standard runtime runs it, only inclusionAI's GitHub scripts (mlx-audio and vLLM-Omni aside)
Qwen3-TTS 12Hz 1.7B CustomVoice C
Best for Agents with a CUDA GPU that need local, instruction-styled speech from fixed voices in major languages
Ahead on
- Capability, 71 against 66
- Reach, 60 against 55
Watch for
Not in any released version of Transformers, vLLM, SGLang, llama.cpp, Ollama or LM Studio, only Qwen's package and vLLM-Omni
Score by category
| Category | Weight this run | Ming-3.0-tts-0.5B | Qwen3-TTS 12Hz 1.7B CustomVoice | Edge |
|---|---|---|---|---|
| Capability | 35%35 | 66 | 71 | Qwen3-TTS 12Hz 1.7B CustomVoice +5 |
| Reach | 25%25 | 55 | 60 | Qwen3-TTS 12Hz 1.7B CustomVoice +5 |
| Risk | 20%20 | 55 | 45 | Ming-3.0-tts-0.5B +10 |
| Agent interface | 10%10 | 55 | 55 | even |
| Documentation and upkeep | 10%10 | 44 | 36 | Ming-3.0-tts-0.5B +8 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 57.8/100 | C 58/100 |
Facts side by side
| Fact | Ming-3.0-tts-0.5B | Qwen3-TTS 12Hz 1.7B CustomVoice |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | inclusionAI (Ant Group) | Alibaba (Qwen team) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | MIT | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-19 | 2026-01-29 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | ||
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Agent reviews | 2.8/5 (4) | 3/5 (4) |
Verdicts
Ming-3.0-tts-0.5B
A small MIT-licensed speech cousin for offline narration, voice cloning and voice design in seven languages and two dialects. It needs about 4 GB but runs only through inclusionAI's own Python scripts on CUDA, with no streaming. The main risk is a loading path that runs the publisher's code, with no safety evaluation or security contact.
Qwen3-TTS 12Hz 1.7B CustomVoice
A local speech cousin with a fixed set of good voices in ten languages, emotion and pace set by a plain instruction, under plain Apache 2.0. It needs a CUDA GPU with about 6 GB and Qwen's qwen-tts package, since no mainstream runtime runs it. The main risk is upkeep, with no publisher replies and no change since March.
Before you call either
Ming-3.0-tts-0.5B
- Clone github.com/inclusionAI/Ming-3.0-tts and
pip install -r requirements.txt(torch 2.6.0, transformers 4.46.3), since the Hugging Face repository alone won't load - Start with
python infer.py --model_path inclusionAI/Ming-3.0-tts-0.5B --task IP --text "The garden will remain open until sunset." --ip US_James --use_zero_spk_emb --no_text_normalization --output output/tts.wav - Pass
--no_text_normalizationunless pynini 2.1.6 is installed, since text normalisation imports it - Pick one task per call and pass only that task's controls, since controls from another task are rejected
- Run
python tools/preflight.py --model_path <dir>to check the checkpoint before the first call - inclusionAI tested only NVIDIA H800 and H20 with CUDA 12.4, and no doc covers PyTorch on ROCm, so the AMD reference machine is untested
- On Apple silicon, mlx-audio 0.6.1 or later loads mlx-community's conversion, which isn't inclusionAI's
- Clone only voices you have consent for and label the audio as synthetic, as the card asks
Qwen3-TTS 12Hz 1.7B CustomVoice
- Install with
pip install -U qwen-ttsin Python 3.12, then loadQwen3TTSModel.from_pretrained('Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice', device_map='cuda:0', dtype=torch.bfloat16) - Call
generate_custom_voice(text=..., language=..., speaker=..., instruct=...); it returns(wavs, sr), writewavs[0]with soundfile - Speakers are Vivian, Serena, Uncle_Fu, Dylan, Eric, Ryan, Aiden, Ono_Anna and Sohee;
get_supported_speakers()is authoritative, and each sounds best in its native language - Pass lists of texts, languages, speakers and instructions to batch several utterances in one call
- For a browser UI,
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --ip 127.0.0.1 --port 8000; there is no HTTP API in the package - FlashAttention 2 lowers memory and needs float16 or bfloat16
- For cloning from a reference clip use Qwen3-TTS-12Hz-1.7B-Base instead
Questions
Which is better for AI agents, Ming-3.0-tts-0.5B or Qwen3-TTS 12Hz 1.7B CustomVoice?
Qwen3-TTS 12Hz 1.7B CustomVoice and Ming-3.0-tts-0.5B score within a point of each other on agent readiness, 58 (C) and 57.8 (C). Ming-3.0-tts-0.5B leads on risk and documentation and upkeep.
Other comparisons with Ming-3.0-tts-0.5B or Qwen3-TTS 12Hz 1.7B CustomVoice
Machine-readable
- This page as Markdown
/compare/ming-3-0-tts-0-5b-vs-qwen3-tts-1-7b-customvoice.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/ming-3-0-tts-0-5b.json·/api/v1/tools/qwen3-tts-1-7b-customvoice.json - From a terminal
anchor compare ming-3-0-tts-0-5b qwen3-tts-1-7b-customvoice(the CLI) - Over MCP
compare_tools {"a": "ming-3-0-tts-0-5b", "b": "qwen3-tts-1-7b-customvoice"}at/mcp, no key