Appearance
Qwen/Qwen3-TTS Base 1.7B
- License: Apache-2.0
- Release date: 2026-01-22 (Qwen3-TTS series announcement)
- Modalities: Input: text, optional reference audio; Output: audio
- Original model: Qwen/Qwen3-TTS-12Hz-1.7B-Base
Description
Qwen3-TTS Base generates speech in ten languages and can imitate a speaker from a short reference recording. It uses a multi-codebook speech language model and the Qwen3-TTS 12 Hz tokenizer. This is the voice-cloning Base checkpoint, not the CustomVoice or VoiceDesign variant.
Run
bash
self serve qwen3-tts:1.7bHere is a link to the API docs: Audio API.
Example Request
With the server running, open another terminal and send a request:
bash
curl http://localhost:8080/v1/audio/speech \
-H 'Content-Type: application/json' \
-d '{"input":"Welcome to the local speech model.","language":"en"}' \
--output speech.wavThe response is saved as speech.wav (24 kHz WAV audio).
Engine Parameters
Served by the persistent ggmlc-audio engine through the ggmlc-audio adapter. These are startup settings, not per-request JSON fields; the registry sets no overrides, so the engine defaults apply.
| Parameter | Default | What it controls |
|---|---|---|
context_size | 4096 | Tokens shared by reference audio, text and generated frames; accepts 512 to 262144. |
threads | Half the hardware concurrency (at least 1) | CPU workers; accepts 1 to 1024. |
gpu_layers | -1 | GPU-offloaded layers; -1 means all, 0 means CPU; accepts -1 to 10000. CPU device selection forces zero offload. |
temperature | 0.8 | Token-sampler temperature; accepts 0.01 to 10. |
top_p | 0.95 | Nucleus sampling; accepts 0 to 1. |
top_k | 40 | Top-k sampling; accepts 1 to 1000 (1 selects greedy sampling). |
frames | 512 | Maximum generated audio frames per request; accepts 1 to 100000. |
seed | Random | RNG seed; accepts 0 to 4294967295. Reproducibility depends on the pipeline and device. |
Override startup settings with --set <parameter>=<value>.
Quantizations and Files
Default variant: q4. Sizes and SHA-256 hashes are pinned in the model registry.
q4 (default)
| File | Role | Size | SHA-256 | Origin |
|---|---|---|---|---|
Qwen3-TTS-12Hz-1.7B-Base-Q4_K_M.gguf | model | 988.0 MiB (1035965280 bytes) | 8d18c94acb2addd042f97da63c98be144eafa76d0d9495177eab65130cf85129 | ggml-org/Qwen3-TTS-12Hz-1.7B-Base-GGUF |
mmproj-Qwen3-TTS-12Hz-1.7B-Base-Q8_0.gguf | mmproj | 425.7 MiB (446422912 bytes) | 6fd65188839bcd6ecc91b277ad471e22a0edfada4699a0fe82f1165c18cfcce2 | ggml-org/Qwen3-TTS-12Hz-1.7B-Base-GGUF |
Total download: 1.38 GiB (1482388192 bytes).
q8
| File | Role | Size | SHA-256 | Origin |
|---|---|---|---|---|
Qwen3-TTS-12Hz-1.7B-Base-Q8_0.gguf | model | 1.72 GiB (1847874400 bytes) | ac7931aeb2e7aad1a6ed6602d353a5679c9d096b18ce8204ac730a8408d572e1 | ggml-org/Qwen3-TTS-12Hz-1.7B-Base-GGUF |
mmproj-Qwen3-TTS-12Hz-1.7B-Base-Q8_0.gguf | mmproj | 425.7 MiB (446422912 bytes) | 6fd65188839bcd6ecc91b277ad471e22a0edfada4699a0fe82f1165c18cfcce2 | ggml-org/Qwen3-TTS-12Hz-1.7B-Base-GGUF |
Total download: 2.14 GiB (2294297312 bytes).
bf16
| File | Role | Size | SHA-256 | Origin |
|---|---|---|---|---|
Qwen3-TTS-12Hz-1.7B-Base-bf16.gguf | model | 3.23 GiB (3472593760 bytes) | 0322c634ad5d3282524bc45bff030ab3f6f2a32ba14d5e7dace7eed75ecede46 | ggml-org/Qwen3-TTS-12Hz-1.7B-Base-GGUF |
mmproj-Qwen3-TTS-12Hz-1.7B-Base-bf16.gguf | mmproj | 638.1 MiB (669081472 bytes) | b9503e95e44705739cf82c15ce909b040b96a31ad79d02cf4dc5e1484399265d | ggml-org/Qwen3-TTS-12Hz-1.7B-Base-GGUF |
Total download: 3.86 GiB (4141675232 bytes).
Notes
inputis spoken content, not a chat or style prompt. Non-emptyinstructions,speedother than1, non-WAV output and SSE streaming return422 unsupported_capability. Emotion, pitch and loudness controls are not exposed.- Without reference audio the runtime uses its default voice. OpenAI voice names such as
alloyselect that same voice, not different speakers. No reference voice file is bundled for this model. - For cloning, provide a clean 5-20 second WAV or MP3 of one speaker as multipart
ref_audioor base64voice.audio. Send it on every request: no recording or reusable profile is stored. JSON filesystem paths and the upstream Python API'sref_textworkflow are not supported here. - The following example requires an existing local file named
my-voice.mp3, containing a recording you own or have permission to use:
bash
curl http://localhost:8080/v1/audio/speech \
-F input='This sentence should sound like the reference speaker.' \
-F language=en \
-F ref_audio=@my-voice.mp3 \
--output cloned.wav- Set per-request
languageexplicitly for English (en), German (de), French (fr), Spanish (es), Italian (it), Portuguese (pt), Russian (ru), Japanese (ja), Korean (ko) or Chinese (zh). - The persistent engine keeps weights loaded between requests. Build from source with
just engine audioif needed; supported builds include CPU, Vulkan, CUDA 12.8 and CUDA 13.4. Earlier local CPU measurements forq4were under 1 second to become ready with cached files and about 4 seconds per short sentence; these are not performance guarantees. - Both listed files are required for each variant. Download size is not the total runtime memory requirement. Origin links use
mainbecause these entries pin hashes, not repository revisions.
Quality benchmarks
Seed-TTS test set: Publisher-reported
Qwen/Qwen3-TTS-12Hz-1.7B-Base
Publisher-reported BF16, max_new_tokens=2048, default checkpoint sampling, language=auto. Not local Q4 results or an independent leaderboard rank.
| Dataset | Metric | Score |
|---|---|---|
| Seed-TTS test-zh | WER (%) | 0.77 |
| Seed-TTS test-en | WER (%) | 1.24 |
Benchmarks
No submitted benchmark reports yet.