Head to head · Text-to-speech · October 2026 research run
Qwen3-TTS 12Hz 1.7B CustomVoice vs VieNeu-TTS v3 Turbo
VieNeu-TTS v3 Turbo and Qwen3-TTS 12Hz 1.7B CustomVoice score within a point of each other on agent readiness, 58.5 (C) and 58 (C). 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
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
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
Not in any released version of Transformers, vLLM, SGLang, llama.cpp, Ollama or LM Studio, only Qwen's package and vLLM-Omni
Best for Agents that need Vietnamese or Vietnamese and English speech on a CPU or small GPU, streamed through an OpenAI-style endpoint
Ahead on
- Reach, 65 against 60
- Risk, 50 against 45
- Agent interface, 60 against 55
- Documentation and upkeep, 58 against 36
Watch for
Only Vietnamese and English
Score by category
| Category | Weight this run | Qwen3-TTS 12Hz 1.7B CustomVoice | VieNeu-TTS v3 Turbo | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 60 | 65 | VieNeu-TTS v3 Turbo +5 |
| Risk | 20%20 | 45 | 50 | VieNeu-TTS v3 Turbo +5 |
| Agent interface | 10%10 | 55 | 60 | VieNeu-TTS v3 Turbo +5 |
| Documentation and upkeep | 10%10 | 36 | 58 | VieNeu-TTS v3 Turbo +22 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 58/100 | C 58.5/100 |
Facts side by side
| Fact | Qwen3-TTS 12Hz 1.7B CustomVoice | VieNeu-TTS v3 Turbo |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Alibaba (Qwen team) | pnnbao-ump (VieNeu, Phạm Nguyễn Ngọc Bảo) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-01-29 | 2026-09-23 |
| 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 | 3/5 (4) | 3/5 (4) |
Verdicts
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.
VieNeu-TTS v3 Turbo
A tiny, fast speech cousin for Vietnamese and English, with regional preset voices, cloning from a short clip and an OpenAI-compatible streaming endpoint, under Apache 2.0. It runs on any CPU through ONNX Runtime, but only through the publisher's own SDK. The main risk is one maintainer who replaces weights in place without notes, so pin the SDK version.
Before you call either
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
VieNeu-TTS v3 Turbo
- On CPU,
pip install vieneu, thenfrom vieneu import Vieneu; tts = Vieneu(); tts.save(tts.infer(text, voice='Mai Anh'), 'out.wav');Vieneu(precision='int8')is about twice as fast on a CPU with VNNI - On GPU, install torch 2.8 for CUDA 12.8 and transformers 4.57.6 before vieneu; it switches to PyTorch with batching and stream scheduling
- Serve with
uv run python -m apps.openai_speechfrom a clone of pnnbao97/VieNeu-TTS, then POST to http://localhost:8000/v1/audio/speech with model vieneu-v3-turbo, voice and response_format pcm or wav - Call
list_preset_voices()for the voice names of your installed version; pin the SDK version if the roster matters - Clone with
ref_audio='voice.wav', denoise=True, or enrol once withadd_voice(name, path)and reuse the name - Keep temperature near 0.8; the style argument is ignored on v3 Turbo
- Only clone a voice you have the right to use
Questions
Which is better for AI agents, Qwen3-TTS 12Hz 1.7B CustomVoice or VieNeu-TTS v3 Turbo?
VieNeu-TTS v3 Turbo and Qwen3-TTS 12Hz 1.7B CustomVoice score within a point of each other on agent readiness, 58.5 (C) and 58 (C).
Other comparisons with Qwen3-TTS 12Hz 1.7B CustomVoice or VieNeu-TTS v3 Turbo
Machine-readable
- This page as Markdown
/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/qwen3-tts-1-7b-customvoice.json·/api/v1/tools/vieneu-tts-v3-turbo.json - From a terminal
anchor compare qwen3-tts-1-7b-customvoice vieneu-tts-v3-turbo(the CLI) - Over MCP
compare_tools {"a": "qwen3-tts-1-7b-customvoice", "b": "vieneu-tts-v3-turbo"}at/mcp, no key