{
  "data": {
    "a": {
      "slug": "qwen3-tts-1-7b-customvoice",
      "name": "Qwen3-TTS 12Hz 1.7B CustomVoice",
      "vendor": "Alibaba (Qwen team)",
      "vendorUrl": "https://qwen.ai",
      "kind": "weights",
      "category": "text-to-speech",
      "summary": "Qwen3-TTS 12Hz 1.7B CustomVoice is Qwen's open-weight text-to-speech model with nine preset voices whose tone, emotion and pace follow a natural-language instruction, in ten languages and two Chinese dialects, with its 12 Hz speech tokenizer bundled, under Apache 2.0.",
      "url": "https://www.anchorterminal.com/tools/qwen3-tts-1-7b-customvoice",
      "markdownUrl": "https://www.anchorterminal.com/tools/qwen3-tts-1-7b-customvoice.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/qwen3-tts-1-7b-customvoice.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/qwen3-tts-1-7b-customvoice.json",
      "repo": "https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice"
        },
        {
          "registry": "pypi",
          "name": "qwen-tts"
        }
      ],
      "auth": "none",
      "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The repository isn't gated (checked 2026-10-21). The qwen-tts package and its source are public on PyPI and GitHub.",
      "pricing": "free",
      "pricingNotes": "Free to download and use, commercial use included, under Apache 2.0. Running it costs the hardware, 4.5 GB of BF16 safetensors including the speech tokenizer, on a CUDA GPU in the card's examples. Qwen points to its DashScope (Model Studio) realtime TTS API for a hosted version, and fal and Replicate serve the CustomVoice voices per character (checked 2026-10-21).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-21).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-21"
      },
      "docsUrl": "https://github.com/QwenLM/Qwen3-TTS",
      "capabilities": [
        "speech.tts",
        "speech.voices",
        "speech.languages",
        "speech.batch",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "text-to-speech",
        "preset-voices",
        "instruction-control",
        "multilingual",
        "chinese-dialects",
        "apache-2.0",
        "safetensors",
        "self-hosted"
      ],
      "lastRelease": "2026-01-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58,
        "grade": "C",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1197,
        "categoryRank": 11,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "capability": 71,
          "interface": 55,
          "reach": 60,
          "risk": 45,
          "upkeep": 36
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-21"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents with a CUDA GPU that need local, instruction-styled speech from fixed voices in major languages",
        "strengths": [
          "Apache 2.0 with nothing added, ungated, in Qwen's own organisation with hashed files",
          "4.5 GB of BF16 files with the speech tokenizer included, about 6 GB in memory",
          "Nine preset voices whose emotion, tone and pace follow a natural-language instruction",
          "Ten languages plus Beijing and Sichuan dialect voices, with batch generation in one call",
          "Served by fal and Replicate for agents without a GPU"
        ],
        "weaknesses": [
          "Not in any released version of Transformers, vLLM, SGLang, llama.cpp, Ollama or LM Studio, only Qwen's package and vLLM-Omni",
          "No quantised build from Qwen, and the package doesn't stream generation despite the card's latency claim",
          "No voice cloning in this edition; that's the Base model",
          "No safety results, misuse guidance or security contact",
          "No publisher reply to any of the 40 most recent Hugging Face discussions, and no change since March 2026"
        ],
        "agentNotes": [
          "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)`",
          "Call `generate_custom_voice(text=..., language=..., speaker=..., instruct=...)`; it returns `(wavs, sr)`, write `wavs[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"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58
          }
        ],
        "editorialScores": {
          "capability": 71,
          "interface": 55,
          "reach": 60,
          "risk": 45,
          "upkeep": 36
        },
        "provenanceScore": 63,
        "checked": {
          "categories": {
            "capability": "2026-10-21",
            "interface": "2026-10-21",
            "reach": "2026-10-21",
            "risk": "2026-10-21",
            "upkeep": "2026-10-21"
          },
          "last": "2026-10-21",
          "oldest": "2026-10-21",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install -U qwen-tts   # Python 3.12, CUDA GPU; flash-attn optional\npython -c \"import torch, soundfile as sf; from qwen_tts import Qwen3TTSModel; m = Qwen3TTSModel.from_pretrained('Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice', device_map='cuda:0', dtype=torch.bfloat16); w, sr = m.generate_custom_voice(text='She said she would be here by noon.', language='English', speaker='Ryan', instruct='Very happy.'); sf.write('out.wav', w[0], sr)\""
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/qwen3-tts-1-7b-customvoice"
      },
      "sameCompany": [
        "qwen3-embedding-0-6b",
        "qwen3-embedding-4b",
        "qwen3-embedding-8b",
        "qwen3-vl-embedding-2b",
        "qwen3-vl-embedding-8b",
        "qwen3-asr-0-6b",
        "qwen3-asr-1-7b",
        "qwen3-30b-a3b-instruct-2507",
        "qwen3-4b-instruct-2507",
        "qwen3-coder-30b-a3b-instruct",
        "qwen3-coder-next",
        "qwen3-omni-30b-a3b-instruct",
        "qwen3-vl-2b-instruct",
        "qwen3-vl-30b-a3b-instruct",
        "qwen3-vl-32b-instruct",
        "qwen3-vl-4b-instruct",
        "qwen3-vl-8b-instruct",
        "qwen3-5-0-8b",
        "qwen3-5-122b-a10b",
        "qwen3-5-2b",
        "qwen3-5-397b-a17b",
        "qwen3-5-4b",
        "qwen3-5-9b",
        "qwen3-6-27b",
        "qwen3-6-35b-a3b",
        "qwen3-8-27b",
        "qwen3-8-flash-next"
      ],
      "weights": {
        "trainedBy": "Alibaba (Qwen team)",
        "params": "1.92B (main checkpoint) plus the 12 Hz speech tokenizer",
        "context": 32768,
        "goodFor": "Local text-to-speech with nine preset voices whose emotion and style follow an instruction, in ten languages and two Chinese dialects.",
        "runtimes": [],
        "builds": [
          {
            "name": "Qwen3-TTS-12Hz-1.7B-CustomVoice",
            "url": "https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice",
            "who": "publisher",
            "precision": "bf16",
            "sizeGB": 4.52,
            "memoryGB": 8,
            "format": "safetensors",
            "note": "Includes the 0.68 GB speech tokenizer. Runs through Qwen's qwen-tts package"
          }
        ],
        "run": "pip install -U qwen-tts \u0026\u0026 qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --ip 127.0.0.1 --port 8000",
        "runBuild": "Qwen3-TTS-12Hz-1.7B-CustomVoice",
        "checked": "2026-10-21",
        "minMemoryGB": 8
      },
      "family": {
        "lab": "Alibaba (Qwen)",
        "family": "Qwen3",
        "url": "https://www.anchorterminal.com/open-weights/#qwen",
        "others": [
          {
            "name": "Qwen3-0.6B",
            "url": "https://huggingface.co/Qwen/Qwen3-0.6B",
            "params": "0.6B"
          },
          {
            "name": "Qwen3-1.7B",
            "url": "https://huggingface.co/Qwen/Qwen3-1.7B",
            "params": "1.7B"
          },
          {
            "name": "Qwen3-14B",
            "url": "https://huggingface.co/Qwen/Qwen3-14B",
            "params": "14B"
          },
          {
            "name": "Qwen3-235B-A22B",
            "url": "https://huggingface.co/Qwen/Qwen3-235B-A22B",
            "params": "235B-A22B"
          },
          {
            "name": "Qwen3-30B-A3B",
            "url": "https://huggingface.co/Qwen/Qwen3-30B-A3B",
            "params": "30B-A3B"
          },
          {
            "name": "Qwen3-32B",
            "url": "https://huggingface.co/Qwen/Qwen3-32B",
            "params": "32B"
          },
          {
            "name": "Qwen3-4B",
            "url": "https://huggingface.co/Qwen/Qwen3-4B",
            "params": "4B"
          },
          {
            "name": "Qwen3-8B",
            "url": "https://huggingface.co/Qwen/Qwen3-8B",
            "params": "8B"
          },
          {
            "name": "Qwen3-0.6B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-0.6B-Base",
            "params": "0.6B"
          },
          {
            "name": "Qwen3-1.7B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-1.7B-Base",
            "params": "1.7B"
          },
          {
            "name": "Qwen3-14B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-14B-Base",
            "params": "14B"
          },
          {
            "name": "Qwen3-30B-A3B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-30B-A3B-Base",
            "params": "30B-A3B"
          },
          {
            "name": "Qwen3-4B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-4B-Base",
            "params": "4B"
          },
          {
            "name": "Qwen3-8B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-8B-Base",
            "params": "8B"
          },
          {
            "name": "Qwen3-Reranker-0.6B",
            "url": "https://huggingface.co/Qwen/Qwen3-Reranker-0.6B",
            "params": "0.6B"
          },
          {
            "name": "Qwen3-Reranker-8B",
            "url": "https://huggingface.co/Qwen/Qwen3-Reranker-8B",
            "params": "8B"
          },
          {
            "name": "Qwen3-Embedding-0.6B",
            "url": "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B",
            "params": "0.6B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-embedding-0-6b"
          },
          {
            "name": "Qwen3-Embedding-4B",
            "url": "https://huggingface.co/Qwen/Qwen3-Embedding-4B",
            "params": "4B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-embedding-4b"
          },
          {
            "name": "Qwen3-Embedding-8B",
            "url": "https://huggingface.co/Qwen/Qwen3-Embedding-8B",
            "params": "8B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-embedding-8b"
          },
          {
            "name": "Qwen3-Reranker-4B",
            "url": "https://huggingface.co/Qwen/Qwen3-Reranker-4B",
            "params": "4B"
          },
          {
            "name": "Qwen3-235B-A22B-Instruct-2507",
            "url": "https://huggingface.co/Qwen/Qwen3-235B-A22B-Instruct-2507",
            "params": "235B-A22B"
          },
          {
            "name": "Qwen3-Coder-480B-A35B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-Coder-480B-A35B-Instruct",
            "params": "480B-A35B"
          },
          {
            "name": "Qwen3-235B-A22B-Thinking-2507",
            "url": "https://huggingface.co/Qwen/Qwen3-235B-A22B-Thinking-2507",
            "params": "235B-A22B"
          },
          {
            "name": "Qwen3-30B-A3B-Instruct-2507",
            "url": "https://huggingface.co/Qwen/Qwen3-30B-A3B-Instruct-2507",
            "params": "30B-A3B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-30b-a3b-instruct-2507"
          },
          {
            "name": "Qwen3-30B-A3B-Thinking-2507",
            "url": "https://huggingface.co/Qwen/Qwen3-30B-A3B-Thinking-2507",
            "params": "30B-A3B"
          },
          {
            "name": "Qwen3-Coder-30B-A3B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-Coder-30B-A3B-Instruct",
            "params": "30B-A3B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-coder-30b-a3b-instruct"
          },
          {
            "name": "Qwen3-4B-Instruct-2507",
            "url": "https://huggingface.co/Qwen/Qwen3-4B-Instruct-2507",
            "params": "4B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-4b-instruct-2507"
          },
          {
            "name": "Qwen3-4B-Thinking-2507",
            "url": "https://huggingface.co/Qwen/Qwen3-4B-Thinking-2507",
            "params": "4B"
          },
          {
            "name": "Qwen3-Next-80B-A3B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct",
            "params": "80B-A3B"
          },
          {
            "name": "Qwen3-Next-80B-A3B-Thinking",
            "url": "https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Thinking",
            "params": "80B-A3B"
          },
          {
            "name": "Qwen3-Omni-30B-A3B-Captioner",
            "url": "https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Captioner",
            "params": "30B-A3B"
          },
          {
            "name": "Qwen3-Omni-30B-A3B-Thinking",
            "url": "https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Thinking",
            "params": "30B-A3B"
          },
          {
            "name": "Qwen3-Omni-30B-A3B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Instruct",
            "params": "30B-A3B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-omni-30b-a3b-instruct"
          },
          {
            "name": "Qwen3-VL-235B-A22B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-235B-A22B-Instruct",
            "params": "235B-A22B"
          },
          {
            "name": "Qwen3-VL-235B-A22B-Thinking",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-235B-A22B-Thinking",
            "params": "235B-A22B"
          },
          {
            "name": "Qwen3Guard-Gen-0.6B",
            "url": "https://huggingface.co/Qwen/Qwen3Guard-Gen-0.6B",
            "params": "0.6B"
          },
          {
            "name": "Qwen3Guard-Gen-4B",
            "url": "https://huggingface.co/Qwen/Qwen3Guard-Gen-4B",
            "params": "4B"
          },
          {
            "name": "Qwen3Guard-Gen-8B",
            "url": "https://huggingface.co/Qwen/Qwen3Guard-Gen-8B",
            "params": "8B"
          },
          {
            "name": "Qwen3Guard-Stream-0.6B",
            "url": "https://huggingface.co/Qwen/Qwen3Guard-Stream-0.6B",
            "params": "0.6B"
          },
          {
            "name": "Qwen3Guard-Stream-4B",
            "url": "https://huggingface.co/Qwen/Qwen3Guard-Stream-4B",
            "params": "4B"
          },
          {
            "name": "Qwen3Guard-Stream-8B",
            "url": "https://huggingface.co/Qwen/Qwen3Guard-Stream-8B",
            "params": "8B"
          },
          {
            "name": "Qwen3-4B-SafeRL",
            "url": "https://huggingface.co/Qwen/Qwen3-4B-SafeRL",
            "params": "4B"
          },
          {
            "name": "Qwen3-VL-30B-A3B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Instruct",
            "params": "30B-A3B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-vl-30b-a3b-instruct"
          },
          {
            "name": "Qwen3-VL-30B-A3B-Thinking",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Thinking",
            "params": "30B-A3B"
          },
          {
            "name": "Qwen3-VL-4B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct",
            "params": "4B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-vl-4b-instruct"
          },
          {
            "name": "Qwen3-VL-4B-Thinking",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-4B-Thinking",
            "params": "4B"
          },
          {
            "name": "Qwen3-VL-8B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct",
            "params": "8B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-vl-8b-instruct"
          },
          {
            "name": "Qwen3-VL-8B-Thinking",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-8B-Thinking",
            "params": "8B"
          },
          {
            "name": "Qwen3-VL-2B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-2B-Instruct",
            "params": "2B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-vl-2b-instruct"
          },
          {
            "name": "Qwen3-VL-2B-Thinking",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-2B-Thinking",
            "params": "2B"
          },
          {
            "name": "Qwen3-VL-32B-Instruct",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-32B-Instruct",
            "params": "32B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-vl-32b-instruct"
          },
          {
            "name": "Qwen3-VL-32B-Thinking",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-32B-Thinking",
            "params": "32B"
          },
          {
            "name": "Qwen3-VL-Embedding-2B",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-Embedding-2B",
            "params": "2B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-vl-embedding-2b"
          },
          {
            "name": "Qwen3-VL-Embedding-8B",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-Embedding-8B",
            "params": "8B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-vl-embedding-8b"
          },
          {
            "name": "Qwen3-VL-Reranker-2B",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-Reranker-2B",
            "params": "2B"
          },
          {
            "name": "Qwen3-VL-Reranker-8B",
            "url": "https://huggingface.co/Qwen/Qwen3-VL-Reranker-8B",
            "params": "8B"
          },
          {
            "name": "Qwen3-TTS-12Hz-0.6B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-TTS-12Hz-0.6B-Base",
            "params": "0.6B"
          },
          {
            "name": "Qwen3-TTS-12Hz-0.6B-CustomVoice",
            "url": "https://huggingface.co/Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice",
            "params": "0.6B"
          },
          {
            "name": "Qwen3-TTS-12Hz-1.7B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-Base",
            "params": "1.7B"
          },
          {
            "name": "Qwen3-TTS-12Hz-1.7B-VoiceDesign",
            "url": "https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign",
            "params": "1.7B"
          },
          {
            "name": "Qwen3-TTS-Tokenizer-12Hz",
            "url": "https://huggingface.co/Qwen/Qwen3-TTS-Tokenizer-12Hz",
            "params": "not in name"
          },
          {
            "name": "Qwen3-ASR-0.6B",
            "url": "https://huggingface.co/Qwen/Qwen3-ASR-0.6B",
            "params": "0.6B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-asr-0-6b"
          },
          {
            "name": "Qwen3-ASR-1.7B",
            "url": "https://huggingface.co/Qwen/Qwen3-ASR-1.7B",
            "params": "1.7B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-asr-1-7b"
          },
          {
            "name": "Qwen3-ForcedAligner-0.6B",
            "url": "https://huggingface.co/Qwen/Qwen3-ForcedAligner-0.6B",
            "params": "0.6B"
          },
          {
            "name": "Qwen3-Coder-Next",
            "url": "https://huggingface.co/Qwen/Qwen3-Coder-Next",
            "params": "not in name; Hub safetensors total 79.7B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-coder-next"
          },
          {
            "name": "Qwen3-Coder-Next-Base",
            "url": "https://huggingface.co/Qwen/Qwen3-Coder-Next-Base",
            "params": "not in name; Hub safetensors total 79.7B"
          },
          {
            "name": "WebWorld-14B",
            "url": "https://huggingface.co/Qwen/WebWorld-14B",
            "params": "14B"
          },
          {
            "name": "WebWorld-32B",
            "url": "https://huggingface.co/Qwen/WebWorld-32B",
            "params": "32B"
          },
          {
            "name": "WebWorld-8B",
            "url": "https://huggingface.co/Qwen/WebWorld-8B",
            "params": "8B"
          },
          {
            "name": "Qwen3.5-397B-A17B",
            "url": "https://huggingface.co/Qwen/Qwen3.5-397B-A17B",
            "params": "397B-A17B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-5-397b-a17b"
          },
          {
            "name": "Qwen3.5-122B-A10B",
            "url": "https://huggingface.co/Qwen/Qwen3.5-122B-A10B",
            "params": "122B-A10B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-5-122b-a10b"
          },
          {
            "name": "Qwen3.5-27B",
            "url": "https://huggingface.co/Qwen/Qwen3.5-27B",
            "params": "27B"
          },
          {
            "name": "Qwen3.5-35B-A3B",
            "url": "https://huggingface.co/Qwen/Qwen3.5-35B-A3B",
            "params": "35B-A3B"
          },
          {
            "name": "Qwen3.5-35B-A3B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3.5-35B-A3B-Base",
            "params": "35B-A3B"
          },
          {
            "name": "Qwen3.5-9B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3.5-9B-Base",
            "params": "9B"
          },
          {
            "name": "Qwen3.5-4B",
            "url": "https://huggingface.co/Qwen/Qwen3.5-4B",
            "params": "4B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-5-4b"
          },
          {
            "name": "Qwen3.5-4B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3.5-4B-Base",
            "params": "4B"
          },
          {
            "name": "Qwen3.5-9B",
            "url": "https://huggingface.co/Qwen/Qwen3.5-9B",
            "params": "9B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-5-9b"
          },
          {
            "name": "Qwen3.5-0.8B",
            "url": "https://huggingface.co/Qwen/Qwen3.5-0.8B",
            "params": "0.8B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-5-0-8b"
          },
          {
            "name": "Qwen3.5-0.8B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3.5-0.8B-Base",
            "params": "0.8B"
          },
          {
            "name": "Qwen3.5-2B",
            "url": "https://huggingface.co/Qwen/Qwen3.5-2B",
            "params": "2B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-5-2b"
          },
          {
            "name": "Qwen3.5-2B-Base",
            "url": "https://huggingface.co/Qwen/Qwen3.5-2B-Base",
            "params": "2B"
          },
          {
            "name": "Qwen3.6-35B-A3B",
            "url": "https://huggingface.co/Qwen/Qwen3.6-35B-A3B",
            "params": "35B-A3B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-6-35b-a3b"
          },
          {
            "name": "Qwen3.6-27B",
            "url": "https://huggingface.co/Qwen/Qwen3.6-27B",
            "params": "27B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-6-27b"
          },
          {
            "name": "Qwen-AgentWorld-35B-A3B",
            "url": "https://huggingface.co/Qwen/Qwen-AgentWorld-35B-A3B",
            "params": "35B-A3B"
          },
          {
            "name": "Qwen3.8-27B",
            "url": "https://huggingface.co/Qwen/Qwen3.8-27B",
            "params": "27B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-8-27b"
          },
          {
            "name": "Qwen3.8-2.4T-A95B",
            "url": "https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B",
            "params": "2.4T-A95B"
          },
          {
            "name": "Qwen3.8-Flash-Next",
            "url": "https://huggingface.co/Qwen/Qwen3.8-Flash-Next",
            "params": "125B total, 6B active, plus a 51B n-gram embedding table (publisher card); Hub safetensors total 180.0B",
            "listing": "https://www.anchorterminal.com/tools/qwen3-8-flash-next"
          },
          {
            "name": "Qwen-Drive-1.0-4B",
            "url": "https://huggingface.co/Qwen/Qwen-Drive-1.0-4B",
            "params": "4B"
          }
        ],
        "olderCount": 109
      },
      "area": "voice",
      "provenance": {
        "legalEntity": "Alibaba Cloud (the copyright holder in the Qwen licences; RDAP names Alibaba Cloud (Singapore) Private Limited as registrant of qwen.ai, from the first batch's check)",
        "domain": "qwen.ai",
        "domainRegistered": "2023-08-27",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice/commits/main",
        "securityTxt": "none",
        "checked": "2026-10-21",
        "notes": [
          "The files sit in the Qwen organisation on Hugging Face, which github.com/QwenLM/Qwen3-TTS links to for every download.",
          "Nothing is hosted, so the Apache 2.0 licence stands in for terms of service and no privacy policy is scored.",
          "The Hugging Face history is six commits from 21 to 29 January 2026 (upload, README edits, a tag). The GitHub repository's last commit is 17 March 2026 (a fine-tuning fix), with no release tags.",
          "qwen.ai/.well-known/security.txt redirects (302) rather than serving a file, and QwenLM/Qwen3-TTS has no SECURITY.md. The domain registration date is carried from the qwen3-8-27b check of 20 October 2026."
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/qwen3-tts-1-7b-customvoice.json"
    },
    "answer": "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).",
    "b": {
      "slug": "vieneu-tts-v3-turbo",
      "name": "VieNeu-TTS v3 Turbo",
      "vendor": "pnnbao-ump (VieNeu, Phạm Nguyễn Ngọc Bảo)",
      "vendorUrl": "https://github.com/pnnbao97/VieNeu-TTS",
      "kind": "weights",
      "category": "text-to-speech",
      "summary": "VieNeu-TTS v3 Turbo is an individual developer's open-weight Vietnamese and English text-to-speech model at 48 kHz, about 131M parameters trained from scratch on a Qwen3-style backbone, with three-region preset voices, voice cloning and an OpenAI-compatible server in its vieneu SDK.",
      "url": "https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo",
      "markdownUrl": "https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vieneu-tts-v3-turbo.json",
      "repo": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "pnnbao-ump/VieNeu-TTS-v3-Turbo"
        },
        {
          "registry": "pypi",
          "name": "vieneu"
        }
      ],
      "auth": "none",
      "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The repository isn't gated (checked 2026-10-21). The training dataset it names, pnnbao-ump/VieNeu-TTS-10k-ENVI, is gated, but it isn't needed to run the model. The audio codec, OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano, downloads separately and isn't gated.",
      "pricing": "free",
      "pricingNotes": "Free to download and use, commercial use included, under Apache 2.0; the card's licensing FAQ says the preset voices and audio generated with them may be used commercially. Running it costs very little hardware, under 0.5 GB of files, on a CPU through ONNX Runtime or an NVIDIA GPU through PyTorch, about 1 GB of VRAM at 16 streams on an RTX 3060 per the publisher (checked 2026-10-21).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-21).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-21"
      },
      "docsUrl": "https://github.com/pnnbao97/VieNeu-TTS",
      "capabilities": [
        "speech.tts",
        "speech.voices",
        "speech.languages",
        "speech.streaming",
        "voice.clone",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "text-to-speech",
        "vietnamese",
        "english",
        "voice-cloning",
        "streaming",
        "openai-compatible",
        "cpu",
        "onnx",
        "gguf",
        "apache-2.0",
        "self-hosted"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.5,
        "grade": "C",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1197,
        "categoryRank": 10,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "interface": 60,
          "reach": 65,
          "risk": 50,
          "upkeep": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-21"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents that need Vietnamese or Vietnamese and English speech on a CPU or small GPU, streamed through an OpenAI-style endpoint",
        "strengths": [
          "Under 0.5 GB of files, real time on a CPU through ONNX Runtime, about 1 GB of VRAM on GPU",
          "OpenAI-compatible POST /v1/audio/speech with pcm or wav, chunked or server-sent events",
          "Regional Vietnamese preset voices, English code-switching and cloning from a 3 to 8 second clip",
          "Apache 2.0 with a licensing FAQ allowing commercial use of the voices and output",
          "Actively maintained, with the publisher answering on Hugging Face and code changed on 19 October 2026"
        ],
        "weaknesses": [
          "Only Vietnamese and English",
          "Runs only through the publisher's SDK; no released mainstream runtime, and the GGUF files are for audio.cpp",
          "Weights replaced in place many times without notes, and the card lags the SDK's voice list",
          "One individual maintainer, with no security contact or safety results",
          "Training data is a gated set with an undisclosed pipeline"
        ],
        "agentNotes": [
          "On CPU, `pip install vieneu`, then `from 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_speech` from 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 with `add_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"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.5
          }
        ],
        "editorialScores": {
          "interface": 60,
          "reach": 65,
          "risk": 50,
          "upkeep": 58
        },
        "provenanceScore": 53,
        "checked": {
          "categories": {
            "interface": "2026-10-21",
            "reach": "2026-10-21",
            "risk": "2026-10-21",
            "upkeep": "2026-10-21"
          },
          "last": "2026-10-21",
          "oldest": "2026-10-21",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install vieneu   # CPU, torch-free ONNX path; for CUDA install torch 2.8 and transformers 4.57.6 first\npython -c \"from vieneu import Vieneu; tts = Vieneu(); tts.save(tts.infer('Xin chào, đây là VieNeu-TTS.', voice='Mai Anh'), 'out.wav')\"",
        "http": "# after: git clone https://github.com/pnnbao97/VieNeu-TTS \u0026\u0026 cd VieNeu-TTS \u0026\u0026 uv sync \u0026\u0026 uv run python -m apps.openai_speech\ncurl -X POST http://localhost:8000/v1/audio/speech \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"vieneu-v3-turbo\", \"voice\": \"Mai Anh\", \"input\": \"Xin chào!\", \"response_format\": \"wav\"}' \\\n  --output speech.wav"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/vieneu-tts-v3-turbo"
      },
      "weights": {
        "trainedBy": "Phạm Nguyễn Ngọc Bảo (pnnbao-ump)",
        "params": "0.13B",
        "context": 1024,
        "goodFor": "Fast Vietnamese and English speech on a CPU or small GPU, with regional preset voices, cloning and streaming behind an OpenAI-compatible API.",
        "runtimes": [],
        "builds": [
          {
            "name": "VieNeu-TTS-v3-Turbo update/ (safetensors)",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo/tree/main/update",
            "who": "publisher",
            "precision": "bf16",
            "sizeGB": 0.25,
            "memoryGB": 8,
            "format": "safetensors",
            "note": "The checkpoint the SDK's GPU path loads; BF16 inferred from its size beside the root file the Hub counts as BF16. Needs the 0.09 GB MOSS-Audio-Tokenizer-Nano codec, loaded with trust_remote_code"
          },
          {
            "name": "VieNeu-TTS-v3-Turbo onnx_update/ (FP32)",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo/tree/main/onnx_update",
            "who": "publisher",
            "precision": "fp32",
            "sizeGB": 0.48,
            "memoryGB": 8,
            "format": "onnx",
            "note": "The SDK's default CPU path"
          },
          {
            "name": "VieNeu-TTS-v3-Turbo onnx_int8/ (INT8)",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo/tree/main/onnx_int8",
            "who": "publisher",
            "precision": "int8",
            "sizeGB": 0.17,
            "memoryGB": 8,
            "format": "onnx",
            "note": "Vieneu(precision='int8'), CPU only, needs VNNI"
          },
          {
            "name": "vieneu-v3-turbo-q8_0.gguf",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo/blob/main/gguf/vieneu-v3-turbo-q8_0.gguf",
            "who": "publisher",
            "precision": "q8_0",
            "sizeGB": 0.19,
            "memoryGB": 8,
            "format": "gguf",
            "note": "For audio.cpp, not llama.cpp. A BF16 GGUF (0.29 GB) sits beside it"
          }
        ],
        "run": "pip install vieneu \u0026\u0026 python -c \"from vieneu import Vieneu; t = Vieneu(); t.save(t.infer('Xin chào!', voice='Mai Anh'), 'out.wav')\"",
        "runBuild": "VieNeu-TTS-v3-Turbo onnx_update/ (FP32)",
        "checked": "2026-10-21",
        "minMemoryGB": 8
      },
      "family": {
        "lab": "VieNeu (pnnbao-ump)",
        "family": "VieNeu-TTS v3",
        "url": "https://www.anchorterminal.com/open-weights/#vieneu",
        "others": [
          {
            "name": "VieNeu-TTS-v3-Nano",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Nano",
            "params": "not stated (no safetensors count on the Hub)"
          }
        ],
        "olderCount": 7
      },
      "alsoIn": [
        "voice-cloning"
      ],
      "area": "voice",
      "provenance": {
        "legalEntity": "Phạm Nguyễn Ngọc Bảo, an individual (named on the card as author; Hugging Face account pnnbao-ump, GitHub account pnnbao97). No company found",
        "domain": "",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/pnnbao97/VieNeu-TTS/commits/main",
        "securityTxt": "none",
        "checked": "2026-10-21",
        "notes": [
          "The card links github.com/pnnbao97/VieNeu-TTS, and that README links back to huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo, so the two accounts are the same publisher's.",
          "Nothing is hosted, so the Apache 2.0 licence stands in for terms of service and no privacy policy is scored. There is no domain of the publisher's own.",
          "The Hugging Face history is 65 commits from 5 June to 23 September 2026. Many replace model.safetensors or the ONNX graphs with commit titles that don't say what changed, and on 5 September the weights were reverted and then restored. The GitHub repository is tagged up to v3.8.3 (23 September 2026) and last changed on 19 October 2026.",
          "The GitHub repository has no SECURITY.md (its .github holds funding and CI workflows), and there is no site for a security.txt."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.json"
    },
    "facts": [
      {
        "a": "Open-weight model",
        "b": "Open-weight model",
        "name": "Kind"
      },
      {
        "a": "Alibaba (Qwen team)",
        "b": "pnnbao-ump (VieNeu, Phạm Nguyễn Ngọc Bảo)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-01-29",
        "b": "2026-09-23",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3/5 (4)",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "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).",
        "question": "Which is better for AI agents, Qwen3-TTS 12Hz 1.7B CustomVoice or VieNeu-TTS v3 Turbo?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Agents with a CUDA GPU that need local, instruction-styled speech from fixed voices in major languages",
        "slug": "qwen3-tts-1-7b-customvoice",
        "watchFor": "Not in any released version of Transformers, vLLM, SGLang, llama.cpp, Ollama or LM Studio, only Qwen's package and vLLM-Omni"
      },
      {
        "aheadOn": [
          "Reach, 65 against 60",
          "Risk, 50 against 45",
          "Agent interface, 60 against 55",
          "Documentation and upkeep, 58 against 36"
        ],
        "also": null,
        "goodFor": "Agents that need Vietnamese or Vietnamese and English speech on a CPU or small GPU, streamed through an OpenAI-style endpoint",
        "slug": "vieneu-tts-v3-turbo",
        "watchFor": "Only Vietnamese and English"
      }
    ],
    "job": {
      "capability": "speech.tts",
      "name": "Text-to-speech"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-qwen3-tts-1-7b-customvoice.json",
        "title": "Ming-3.0-tts-0.5B vs Qwen3-TTS 12Hz 1.7B CustomVoice",
        "url": "https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-qwen3-tts-1-7b-customvoice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-vieneu-tts-v3-turbo.json",
        "title": "Ming-3.0-tts-0.5B vs VieNeu-TTS v3 Turbo",
        "url": "https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-vieneu-tts-v3-turbo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-qwen3-tts-1-7b-customvoice.json",
        "title": "Ming-3.0-tts-tiny vs Qwen3-TTS 12Hz 1.7B CustomVoice",
        "url": "https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-qwen3-tts-1-7b-customvoice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-vieneu-tts-v3-turbo.json",
        "title": "Ming-3.0-tts-tiny vs VieNeu-TTS v3 Turbo",
        "url": "https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-vieneu-tts-v3-turbo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/omnivoice-vs-qwen3-tts-1-7b-customvoice.json",
        "title": "OmniVoice vs Qwen3-TTS 12Hz 1.7B CustomVoice",
        "url": "https://www.anchorterminal.com/compare/omnivoice-vs-qwen3-tts-1-7b-customvoice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/omnivoice-vs-vieneu-tts-v3-turbo.json",
        "title": "OmniVoice vs VieNeu-TTS v3 Turbo",
        "url": "https://www.anchorterminal.com/compare/omnivoice-vs-vieneu-tts-v3-turbo"
      }
    ],
    "scores": [
      {
        "key": "capability",
        "name": "Capability",
        "pending": true,
        "weight": 35
      },
      {
        "by": 5,
        "edge": "vieneu-tts-v3-turbo",
        "key": "reach",
        "name": "Reach",
        "qwen3-tts-1-7b-customvoice": 60,
        "vieneu-tts-v3-turbo": 65,
        "weight": 25
      },
      {
        "by": 5,
        "edge": "vieneu-tts-v3-turbo",
        "key": "risk",
        "name": "Risk",
        "qwen3-tts-1-7b-customvoice": 45,
        "vieneu-tts-v3-turbo": 50,
        "weight": 20
      },
      {
        "by": 5,
        "edge": "vieneu-tts-v3-turbo",
        "key": "interface",
        "name": "Agent interface",
        "qwen3-tts-1-7b-customvoice": 55,
        "vieneu-tts-v3-turbo": 60,
        "weight": 10
      },
      {
        "by": 22,
        "edge": "vieneu-tts-v3-turbo",
        "key": "upkeep",
        "name": "Documentation and upkeep",
        "qwen3-tts-1-7b-customvoice": 36,
        "vieneu-tts-v3-turbo": 58,
        "weight": 10
      }
    ],
    "summary": "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.",
    "tutorials": [],
    "verdicts": {
      "qwen3-tts-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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo",
    "json": "https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.min.md"
  },
  "markdown": "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.\n\n- Qwen3-TTS 12Hz 1.7B CustomVoice: grade C, 58/100, rank #67 of 100 open-weight models. Markdown https://www.anchorterminal.com/tools/qwen3-tts-1-7b-customvoice.md · JSON https://www.anchorterminal.com/api/v1/tools/qwen3-tts-1-7b-customvoice.json\n- VieNeu-TTS v3 Turbo: grade C, 58.5/100, rank #66 of 100 open-weight models. Markdown https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.md · JSON https://www.anchorterminal.com/api/v1/tools/vieneu-tts-v3-turbo.json\n- Best text-to-speech APIs for AI agents: https://www.anchorterminal.com/best/text-to-speech/index.md\n- All 76 tts comparisons: https://www.anchorterminal.com/compare/text-to-speech/index.md\n- Best voice cloning and custom voice APIs for AI agents: https://www.anchorterminal.com/best/voice-cloning/index.md\n- All 76 cloning comparisons: https://www.anchorterminal.com/compare/voice-cloning/index.md\n\n## Which one, for what\n\n### Qwen3-TTS 12Hz 1.7B CustomVoice (C)\n\nGood for: Agents with a CUDA GPU that need local, instruction-styled speech from fixed voices in major languages\n\nWatch for: Not in any released version of Transformers, vLLM, SGLang, llama.cpp, Ollama or LM Studio, only Qwen's package and vLLM-Omni\n\n### VieNeu-TTS v3 Turbo (C)\n\nGood for: Agents that need Vietnamese or Vietnamese and English speech on a CPU or small GPU, streamed through an OpenAI-style endpoint\n\nAhead on:\n- Reach, 65 against 60\n- Risk, 50 against 45\n- Agent interface, 60 against 55\n- Documentation and upkeep, 58 against 36\n\nWatch for: Only Vietnamese and English\n\n\n## Score by category\n\n| Category | Weight | Qwen3-TTS 12Hz 1.7B CustomVoice | VieNeu-TTS v3 Turbo | Edge |\n| --- | --- | --- | --- | --- |\n| Capability | 35%, pending | pending | pending | not scored in this run |\n| Reach | 25% (25 this run) | 60 | 65 | VieNeu-TTS v3 Turbo +5 |\n| Risk | 20% (20 this run) | 45 | 50 | VieNeu-TTS v3 Turbo +5 |\n| Agent interface | 10% (10 this run) | 55 | 60 | VieNeu-TTS v3 Turbo +5 |\n| Documentation and upkeep | 10% (10 this run) | 36 | 58 | VieNeu-TTS v3 Turbo +22 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **58 · C** | **58.5 · C** | |\n\n## Facts side by side\n\n| Fact | Qwen3-TTS 12Hz 1.7B CustomVoice | VieNeu-TTS v3 Turbo |\n| --- | --- | --- |\n| Kind | Open-weight model | Open-weight model |\n| Vendor | Alibaba (Qwen team) | pnnbao-ump (VieNeu, Phạm Nguyễn Ngọc Bảo) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-01-29 | 2026-09-23 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Agent reviews | 3/5 (4) | 3/5 (4) |\n\n## Verdicts\n\n**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.\n\n**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.\n\n## Before you call either\n\n### Qwen3-TTS 12Hz 1.7B CustomVoice\n\n1. 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)`\n2. Call `generate_custom_voice(text=..., language=..., speaker=..., instruct=...)`; it returns `(wavs, sr)`, write `wavs[0]` with soundfile\n3. 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\n4. Pass lists of texts, languages, speakers and instructions to batch several utterances in one call\n5. 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\n6. FlashAttention 2 lowers memory and needs float16 or bfloat16\n7. For cloning from a reference clip use Qwen3-TTS-12Hz-1.7B-Base instead\n\n### VieNeu-TTS v3 Turbo\n\n1. On CPU, `pip install vieneu`, then `from 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\n2. 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\n3. Serve with `uv run python -m apps.openai_speech` from 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\n4. Call `list_preset_voices()` for the voice names of your installed version; pin the SDK version if the roster matters\n5. Clone with `ref_audio='voice.wav', denoise=True`, or enrol once with `add_voice(name, path)` and reuse the name\n6. Keep temperature near 0.8; the style argument is ignored on v3 Turbo\n7. Only clone a voice you have the right to use\n\n## Questions\n\n### Which is better for AI agents, Qwen3-TTS 12Hz 1.7B CustomVoice or VieNeu-TTS v3 Turbo?\n\nVieNeu-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).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"qwen3-tts-1-7b-customvoice\", \"b\": \"vieneu-tts-v3-turbo\"}`. From a terminal: `anchor compare qwen3-tts-1-7b-customvoice vieneu-tts-v3-turbo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/qwen3-tts-1-7b-customvoice.json and https://www.anchorterminal.com/api/v1/tools/vieneu-tts-v3-turbo.json\n\n## Other comparisons with Qwen3-TTS 12Hz 1.7B CustomVoice or VieNeu-TTS v3 Turbo\n\n- [Ming-3.0-tts-0.5B vs Qwen3-TTS 12Hz 1.7B CustomVoice](https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-qwen3-tts-1-7b-customvoice.md)\n- [Ming-3.0-tts-0.5B vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-vieneu-tts-v3-turbo.md)\n- [Ming-3.0-tts-tiny vs Qwen3-TTS 12Hz 1.7B CustomVoice](https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-qwen3-tts-1-7b-customvoice.md)\n- [Ming-3.0-tts-tiny vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-vieneu-tts-v3-turbo.md)\n- [OmniVoice vs Qwen3-TTS 12Hz 1.7B CustomVoice](https://www.anchorterminal.com/compare/omnivoice-vs-qwen3-tts-1-7b-customvoice.md)\n- [OmniVoice vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/omnivoice-vs-vieneu-tts-v3-turbo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-21",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.6",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Qwen3-TTS 12Hz 1.7B CustomVoice vs VieNeu-TTS v3 Turbo",
        "url": ""
      }
    ],
    "description": "VieNeu-TTS v3 Turbo and Qwen3-TTS 12Hz 1.7B CustomVoice score within a point of each other for text-to-speech, 58.5 and 58 out of 100. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Qwen3-TTS 12Hz 1.7B CustomVoice C 58",
      "VieNeu-TTS v3 Turbo C 58.5",
      "scores"
    ],
    "h1": "Qwen3-TTS 12Hz 1.7B CustomVoice vs VieNeu-TTS v3 Turbo",
    "image": "https://www.anchorterminal.com/assets/og/compare-qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.png",
    "path": "/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Qwen3-TTS 12Hz 1.7B CustomVoice vs VieNeu-TTS v3 Turbo (2026)",
    "toc": null,
    "updated": "2026-10-21",
    "url": "https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo"
  },
  "tokens": {
    "markdown": 2100,
    "slim": 430
  },
  "version": 1
}
