This is a GGUF-quantized version of the Qwen-Image-2512 diffusion transformer, produced with ByteShape's ShapeLearn, which learns the optimal datatype per tensor to maintain high quality even at very low bitlengths.
Six sizes are available, from 16.87 GB (6.61 bpw) down to 7.77 GB (3.04 bpw). All variants generate high-quality images.
Looking for more speed? We also publish a vLLM-Omni build of the same model with optimized Humming kernels, roughly 2-3x faster per step. See byteshape/Qwen-Image-2512-Humming.
To learn more about ShapeLearn, and for the full setup walkthrough with screenshots and downloadable ComfyUI workflows, visit our blog.
If you have questions or want to share feedback, reach us on Reddit.
A Note on Speed
Unlike the decoding stage of an LLM, diffusion inference is not heavily constrained by memory bandwidth. Compressing the model therefore does not necessarily make image generation faster. Quantization here buys you VRAM headroom, not throughput. Backend optimization is what moves the needle.
GGUF supports the widest range of platforms and hardware, but the current backend kernels are not highly optimized for these layers. On an NVIDIA RTX 5090, each diffusion step takes roughly 1.2 seconds, so a 20-step image with CFG enabled samples in about 24 seconds.
For measured peak VRAM and end-to-end times for every size at four output resolutions, with and without CPU offload, see the VRAM and speed table in the blog post.
What Do the Sizes Look Like?
One prompt rendered by BF16 and all six GGUF sizes, with a matching close-up crop of the HUD text under each variant
Quality does not fall off a cliff as the bits come off. Every piece of text (HP 100/100, Gold 250, WEAPONS, INN) renders cleanly at every bit-width, 3.04 bpw included. What drifts is scene detail: the fountain keeps its twin arcs down to 3.46 bpw and collapses to a single stream at 3.04, where the shop sign also trades its crossed sword-and-axe for two axes and the hard pixel edges soften into painterly shading. Differences like these are subtle and highly prompt-dependent, and the row above is one prompt out of 24.
Judge for yourself: the blog post walks through the full set, and the interactive comparison explorer lets you A/B any two variants across 24 curated prompts at full resolution, with a slider, zoom, and a curator note for each prompt. If you read the outputs differently, tell us on Reddit.
Available Models
The sizes below are for the diffusion model only. In ComfyUI you also load a text encoder (~5.1 GB with the recommended GGUF encoder) and the VAE (~0.25 GB). ComfyUI offloads whatever does not fit to system RAM, so smaller cards still work; they just run slower.
Selection rule: take the largest model that comfortably fits your VRAM alongside the text encoder. Since compression does not speed up diffusion, there is little reason to go smaller than your card allows.
Quick Start (ComfyUI)
1. Set up the environment
Create a Python environment, install ComfyUI, and add the ComfyUI-GGUF extension:
The text encoder conditions Qwen-Image on your prompt. Qwen-Image uses Qwen2.5-VL-7B-Instruct for this.
We did not quantize the text encoder ourselves: the model is mature, several high-quality quantizations already exist, and it contributes little to overall inference time. Choose one of the following.
Recommended: Bartowski Q4_K_L (5.1 GB). This is what our workflow template expects:
Once it starts, open a browser and go to http://127.0.0.1:8188 to reach the ComfyUI interface. If ComfyUI runs on a different machine, use that machine's address instead of 127.0.0.1.
4. Load the example workflow
If you are new to ComfyUI, download our ready-made workflow (byteshape-Qwen-Image-2512-GGUF-3.04bpw.json) from the blog post, then press Ctrl+O in ComfyUI and select the JSON file.
The workflow lets you select the three models, enter positive and negative prompts, and choose the output dimensions. The sampler node in the center controls the random seed, the number of sampling steps, and the other generation parameters. Reasonable starting points are 20 steps at 1024 x 1024.
The blog post has annotated screenshots of the loaded workspace.