Nunchaku Z-Image-Turbo LoRA Stack V1
Rgthree-style LoRA stacking for Z-Image-Turbo
- model
- clip
- MODEL
- CLIP
This is the Z-Image-Turbo side of the pack, with the tidy rgthree-style row UI. If you've been using the Qwen stackers here and now want the same thing for Z-Image-Turbo running under Nunchaku, this is where you land. One row per LoRA, a toggle, a name, a strength, clean layout, and it plugs into the official Nunchaku Z-Image loader.
Worth knowing what Z-Image-Turbo is, because it's a genuinely great fit for this. It's Alibaba's 6B model, roughly a fifth the size of Flux 2, that put near-Flux quality on 12GB cards and became the community's default for fast local photorealism, around 30 seconds an image on a 3060. Run it under Nunchaku's 4-bit quantization and it gets even lighter. The catch, same as everywhere in this pack, is that stock ComfyUI LoRA loaders can't patch Nunchaku-quantized weights, so you need a loader built for it. This is that loader for Z-Image-Turbo.
How it works
Z-Image-Turbo patches both the diffusion model and the CLIP text encoder, so unlike the Qwen stackers this node carries CLIP through as well. The LoRA rows sit on the node face as rgthree-style widgets, you add them, toggle them, set strengths, and the node maps every enabled LoRA onto the quantized model (it uses the pack's compose_loras_v2 mapping) and hands back both a patched model and a patched CLIP.
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 the same loader. Required here; wire it in.
- stack_enabled (default true) - master switch for the whole stack, useful for an A/B against the plain model.
The LoRA rows themselves live as UI widgets on the node. Outputs are the patched MODEL and CLIP: model to your KSampler, CLIP to your text-encode nodes.
The Nodes 2.0 catch
Like the rgthree-style Qwen V1, this node uses the JavaScript row UI and does not work properly on ComfyUI's Nodes 2.0 canvas. Use the standard (LiteGraph) canvas. If you're on Nodes 2.0, pressing F5 to refresh makes changes register, but the cleaner path is the legacy canvas, or use V4 for Z-Image-Turbo, which was built for Nodes 2.0.
Installing it
ComfyUI Manager, search the pack, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader
then restart. You need the official ComfyUI-nunchaku plugin installed and working, with a Nunchaku Z-Image-Turbo model downloaded. Nunchaku's wheel has to match your PyTorch/CUDA, so get that running first. Python 3.11+.
Where people get burned
- Wrong canvas. Nodes 2.0 mangles this node's rows. That's the top reason it looks broken; switch to LiteGraph.
- Stacking too many LoRAs on Z-Image. The community's repeated finding is that Z-Image tends to collapse in quality when you run more than one LoRA at once. Keep the stack small and check each one on a fixed seed before piling on.
- LoKr LoRAs are skipped. Only Standard and PEFT formats apply. This one stings on Z-Image specifically, because a lot of Z-Image character adapters are published as LoKr, and those get silently dropped on Nunchaku. Check the format before assuming the node failed. Also note the pack can't map
context_refiner/noise_refinerrefiner-layer LoRAs, so avoid those too.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The diffusion model to apply LoRAs to. | |
| clip | CLIP | The CLIP model (unchanged, for standard interface compatibility). | |
| stack_enabled | BOOLEAN | true | Master Switch: Enable or disable the entire LoRA stack processing. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | The modified diffusion model with all LoRAs applied. |
| CLIP | CLIP | The CLIP model (unchanged). |