Nunchaku Z-Image-Turbo LoRA Stack V4
The Z-Image-Turbo LoRA stacker to use
- model
- clip
- MODEL
- CLIP
If you're on the official Nunchaku Z-Image loader, V4 is the Z-Image-Turbo stacker to use. It's the standard-ComfyUI-loader shape, model and CLIP in, model and CLIP out, per-row toggles, a master toggle_all, and it works on ComfyUI's Nodes 2.0 canvas. It uses the same compose_loras_v2 mapping as the Qwen V3 for what the README calls "perfect mapping," and it's aimed squarely at the official Nunchaku Z-Image loader (not the unofficial one that V2 pairs with). One requirement up front: V4 functionality needs Nunchaku 1.2.0+ and ComfyUI-Nunchaku 1.2.0+.
Z-Image-Turbo is Alibaba's 6B model that runs near-Flux photorealism on a 12GB card in about half a minute; through Nunchaku's 4-bit SVDQuant it's lighter again. Stock LoRA loaders can't patch quantized weights, so you need a purpose-built stacker, and this is the current best one for Z-Image.
How it works
Z-Image-Turbo carries a CLIP text encoder alongside the diffusion model, and LoRAs patch both, so V4 takes model and CLIP in and returns both patched. You add LoRA rows on the node face, toggle each one, set strengths, and the node applies every enabled LoRA using the same mapping as the well-regarded Qwen V3. The CLIP passthrough is the practical difference from V1: V4 follows the standard ComfyUI loader convention, which makes it drop cleanly into existing Z-Image graphs.
The inputs and outputs that matter
- model (MODEL) - your Nunchaku Z-Image-Turbo model, from the official Nunchaku Z-Image DiT loader.
- clip (CLIP) - the CLIP from that same loader. Required in V4; wire it through.
- lora_count (1–10, default 3) - how many LoRA rows appear.
- toggle_all (default true) - flips the whole stack at once.
- enabled_1 … enabled_10, lora_name_1 … lora_name_10, lora_strength_1 … lora_strength_10 - per-row toggle, file and strength (default 1.0).
Outputs are the patched MODEL and CLIP: model to your KSampler, CLIP to your text-encode nodes.
Installing it
ComfyUI Manager, search the pack, install, restart. Or clone:
cd ComfyUI/custom_nodes
git clone https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader
then restart. It rides on the official ComfyUI-nunchaku plugin, which you install and get working first, and for V4 you want Nunchaku 1.2.0 or newer. Nunchaku's wheel must match your PyTorch and CUDA versions, the one genuinely fiddly step. Python 3.11+.
Where people get burned
- Version too old. V4 needs Nunchaku 1.2.0+ and ComfyUI-Nunchaku 1.2.0+. On older versions it won't behave. Update both before troubleshooting anything else.
- Wrong loader. V4 is for the official Nunchaku Z-Image loader. If you're on the unofficial loader, that's V2's job, not this one.
- Overstacking Z-Image. More than one LoRA at a time tends to tank Z-Image quality, per repeated community reports. Keep the stack lean and test additions one at a time.
- LoKr LoRAs silently skipped. Only Standard and PEFT formats apply on Nunchaku. Since many Z-Image character LoRAs ship as LoKr, a "dead" row is very often a format mismatch, not a broken node. Refiner-layer (
context_refiner/noise_refiner) LoRAs aren't supported either.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The diffusion model to apply LoRAs to. | |
| clip | CLIP | The CLIP model to apply LoRAs to. | |
| lora_count | INT | 31–10 | Number of LoRA slots to process. |
| toggle_all | BOOLEAN | true | Enable/disable all LoRAs at once. |
| enabled_1opt | BOOLEAN | true | Enable/disable LoRA 1. |
| lora_name_1opt | COMBO | The file name of LoRA 1. Select 'None' to skip this slot. | |
| lora_strength_1opt | FLOAT | 1.00-100–100 | Strength for LoRA 1. |
| enabled_2opt | BOOLEAN | true | Enable/disable LoRA 2. |
| lora_name_2opt | COMBO | The file name of LoRA 2. Select 'None' to skip this slot. | |
| lora_strength_2opt | FLOAT | 1.00-100–100 | Strength for LoRA 2. |
| enabled_3opt | BOOLEAN | true | Enable/disable LoRA 3. |
| lora_name_3opt | COMBO | The file name of LoRA 3. Select 'None' to skip this slot. | |
| lora_strength_3opt | FLOAT | 1.00-100–100 | Strength for LoRA 3. |
| enabled_4opt | BOOLEAN | true | Enable/disable LoRA 4. |
| lora_name_4opt | COMBO | The file name of LoRA 4. Select 'None' to skip this slot. | |
| lora_strength_4opt | FLOAT | 1.00-100–100 | Strength for LoRA 4. |
| enabled_5opt | BOOLEAN | true | Enable/disable LoRA 5. |
| lora_name_5opt | COMBO | The file name of LoRA 5. Select 'None' to skip this slot. | |
| lora_strength_5opt | FLOAT | 1.00-100–100 | Strength for LoRA 5. |
| enabled_6opt | BOOLEAN | true | Enable/disable LoRA 6. |
| lora_name_6opt | COMBO | The file name of LoRA 6. Select 'None' to skip this slot. | |
| lora_strength_6opt | FLOAT | 1.00-100–100 | Strength for LoRA 6. |
| enabled_7opt | BOOLEAN | true | Enable/disable LoRA 7. |
| lora_name_7opt | COMBO | The file name of LoRA 7. Select 'None' to skip this slot. | |
| lora_strength_7opt | FLOAT | 1.00-100–100 | Strength for LoRA 7. |
| enabled_8opt | BOOLEAN | true | Enable/disable LoRA 8. |
| lora_name_8opt | COMBO | The file name of LoRA 8. Select 'None' to skip this slot. | |
| lora_strength_8opt | FLOAT | 1.00-100–100 | Strength for LoRA 8. |
| enabled_9opt | BOOLEAN | true | Enable/disable LoRA 9. |
| lora_name_9opt | COMBO | The file name of LoRA 9. Select 'None' to skip this slot. | |
| lora_strength_9opt | FLOAT | 1.00-100–100 | Strength for LoRA 9. |
| enabled_10opt | BOOLEAN | true | Enable/disable LoRA 10. |
| lora_name_10opt | COMBO | The file name of LoRA 10. Select 'None' to skip this slot. | |
| lora_strength_10opt | FLOAT | 1.00-100–100 | Strength for LoRA 10. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | The modified diffusion model with all LoRAs applied. |
| CLIP | CLIP | The modified CLIP model (unchanged). |