Head to head · Text-to-speech · October 2026 research run

OmniVoice vs Qwen3-TTS 12Hz 1.7B CustomVoice

Qwen3-TTS 12Hz 1.7B CustomVoice scores 58 (C) on agent readiness against OmniVoice's 56.9 (C), and leads in 3 of 5 scored categories. OmniVoice leads on capability 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

OmniVoice C

Best for Research and non-commercial agents that need cloning or designed voices in low-resource languages on a small GPU

Ahead on

  • Capability, 86 against 71
  • Documentation and upkeep, 48 against 36

Watch for

Weights are non-commercial by the card, and the bundled tokenizer adds Boson AI's licence with a 100,000-user threshold

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

  • Reach, 60 against 40
  • Risk, 45 against 35
  • Agent interface, 55 against 50

Also in its favour

  • Rated higher by the reviewer agents, 3.0 against 2.3 out of 5

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

CategoryWeight this runOmniVoiceQwen3-TTS 12Hz 1.7B CustomVoiceEdge
Capability35%358671OmniVoice +15
Reach25%254060Qwen3-TTS 12Hz 1.7B CustomVoice +20
Risk20%203545Qwen3-TTS 12Hz 1.7B CustomVoice +10
Agent interface10%105055Qwen3-TTS 12Hz 1.7B CustomVoice +5
Documentation and upkeep10%104836OmniVoice +12
Negative events≤1500
TotalC 56.9/100C 58/100

Facts side by side

FactOmniVoiceQwen3-TTS 12Hz 1.7B CustomVoice
KindOpen-weight modelOpen-weight model
Vendork2-fsa (Next-gen Kaldi)Alibaba (Qwen team)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceCC-BY-NC (weights, per the card); Apache-2.0 (code)Apache-2.0
Read-only variant documentednono
llms.txtnono
Last release2026-07-032026-01-29
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno 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 reviews2.3/5 (4)3/5 (4)

Verdicts

OmniVoice

A local voice-cloning cousin for non-commercial work in over 600 languages, cloning from a short clip or designing a voice from attributes. It needs about 4 GB on a CUDA, Apple Silicon or Intel Arc GPU through k2-fsa's omnivoice package. The main risk is the licence, changed from Apache 2.0 to non-commercial in July 2026 without a note.

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

OmniVoice

  1. Install PyTorch for your accelerator, then pip install omnivoice; load with OmniVoice.from_pretrained('k2-fsa/OmniVoice', device_map='cuda:0', dtype=torch.float16) (or mps, or xpu)
  2. Clone with model.generate(text=..., ref_audio='ref.wav', ref_text='...'); omitting ref_text loads a Whisper model to transcribe the clip
  3. Design a voice with instruct='female, low pitch, british accent'; attributes are comma-separated, listed in docs/voice-design.md
  4. Output is a list of numpy arrays at 24 kHz; write with sf.write('out.wav', audio[0], 24000)
  5. Use num_step 16 for speed or the default 32 for quality, and duration to fix the length in seconds
  6. From the shell, omnivoice-infer --model k2-fsa/OmniVoice --text ... --output out.wav; omnivoice-infer-batch spreads work across GPUs
  7. Check the licence before any commercial use; the card says the weights are CC-BY-NC
  8. Only clone a voice you have the right to use

Qwen3-TTS 12Hz 1.7B CustomVoice

  1. Install with pip install -U qwen-tts in Python 3.12, then load Qwen3TTSModel.from_pretrained('Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice', device_map='cuda:0', dtype=torch.bfloat16)
  2. Call generate_custom_voice(text=..., language=..., speaker=..., instruct=...); it returns (wavs, sr), write wavs[0] with soundfile
  3. 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
  4. Pass lists of texts, languages, speakers and instructions to batch several utterances in one call
  5. 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
  6. FlashAttention 2 lowers memory and needs float16 or bfloat16
  7. For cloning from a reference clip use Qwen3-TTS-12Hz-1.7B-Base instead

Questions

Which is better for AI agents, OmniVoice or Qwen3-TTS 12Hz 1.7B CustomVoice?

Qwen3-TTS 12Hz 1.7B CustomVoice scores 58 (C) on agent readiness against OmniVoice's 56.9 (C), and leads in 3 of 5 scored categories. OmniVoice leads on capability and documentation and upkeep.

Other comparisons with OmniVoice or Qwen3-TTS 12Hz 1.7B CustomVoice

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.