Instructions to use AtomicChat/ZONOS3-Mini-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use AtomicChat/ZONOS3-Mini-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M
Use Docker
docker model run hf.co/AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M
- Llama new
- LM Studio
- Jan
- Ollama
How to use AtomicChat/ZONOS3-Mini-GGUF with Ollama:
ollama run hf.co/AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M
- Unsloth Desktop
- Docker Model Runner
How to use AtomicChat/ZONOS3-Mini-GGUF with Docker Model Runner:
docker model run hf.co/AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M
- Lemonade
How to use AtomicChat/ZONOS3-Mini-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull AtomicChat/ZONOS3-Mini-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.ZONOS3-Mini-GGUF-Q4_K_M
List all available models
lemonade list
- Atomic Chat
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf AtomicChat/ZONOS3-Mini-GGUF:# Run inference directly in the terminal:
llama cli -hf AtomicChat/ZONOS3-Mini-GGUF:Build from source code
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build -j --target llama-app# Start a local OpenAI-compatible server with a web UI:
./build/bin/llama serve -hf AtomicChat/ZONOS3-Mini-GGUF:# Run inference directly in the terminal:
./build/bin/llama cli -hf AtomicChat/ZONOS3-Mini-GGUF:Use Docker
docker model run hf.co/AtomicChat/ZONOS3-Mini-GGUF:ZONOS3-Mini โ GGUF (by AtomicChat)
- Built by the team behind Atomic Chat, the app that runs open-weight models locally and offline.
GGUF files of Zyphra/ZONOS3-Mini for llama.cpp. ZONOS3-Mini is a text-to-speech model: an 800M-parameter MoE backbone (about 100M active per frame, Gated DeltaNet + attention) predicts 10 codebooks per frame, and the ZAC codec turns them into 44.1 kHz audio. It ships 27 built-in voices in 10 languages.
Day-0 build. llama.cpp support for ZONOS3 is pull request #32020, still open when these files were made. They were converted and tested at the PR head
967726e4. If the format changes before the merge, we will re-convert and replace the files here.Zyphra's own repository also has a
gguf/folder. Those files are for Zyphra's own ggml runtime and do not load in llama.cpp. The files here are for llama.cpp.
Files
You need one backbone file + one mmproj. The mmproj holds the codebook heads, the 27 voices and the codec decoder (keep2_plain).
| File | GB on disk | bpw | CER EN | CER DE | CER ZH | voice similarity vs BF16 (EN / DE / ZH) |
|---|---|---|---|---|---|---|
ZONOS3-Mini-BF16.gguf |
1.61 | 16.0 | 0.06% | 0.00% | 0.91% | reference (0.960 / 0.956 / 0.853) |
ZONOS3-Mini-Q8_0.gguf |
0.85 | 8.52 | 0.06% | 0.00% | 1.01% | +0.001 / โ0.003 / +0.007 |
ZONOS3-Mini-AD-Q6_K.gguf |
0.67 | 6.70 | 0.09% | 0.00% | 1.29% | โ0.001 / โ0.002 / +0.006 |
ZONOS3-Mini-AD-Q5_K_M.gguf |
0.61 | 6.03 | 0.06% | 0.00% | 1.66% | +0.001 / โ0.002 / +0.009 |
ZONOS3-Mini-AD-Q4_K_M.gguf |
0.51 | 5.07 | 0.06% | 0.00% | 1.10% | โ0.002 / โ0.005 / +0.009 |
ZONOS3-Mini-AD-Q3_K_M.gguf |
0.41 | 4.09 | 0.09% | 0.00% | 1.62% | โ0.004 / โ0.007 / โ0.002 |
stock Q4_K_M (baseline, not shipped) |
0.48 | 4.83 | 0.09% | 0.11% | 2.74% | +0.003 / โ0.008 / +0.002 |
| mmproj | GB on disk | CER EN / DE / ZH (BF16 backbone) | voice similarity vs F32 (EN / DE / ZH) |
|---|---|---|---|
mmproj-ZONOS3-Mini-F32.gguf |
1.07 | 0.06% / 0.00% / 0.91% | reference |
mmproj-ZONOS3-Mini-F16.gguf |
0.62 | 0.03% / 0.00% / 1.08% | +0.001 / โ0.001 / โ0.003 |
Bold numbers are differences whose 95% interval excludes zero. All others are within the sampling noise of BF16.
- Recommended: AD-Q4_K_M + mmproj F16, about 1.13 GB in total. In this test it is within noise of BF16 everywhere except a small drop in German voice similarity.
- Smallest: AD-Q3_K_M (0.41 GB). Its losses are small but measurable: Chinese CER +0.7 pt, voice similarity โ0.004 to โ0.007.
- The stock Q4_K_M preset is the same size, and it loses more on Chinese (+1.8 pt CER, significant). The AD file keeps everything except the experts at Q8_0 and moves the experts'
ffn_downone step up. - The mmproj F16 is within noise of F32 on these metrics and is 0.45 GB smaller (some of its tensors stay F32). The PR suggests F32, so it is kept here too.
Samples (AD-Q4_K_M + mmproj F32, seed 1):
EN, Imogen_en-British_F_1 |
DE, Wolfgang_de_M_1 |
ZH, Meilin_zh-energetic_F_1 |
|---|---|---|
Run it
Build llama.cpp at the PR (add -DGGML_CUDA=ON for NVIDIA; Metal is on by default on Apple Silicon):
git clone https://github.com/ggml-org/llama.cpp && cd llama.cpp
git fetch origin pull/32020/head && git checkout 967726e4
cmake -B build && cmake --build build -j --target llama-tts
Speak:
./build/bin/llama-tts -m ZONOS3-Mini-AD-Q4_K_M.gguf -mm mmproj-ZONOS3-Mini-F16.gguf -ngl 99 \
-p "The old lighthouse keeper climbed the spiral stairs every evening." \
--tts-voice Imogen_en-British_F_1 --output out.wav
- The language is the language of the text, so there is no language flag. Give it normalized text: numbers, dates and abbreviations are read as written.
- Sampling follows the reference settings (temperature 0.75, top-k 80, top-p 0.69, repetition penalty 2.4).
--tempchanges the temperature. - Voice cloning (
--tts-speaker-file) is not supported in the PR yet. Use one of the built-in voices.
Built-in voices (--tts-voice; the first one is the default):
| Language | Voices |
|---|---|
| English | Cillian_en-Irish_M_1, Imogen_en-British_F_1, Jett_en-energetic_M_1, Morgana_en-witch_F_1, Rupert_en-British_M_1, Sakura_en-anime_F_1, Savannah_en-American_F_1, Thaddeus_en-announcervoice_M_1, Willow_en-asrm_F_1, Wyatt_en-American_M_1 |
| German | Liesel_de_F_1, Wolfgang_de_M_1 |
| Mandarin Chinese | Haoran_zh-energetic_M_1, Meilin_zh-energetic_F_1 |
| French | Gaspard_fr_M_1 |
| Spanish | Rodrigo_es_M_1, Ximena_es_F_1 |
| Italian | Ginevra_it_F_1, Lorenzo_it_M_1 |
| Portuguese | Leonor_pt_F_1, Thiago_pt_M_1 |
| Korean | Minjun_ko_M_1, Seoyeon_ko_F_1 |
| Hindi | Ananya_hi_F_1, Arjun_hi_M_1 |
| Telugu | Chaitanya_te_M_1, Sravya_te_F_1 |
Speed. On one NVIDIA A10, a 13-second English paragraph renders about 5ร faster than real time in a single stream, with every file. About three quarters of the time goes to the codec decoder in the mmproj, so the smaller backbone files save memory and disk, not time.
How these files were made and measured
- Conversion. The source is
Zyphra/ZONOS3-Mini@eaac3146, converted with the PR's converter: BF16 backbone, F32 and F16 mmproj. The real tensor types of every file were checked; there are no silent type swaps. - Layout. The 64 experts per layer are 94% of the backbone. They carry each file's type:
gate/upat the named type,downone step up (Q6_K holds all three at Q6_K). Everything else stays Q8_0: the text table, the GDN and attention projections, the dense first layer and the latent MoE projections. The router stays F32. - No imatrix.
llama-imatrixfeeds plain text, while this backbone reads text plus audio-code frames, so an imatrix would calibrate on the wrong inputs. K-quants down to Q3_K were measured without one. - Test. 20 sentences ร 3 seeds ร 3 languages (EN, DE, ZH) per file, 180 clips per file, 1,440 clips in total (7 backbone files with the F32 mmproj, plus BF16 with the F16 mmproj). Every file gets the same voices, seeds and llama.cpp build.
- Each clip is transcribed by Whisper large-v3-turbo and scored by character error rate. CER is lower-cased and without punctuation; for Chinese it is per character.
- Voice similarity is the cosine between WavLM-base-plus-sv speaker embeddings of the clip and the voice's reference recording.
- Differences to BF16 are paired by sentence and seed, with a bootstrap over sentences.
- No generation of any file ran away to the 40-second cap.
- Reading the numbers. These metrics measure intelligibility and voice identity. They do not measure prosody or subtle audio artifacts, so listen before you rely on the smallest files. Most Chinese errors are Whisper confusing homophones (ๅฏน/ๅ , ๅ/ไธ), and the BF16 file shows the same ones. That is why the Chinese CER is not zero for any file.
- All results, per-clip transcripts, MP3 copies of every scored clip, logs and scripts are in AtomicChat/ZONOS3-Mini-GGUF-metrics.
Base model & license
Base model: Zyphra/ZONOS3-Mini by Zyphra. The weights are released under Apache 2.0, and these files keep it (see LICENSE). Model details, samples and evaluations are in Zyphra's blog post.
Quants by AtomicChat.
- Downloads last month
- -
3-bit
4-bit
5-bit
6-bit
8-bit
16-bit
Model tree for AtomicChat/ZONOS3-Mini-GGUF
Base model
Zyphra/ZONOS3-Mini



Install (macOS, Linux)
# Start a local OpenAI-compatible server with a web UI: llama serve -hf AtomicChat/ZONOS3-Mini-GGUF:# Run inference directly in the terminal: llama cli -hf AtomicChat/ZONOS3-Mini-GGUF: