File size: 10,793 Bytes
2f949dd ac4042d 2f949dd ac4042d 2f949dd 96e348d 2f949dd c380de7 2f949dd c380de7 2f949dd ac4042d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | ---
license: apache-2.0
library_name: stable-diffusion.cpp
pipeline_tag: text-to-image
base_model:
- Tongyi-MAI/Z-Image-Turbo
tags:
- gguf
- stable-diffusion.cpp
- text-to-image
- cpu
- cpu-only
- no-gpu
- on-device
- edge
- local
- quantized
- z-image
- zimage
- pocket
- vidraft
---
> ### π **[POCKET-Qwen3.8-Flash-Next](https://huggingface.co/FINAL-Bench/POCKET-Qwen3.8-Flash-Next-GGUF)** β a **180B** model running on a **laptop with 8 GB VRAM + 32 GB RAM** Β· **4.17 tok/s measured**.
> [](https://huggingface.co/FINAL-Bench/POCKET-Qwen3.8-Flash-Next-GGUF) []() []() []() <!-- POCKET-FLASHNEXT-BADGE -->
> ### π Collections
> **βΆ [POCKET Models](https://huggingface.co/collections/FINAL-Bench/pocket-models-6a618ee5d23eafb7e185a5c6)** β this family (on-device, no GPU)
> [Darwin Family](https://huggingface.co/collections/FINAL-Bench/darwin-family-699987b1f652864af0122193) Β· [Aether Foundation](https://huggingface.co/collections/FINAL-Bench/aether-foundation-model-6a5c7f2fa1a4165c0414e53a) Β· [VKAE Accelerated](https://huggingface.co/collections/FINAL-Bench/vkae-accelerated-6a47231d7e7999dd8227675a)
# POCKET-Zimage-CPU
**Pick your build β** [](https://huggingface.co/FINAL-Bench/POCKET-35B-GGUF) [](https://huggingface.co/FINAL-Bench/POCKET-26B-GGUF) [](https://huggingface.co/FINAL-Bench/POCKET-KR-GGUF) [-0f6e56)](https://huggingface.co/FINAL-Bench/POCKET-KR-MLX) [](https://huggingface.co/FINAL-Bench/POCKET-EN-GGUF) [](https://huggingface.co/FINAL-Bench/POCKET-Qwen3.8-Flash-Next-GGUF) [](https://huggingface.co/FINAL-Bench/POCKET-Image-Zimage) [](https://huggingface.co/FINAL-Bench/POCKET-Zimage-CPU)
### Photoreal images in **46 seconds** on a **CPU only**. No GPU. No CUDA. No Python.
> π **Try it live, no install β** [](https://huggingface.co/spaces/FINAL-Bench/POCKET-Zimage-CPU) β generating on a **CPU-only** box.
[](https://www.apache.org/licenses/LICENSE-2.0) [](https://github.com/leejet/stable-diffusion.cpp) []() [](https://huggingface.co/Tongyi-MAI/Z-Image-Turbo) []()
**The POCKET lineup β** [-ff6b35)](https://huggingface.co/FINAL-Bench/POCKET-Zimage-CPU) [](https://huggingface.co/FINAL-Bench/POCKET-35B-GGUF) [](https://huggingface.co/FINAL-Bench/POCKET-KR-GGUF) [-0f6e56)](https://huggingface.co/FINAL-Bench/POCKET-KR-MLX) [](https://huggingface.co/FINAL-Bench/POCKET-EN-GGUF) [](https://huggingface.co/FINAL-Bench/POCKET-26B-GGUF)
---
## Why this exists
Every image model assumes you have a GPU. Most machines don't.
POCKET-Zimage-CPU is Z-Image-Turbo packaged so that **a plain office PC** β no graphics card, no CUDA, no Python environment β produces a photoreal 512Γ512 image in **under a minute**. One binary, three files, done.
## Samples
<table>
<tr>
<td width="33%"><img src="./samples/apple_3steps.png" width="100%"><br><sub><b>3 steps</b> Β· 48.6 s Β· the default we ship</sub></td>
<td width="33%"><img src="./samples/apple_4steps.png" width="100%"><br><sub>4 steps Β· 60.7 s Β· no visible gain</sub></td>
<td width="33%"><img src="./samples/apple_korean_prompt.png" width="100%"><br><sub>Korean prompt Β· note it lost the count</sub></td>
</tr>
</table>
<sub>Prompt: <code>a red apple on a wooden table, photorealistic</code> β Korean: <code>λ무 νμ μμ λμΈ λΉ¨κ° μ¬κ³Ό, μ¬μ€μ μΈ μ¬μ§</code>. Same seed, CPU only.</sub>
## Measured, not claimed
All numbers below are from our own runs. **GPU count used: zero.**
| Resolution | Time | Sampling | VAE | Peak RAM |
|---|---|---|---|---|
| **512 Γ 512** | **46.4 s** | 32.7 s | 12.5 s | **6.42 GB** |
| 512 Γ 512 (Korean prompt) | **45.3 s** | 32.1 s | 12.0 s | 6.42 GB |
| 1024 Γ 1024 | 192.7 s | 135.1 s | 55.8 s | 6.76 GB |
<sub>Intel Xeon Gold 6526Y Γ2 (32 cores / 64 threads), 48 threads, Q4_0, 3 steps, `--fa --vae-tiling`. Single run per row.</sub>
**Korean prompts cost nothing extra** β 45.3 s vs 46.4 s. Language is not a speed penalty here.
## How it got 5.3Γ faster
We started at 244 seconds and ended at 46. Every step is measured:
| Change | Time | Peak RAM |
|---|---|---|
| Default settings (20 steps) | 244 s | 8.16 GB |
| β 4 steps | 62.1 s | 8.16 GB |
| β `--fa` (flash attention) | 59.5 s | 8.18 GB |
| β 3 steps | 48.6 s | 8.00 GB |
| β `--vae-tiling` | **46.4 s** | **6.42 GB** |
**The big one is step count.** Z-Image **Turbo** is distilled for few-step sampling, but the tool's default is 20. Using the default throws away 5Γ for nothing.
**3 steps is the floor.** At 4 and 3 we cannot tell the images apart. At 2 the surface collapses β water droplets and wood grain vanish and the texture turns cloth-like.
**`--vae-tiling` is free.** It cuts VAE time 16% *and* peak RAM by 1.27 GB. At 1024Γ1024 it is the difference between 13.3 GB and 6.76 GB.
**Do not use every thread you have.** On a 32-core / 64-thread box, 48 threads took 59.5 s and **64 threads took 108.8 s** β 1.8Γ slower. Hyper-threads fight each other for the same physical cores.
## Files
| File | Size | What |
|---|---|---|
| `z_image_turbo-Q4_0-pocket.gguf` | 3.51 GB | Diffusion model, 4-bit (VIDRAFT CPU build) |
| *(bring your own)* Qwen3-4B-Instruct-2507-Q4_K_M | 2.58 GB | Text encoder β [download](https://huggingface.co/lmstudio-community/Qwen3-4B-Instruct-2507-GGUF) |
| *(bring your own)* `ae.safetensors` | 0.16 GB | VAE β [download](https://huggingface.co/Tongyi-MAI/Z-Image-Turbo) |
| **Total** | **β 6.25 GB** | |
The diffusion model here is VIDRAFT's own CPU build of Z-Image-Turbo: 3.51 GB, with no visible quality change.
## Run it
Get a `stable-diffusion.cpp` binary ([releases](https://github.com/leejet/stable-diffusion.cpp/releases)), then:
```bash
sd-cli \
--diffusion-model z_image_turbo-Q4_0-pocket.gguf \
--vae ae.safetensors \
--llm Qwen3-4B-Instruct-2507-Q4_K_M.gguf \
-p "a red apple on a wooden table, photorealistic" \
--cfg-scale 1.0 --steps 3 --fa --vae-tiling \
-t 8 -H 512 -W 512 -o out.png
```
Set `-t` to your physical core count β **not** your thread count.
## Honest limits
- **It cannot render text.** Any words inside the image come out garbled, in every language. If you need accurate text in an image, this is the wrong tool.
- **Korean prompts lose count.** "A red apple" gives one apple in English and five or six in Korean. Korean has no articles, so the singular signal is weak for the encoder. Reproduced at both 20 and 3 steps, so it is the encoder, not the step count.
- **1024 Γ 1024 takes 3 minutes** on the machine above. Slower CPUs scale accordingly.
- **Measured on a server CPU.** Laptop and mini-PC numbers are not in yet.
## Credits and licensing
| Component | License | Author |
|---|---|---|
| Z-Image-Turbo (diffusion) | Apache-2.0 | Tongyi-MAI / Hangzhou Tongyi Laboratory |
| Qwen3-4B-Instruct (text encoder) | Apache-2.0 | Qwen, Alibaba |
| GGUF conversion (upstream) | Apache-2.0 | leejet |
| stable-diffusion.cpp (runtime) | MIT | leejet |
This repository redistributes a re-quantized copy of Z-Image-Turbo and keeps the original copyright notices. **We did not train this model.** What is ours is the CPU packaging, the 3-step setting, the re-quantization, and the measurements on this page.
## Related
| | Runs on | Strength |
|---|---|---|
| [POCKET-Image-Zimage](https://huggingface.co/FINAL-Bench/POCKET-Image-Zimage) | GPU (Python) | Faster, renders Korean text via glyph-init |
| **POCKET-Zimage-CPU** (this) | **CPU only** | **No GPU, single binary** |
Different jobs. Use the first if you have a graphics card, this one if you don't.
<!-- POCKET-FAMILY -->
---
## π§© The POCKET Family β On-device AI by VIDRAFT
*Big models, small hardware. No GPU, no cloud.*
**Models**
- π¦ [POCKET-35B-GGUF](https://huggingface.co/FINAL-Bench/POCKET-35B-GGUF) β flagship, PC / server, no GPU
- π¦ [POCKET-26B-GGUF](https://huggingface.co/FINAL-Bench/POCKET-26B-GGUF) β compact 26B
- π°π· [POCKET-KR-GGUF](https://huggingface.co/FINAL-Bench/POCKET-KR-GGUF) β Korean, Android
- π [POCKET-KR-MLX](https://huggingface.co/FINAL-Bench/POCKET-KR-MLX) β Korean, iPhone / Mac
- π [POCKET-EN-GGUF](https://huggingface.co/FINAL-Bench/POCKET-EN-GGUF) β English, phone / PC
- π» [POCKET-Qwen3.8-Flash-Next-GGUF](https://huggingface.co/FINAL-Bench/POCKET-Qwen3.8-Flash-Next-GGUF) β **180B on a laptop** (8 GB VRAM + 32 GB RAM)
- πΌοΈ [POCKET-Image-Zimage](https://huggingface.co/FINAL-Bench/POCKET-Image-Zimage) β character-perfect text in any image
- π₯οΈ [POCKET-Zimage-CPU](https://huggingface.co/FINAL-Bench/POCKET-Zimage-CPU) β photoreal images on a CPU only
**Demos & tools (Spaces)**
- π¨ [POCKET-Image Studio](https://huggingface.co/spaces/FINAL-Bench/POCKET-Image-Studio) β text-in-image, generate in-page
- π₯οΈ [POCKET-35B-CPU](https://huggingface.co/spaces/FINAL-Bench/POCKET-35B-CPU) β 35B answering on a CPU
- π₯οΈ [POCKET-26B-CPU](https://huggingface.co/spaces/FINAL-Bench/POCKET-26B-CPU) β 26B on a CPU
- πΌοΈ [POCKET-Zimage-CPU](https://huggingface.co/spaces/FINAL-Bench/POCKET-Zimage-CPU) β image generation on a CPU
π [Full POCKET collection](https://huggingface.co/collections/FINAL-Bench/pocket-models-6a618ee5d23eafb7e185a5c6)
<!-- /POCKET-FAMILY -->
|