Nunchaku Qwen Image LoRA Stack (Legacy)
The original multi-LoRA stacker for Nunchaku Qwen
- model
- MODEL
This is the stacker that started it all in this pack, and the README labels it "Legacy" for a reason. It does the same core job as the single loader, applying LoRAs to a 4-bit Nunchaku Qwen-Image model, but it packs several into one node so you don't daisy-chain a separate loader per LoRA. If you're building a fresh workflow, the newer V3 is the one I'd point you at. This one is worth understanding because plenty of existing workflows still wire it in, and it's the simplest mental model of how stacking works here.
Fast recap for anyone landing cold: Nunchaku is MIT HAN Lab's SVDQuant engine that runs Alibaba's 20B Qwen-Image in 4-bit so it fits on a normal GPU, and stock ComfyUI LoRA loaders can't patch those quantized weights. This pack (lifted and modified from GavChap's nunchaku fork) is what makes LoRAs work on them at all.
How it works
You set how many LoRA slots you want, fill each with a file and a strength, and the node applies every one in sequence onto the model before it reaches the sampler. It's the exact same key-mapping the single loader does, just run in a loop. The thing to know about this version specifically: it's the plain dynamic-widget design with no per-row on/off toggle and none of the rgthree-style row layout the later versions borrowed. Every slot you spin up is a slot that fires. To disable a LoRA you set its name back to None rather than flicking a switch.
The inputs and outputs that matter
- model (MODEL) - your Nunchaku Qwen-Image model from the DiT loader.
- lora_count (1–10, default 3) - how many LoRA rows the node shows. Bump this and the matching name/strength pairs appear.
- cpu_offload (
auto/enable/disable, defaultdisable) - trade a little speed for VRAM headroom. Off by default is fine for most. - lora_name_1 … lora_name_10 and lora_strength_1 … lora_strength_10 - one pair per slot. Pick the file, set the strength (default 1.0). Set a name to
Noneto skip that slot.
Output is one patched MODEL for your KSampler. A word of caution that isn't specific to this node but bites here: stacking multiple LoRAs is unpredictable. Add them one at a time on a fixed seed, and if a stack starts throwing black images or NaNs, reorder it with the heavier LoRAs first.
Installing it
Comes with the pack. In ComfyUI Manager, search for it, install, restart. Or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader
and restart. As always with this pack, it doesn't bring Nunchaku along, you need the official ComfyUI-nunchaku plugin already installed and a Nunchaku Qwen model downloaded. Nunchaku wants a wheel matched to your PyTorch and CUDA versions, so get that working first. Python 3.11+.
Where people get burned
- Only Standard and PEFT LoRAs apply. LoKR, LoHa and IA3 get silently skipped on Nunchaku models. If a slot does nothing, check the LoRA's format before touching the node.
- A lightning/distill LoRA on an already-distilled model = black images. A common real-world screw-up: dropping a 4-step lightning LoRA into the stack when your Nunchaku model already has that lightning bake baked in. Two lots of the same distillation fight each other and you get a black frame. Don't double up.
- Reach for V3 if you're starting over. This one has no per-row toggle and doesn't get on well with ComfyUI's Nodes 2.0 canvas. The later stackers add clean toggles and Nodes 2.0 support; there's no reason to build a new graph around the legacy one.
Inputs (23)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The diffusion model to apply LoRAs to. | |
| lora_count | INT | 31–10 | Number of LoRA slots to process. |
| cpu_offload | COMBO | disable | CPU offload setting. 'auto' enables offload when VRAM is low, 'enable' forces offload, 'disable' disables offload. |
| lora_name_1 | COMBO | The file name of LoRA 1. Select 'None' to skip this slot. | |
| lora_strength_1 | FLOAT | 1.00-100–100 | Strength for LoRA 1. |
| lora_name_2 | COMBO | The file name of LoRA 2. Select 'None' to skip this slot. | |
| lora_strength_2 | FLOAT | 1.00-100–100 | Strength for LoRA 2. |
| lora_name_3 | COMBO | The file name of LoRA 3. Select 'None' to skip this slot. | |
| lora_strength_3 | FLOAT | 1.00-100–100 | Strength for LoRA 3. |
| lora_name_4 | COMBO | The file name of LoRA 4. Select 'None' to skip this slot. | |
| lora_strength_4 | FLOAT | 1.00-100–100 | Strength for LoRA 4. |
| lora_name_5 | COMBO | The file name of LoRA 5. Select 'None' to skip this slot. | |
| lora_strength_5 | FLOAT | 1.00-100–100 | Strength for LoRA 5. |
| lora_name_6 | COMBO | The file name of LoRA 6. Select 'None' to skip this slot. | |
| lora_strength_6 | FLOAT | 1.00-100–100 | Strength for LoRA 6. |
| lora_name_7 | COMBO | The file name of LoRA 7. Select 'None' to skip this slot. | |
| lora_strength_7 | FLOAT | 1.00-100–100 | Strength for LoRA 7. |
| lora_name_8 | COMBO | The file name of LoRA 8. Select 'None' to skip this slot. | |
| lora_strength_8 | FLOAT | 1.00-100–100 | Strength for LoRA 8. |
| lora_name_9 | COMBO | The file name of LoRA 9. Select 'None' to skip this slot. | |
| lora_strength_9 | FLOAT | 1.00-100–100 | Strength for LoRA 9. |
| lora_name_10 | COMBO | The file name of LoRA 10. Select 'None' to skip this slot. | |
| lora_strength_10 | FLOAT | 1.00-100–100 | Strength for LoRA 10. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | The modified diffusion model with all LoRAs applied. |