Z-Image-Turbo was already fast at 8 steps. NitroFusion2 takes it down to 1 or 2 steps, and it runs in plain ComfyUI with no custom nodes.
On an RTX 4090 the bf16 file needs about half a second per step at 1024×1024. That makes a 1-step image close to instant.
This guide covers every file you need and where it goes, the 1-step and 2-step settings, which quant to pick for your GPU, and fixes for the problems you are most likely to hit.
- What: a 1-2 step distill of Z-Image-Turbo (6B) by Dar-Yen Chen and Yi-Zhe Song, released 3 Nov 2026 under Apache 2.0.
- Model:
nf2-bf16.safetensors(12.31 GB) inComfyUI/models/diffusion_models/, or a smaller int8, W6A8, W4A8 or GGUF file. - Also needed:
qwen_3_4b.safetensorsinmodels/text_encoders/(type lumina2) andae.safetensorsinmodels/vae/. - 1 step: euler, simple, CFG 1, shift 3.
- 2 steps: shift 6, plus
nf2-dedistill-lora.safetensorsat 0.5 on step 1 and 0 on step 2. - Speed: 0.50 s per step for bf16 and about 0.29 s for int8 on an RTX 4090 (author’s numbers).
What Is NitroFusion2?
NitroFusion2 is a distilled version of Tongyi-MAI’s Z-Image-Turbo, a 6B text-to-image model. The base turbo model normally needs about 8 steps. NitroFusion2 is trained to give a finished image in 1 step, or a cleaner one in 2.
The trick is in how it was trained. The authors apply an adversarial loss to the text stream of the MMDiT, so the discriminator judges the image through the prompt’s eyes.
According to the authors, this keeps typography and small detail better at 1 step than normal step distillation. The method is described in the paper arXiv 2611.05648.
| Spec | NitroFusion2 |
|---|---|
| Base model | Z-Image-Turbo (Tongyi-MAI) |
| Parameters | 6B |
| Steps | 1 or 2 (inference script supports 1-4) |
| CFG | 1 in ComfyUI (guidance 0 in Diffusers) |
| Native resolution in examples | 1024×1024 |
| Licence | Apache 2.0 |
| Released | 3 November 2026 |
| Custom nodes needed | None (ComfyUI-GGUF only for .gguf files) |
Files and ComfyUI Folders
You need three files: the NitroFusion2 model, the Z-Image text encoder and the Z-Image VAE. For 2 steps you also want the de-distill LoRA.
| File | Size | Folder | Where to get it |
|---|---|---|---|
nf2-bf16.safetensors |
12.31 GB | ComfyUI/models/diffusion_models/ |
ChenDY/NitroFusion2 |
nitrofusion2_int8_convrot.safetensors |
6.18 GB | ComfyUI/models/diffusion_models/ |
PedroMarinhoDev/NitroFusion2-ComfyUI |
nitrofusion2_w6a8.safetensors |
5.02 GB | ComfyUI/models/diffusion_models/ |
PedroMarinhoDev/NitroFusion2-ComfyUI |
nitrofusion2_w4a8.safetensors |
3.49 GB | ComfyUI/models/diffusion_models/ |
PedroMarinhoDev/NitroFusion2-ComfyUI |
nf2-Q2_K_4XS.gguf to nf2-Q8_0.gguf |
2.0 to 7.2 GB | ComfyUI/models/diffusion_models/ (or models/unet/) |
ChenDY/NitroFusion2 |
qwen_3_4b.safetensors |
Text encoder | ComfyUI/models/text_encoders/ |
Comfy-Org/z_image_turbo |
ae.safetensors |
VAE | ComfyUI/models/vae/ |
Comfy-Org/z_image_turbo |
nf2-dedistill-lora.safetensors |
LoRA | ComfyUI/models/loras/ |
ChenDY/NitroFusion2 |
Tip: if you already run Z-Image-Turbo, you already have qwen_3_4b.safetensors and ae.safetensors. Only download the NitroFusion2 model (and the LoRA for 2 steps).
The Comfy-Org repo also has smaller text encoders, qwen_3_4b_fp8_mixed.safetensors and qwen_3_4b_fp4_mixed.safetensors. They help on low-VRAM cards.
The final folder layout looks like this:
ComfyUI/
models/
diffusion_models/ nf2-bf16.safetensors (or an int8 / W4A8 / GGUF file)
text_encoders/ qwen_3_4b.safetensors
vae/ ae.safetensors
loras/ nf2-dedistill-lora.safetensors
Which Model File to Pick (bf16, int8, W4A8 or GGUF)
The author of the ComfyUI quant set measured each file at 1024×1024 on an RTX 4090, 1 step. “Error” is how far each quant’s prediction is from bf16, measured on 12 prompts with 4 seeds each.
| File | Size | Time per step (RTX 4090) | Error vs bf16 |
|---|---|---|---|
| bf16 | 12.31 GB | 0.50 s | 0 |
| int8 ConvRot | 6.18 GB | 0.29 s | 13.4% |
| W6A8 | 5.02 GB | 0.30 s | 17.5% |
| W4A8 | 3.49 GB | 0.29 s | 33.6% |
The author says most of that error shows up in fine texture, not in layout, faces or text. Treat the numbers as a ranking, not a quality score.
The VRAM guide below is my own rule of thumb from the file sizes. The model card does not give official VRAM figures.
| Your GPU | Pick | Why |
|---|---|---|
| 24 GB or more | bf16 | Best quality, fits with room to spare |
| 16 GB | int8 ConvRot (or bf16) | int8 is about 1.7x faster per step and much smaller; bf16 also loads if ComfyUI offloads the text encoder |
| 12 GB | int8 or GGUF Q8_0 | Both fit under about 7.2 GB |
| 8 GB | W6A8, W4A8 or GGUF Q4/Q5 | Leaves room for the VAE and activations |
| 6 GB or less | GGUF Q3/Q2 plus fp8 text encoder | Works, but expect softer detail |
Not sure what your card is using? My guide to checking GPU VRAM usage shows how to see it live.
1-Step Workflow Settings
Start with the official workflow workflows/nitrofusion2_1step.json from the model repo. Drag it into ComfyUI and it builds the whole graph.
- Load Diffusion Model: pick
nf2-bf16.safetensors(or your quant). - Load CLIP: pick
qwen_3_4b.safetensorsand set type to lumina2. - Load VAE: pick
ae.safetensors. - Latent size: 1024×1024 to start.
- Sampler settings: steps 1, CFG 1, sampler euler, scheduler simple, shift 3.
- Queue and the image should appear in about a second on a fast card.
| Setting | 1 step | 2 steps |
|---|---|---|
| Steps | 1 | 2 |
| CFG | 1 | 1 |
| Sampler | euler | euler |
| Scheduler | simple | simple |
| Shift | 3 | 6 |
| De-distill LoRA | Not used | 0.5 on step 1, 0 on step 2 |
Warning: keep CFG at 1. Higher CFG doubles the work and usually burns the image on distilled models.
Negative prompts also do nothing at CFG 1, so leave that box empty.
2-Step Workflow With the De-Distill LoRA
Two steps give cleaner edges and more detail. The authors note that 2 steps can show some artifacts, and the de-distill LoRA is there to reduce them.
The catch is that the LoRA must be on for the first step and off for the second. In ComfyUI the official nitrofusion2_2step.json does this with two sampler passes.
- Download
nf2-dedistill-lora.safetensorsintoComfyUI/models/loras/. - Load
workflows/nitrofusion2_2step.json. - First pass: the model goes through a LoRA loader at strength 0.5 and runs step 1 of 2.
- Second pass: the plain model (no LoRA) runs step 2 of 2 on the same latent.
- Keep shift at 6 on both passes.
Note: do not just add the LoRA at 0.5 to the 1-step graph. Leaving it on for every step is not what the authors trained for.
Using the GGUF Files
The GGUF files run from nf2-Q2_K_4XS.gguf (2.0 GB) to nf2-Q8_0.gguf (7.2 GB). They need the ComfyUI-GGUF custom node by city96.
- Install ComfyUI-GGUF from ComfyUI Manager, or clone it:
cd ComfyUI/custom_nodes git clone https://github.com/city96/ComfyUI-GGUF pip install --upgrade ggufUse the Python that runs your ComfyUI (on portable, that is
python_embeded\python.exe -m pip install --upgrade gguf). - Put the .gguf file in
ComfyUI/models/diffusion_models/(older setups usemodels/unet/). - Restart ComfyUI and load
nitrofusion2_1step_gguf.jsonornitrofusion2_2step_gguf.json. - Check the Unet Loader (GGUF) node points at your file.
New to this node? My ComfyUI-GGUF and Unet Loader guide explains it in full, and the GGUF quant guide explains Q4 vs Q8.
Tip: on 12 GB or more, I would take the int8 safetensors over GGUF Q8_0. It loads with the stock node and the author measured it as the fastest file.
NitroFusion2 vs Z-Image-Turbo and Other Fast Models
| Model | Steps | Size (bf16) | Best for |
|---|---|---|---|
| NitroFusion2 | 1-2 | 12.31 GB | Instant drafts, live prompt testing, batches |
| Z-Image-Turbo | About 8 | Same 6B base | Slightly more detail when time is not critical |
| Qwen-Image 2.1 Lightning v2 RL | 4 | Much larger (20B class) | Strong prompt following and text |
| Krea 2 Turbo | 3 | LoRA on Krea 2 | Krea 2 look in few steps |
| KroMoss | 8 | MOSS-Image based | MOSS-Image style on 16 GB |
NitroFusion2’s real advantage is size plus speed. A 6B model at 1 step leaves lots of VRAM free and makes prompt testing feel live.
Prompting Tips for 1-Step Images
- Be specific. At 1 step the model has no time to “think”, so describe subject, setting, light and style plainly.
- Put text in quotes. For signs or posters, write the exact words in quotes, for example a cafe sign that says “OPEN”.
- Use 1 step to search, 2 steps to keep. Find a good seed and prompt at 1 step, then re-run the same seed at 2 steps.
- Stay near 1 megapixel. 1024×1024, 1152×896 or 1344×768 match the training examples best.
- Upscale after. For bigger prints, upscale the finished image instead of rendering at 2K directly.
Troubleshooting
Black or noisy image
Usually the wrong text encoder type. In Load CLIP, set type to lumina2. Also check that the VAE is ae.safetensors, not a Qwen or SDXL VAE.
Image looks burnt or over-sharpened
CFG is above 1, or the shift is wrong. Use CFG 1, shift 3 for 1 step and shift 6 for 2 steps.
2-step image looks worse than 1-step
The LoRA is probably on for both steps, or missing entirely. Use the official 2-step workflow, where it is 0.5 on step 1 and off on step 2.
“Unet Loader (GGUF)” node is missing
ComfyUI-GGUF is not installed, or its gguf Python package is missing. Install both as shown above and restart ComfyUI.
Out of memory
Switch to int8, W4A8 or a smaller GGUF, and try the fp8 text encoder. My CUDA out of memory fix guide covers the ComfyUI launch flags too.
int8 file loads but is not faster
The speed numbers were measured on a recent ComfyUI master (commit fb2b26fda) with comfy-kitchen 0.2.41. Update ComfyUI first; older builds may not use the fast int8 path.
My Take
NitroFusion2 is the most fun way to use Z-Image right now. At 1 step it is fast enough to tweak a prompt and see the result almost as you type.
On a 16 GB card I would run the int8 file at 1 step to find ideas, then switch the same seed to the 2-step workflow for the keeper. You get a good image without the custom node clutter some speed tricks need.
FAQ
Is NitroFusion2 free for commercial use?
The model card lists Apache 2.0, which allows commercial use. Check the base Z-Image-Turbo licence too if you ship a product.
Does NitroFusion2 need custom nodes in ComfyUI?
No, the safetensors files use the standard Load Diffusion Model node. Only the GGUF files need ComfyUI-GGUF.
What text encoder does NitroFusion2 use?
The same as Z-Image-Turbo: qwen_3_4b.safetensors in models/text_encoders/, loaded with type lumina2.
Should I use 1 step or 2 steps?
Use 1 step for speed and testing. Use 2 steps with the de-distill LoRA when you want cleaner detail on a final image.
Can NitroFusion2 run on 8 GB VRAM?
Very likely, with the W4A8 file or a Q4/Q5 GGUF and the fp8 text encoder. The model card gives no official VRAM numbers, so treat this as a guide.
Is NitroFusion2 better than Z-Image-Turbo?
It is much faster. Z-Image-Turbo at about 8 steps can still give a bit more fine detail, so keep both if you have the space.
Can I use Z-Image LoRAs with NitroFusion2?
They share the same base, so many may load. Results at 1 step are not guaranteed, so test at low strength first.
