Nodes/ComfyUI-QwenImageLoraLoader/Nunchaku Qwen Image LoRA Stack V2
ComfyUI Node

Nunchaku Qwen Image LoRA Stack V2

The LoRA stack with the AWQ modulation toggle

By ussoewwin·Created 10 months ago·Updated 23 days ago· 340
Nunchaku Qwen Image LoRA Stack V2
  • model
  • MODEL
lora_count3
cpu_offloaddisable
apply_awq_modfalse
lora_name_1
lora_strength_11.00
lora_name_2
lora_strength_21.00
lora_name_3
lora_strength_31.00
lora_name_4
lora_strength_41.00
lora_name_5
lora_strength_51.00
lora_name_6
lora_strength_61.00
lora_name_7
lora_strength_71.00
lora_name_8
lora_strength_81.00
lora_name_9
lora_strength_91.00
lora_name_10
lora_strength_101.00

V2 is the version where the experimental AWQ modulation support first showed up as a switch you control. If that phrase means nothing yet, it's the whole reason this node exists as a separate version, so let's start there. It's a multi-LoRA stacker for Nunchaku-quantized Qwen-Image, dynamic UI, and it's compatible with ComfyUI's Nodes 2.0 (beta) canvas, which V1 wasn't.

Context in one breath: Nunchaku (MIT HAN Lab's SVDQuant engine) runs Alibaba's 20B Qwen-Image in 4-bit so it fits on real hardware, and stock LoRA loaders can't touch those quantized weights. This pack makes LoRAs work on them.

The AWQ modulation thing, explained

When Nunchaku quantizes the model, it AWQ-quantizes the modulation layers specifically, the img_mod.1 and txt_mod.1 layers. Those layers control how the model scales and shifts its activations, and when the pack tried to apply LoRA weights to them the naive way, the result was visible noise in the image. The fix is a runtime monkey-patch the author calls "Manual Planar Injection," and V2 is where it's exposed as an opt-in toggle. It's flagged experimental: if it's clean, the plan is to fold it into the other versions too (V3 already turns it on permanently). So V2 is the node where you get to A/B it yourself, on versus off, and see whether it helps your particular LoRA.

The inputs and outputs that matter

  • model (MODEL) - your Nunchaku Qwen-Image model.
  • lora_count (1–10, default 3) - how many LoRA rows to show.
  • cpu_offload (auto / enable / disable, default disable) - offload to RAM for VRAM headroom.
  • apply_awq_mod (default false) - the experimental toggle above. Off by default here. Flip it on if you're seeing modulation-related noise or you just want to test the fuller LoRA application.
  • lora_name_1 … lora_name_10 and lora_strength_1 … lora_strength_10 - the per-slot file and strength. Default strength 1.0; set a name to None to skip a slot.

Output is a single patched MODEL for your sampler.

Installing it

Ships with the pack. ComfyUI Manager, search, install, restart, or clone it:

cd ComfyUI/custom_nodes
git clone https://github.com/ussoewwin/ComfyUI-QwenImageLoraLoader

then restart. You still need the official ComfyUI-nunchaku plugin installed and working underneath it, and a Nunchaku Qwen model downloaded. Nunchaku's wheel has to match your PyTorch and CUDA versions, which is the one genuinely finicky step, so sort that before adding this. Python 3.11+.

Where people get burned

  • apply_awq_mod is experimental for a reason. If enabling it changes your output in a way you don't like, turn it back off, that's exactly why it's a switch and not baked in. It's the newest and least-settled part of the node.
  • Only Standard and PEFT LoRAs apply. LoKR, LoHa and IA3 are silently skipped on Nunchaku. A row that does nothing is usually a wrong-format LoRA, not a broken node.
  • Lightning-on-lightning gives black images. If your Nunchaku model already bakes in a 4-step lightning distillation, don't stack another lightning LoRA on top. And if you get black frames with none of that going on, try disabling SageAttention and any torch.compile node at startup, they're a known cause of black-image runs on this stack.
CategoryNunchaku

Inputs (24)

NameTypeDefaultDescription
modelMODELThe diffusion model to apply LoRAs to.
lora_countINT31–10Number of LoRA slots to process.
cpu_offloadCOMBOdisableCPU offload setting. 'auto' enables offload when VRAM is low, 'enable' forces offload, 'disable' disables offload.
apply_awq_modBOOLEANfalseForce enable LoRA application to AWQ modulation layers (img_mod/txt_mod). May cause noise in some cases, but required for style LoRAs like Flat Color.
lora_name_1optCOMBOThe file name of LoRA 1. Select 'None' to skip this slot.
lora_strength_1optFLOAT1.00-100–100Strength for LoRA 1.
lora_name_2optCOMBOThe file name of LoRA 2. Select 'None' to skip this slot.
lora_strength_2optFLOAT1.00-100–100Strength for LoRA 2.
lora_name_3optCOMBOThe file name of LoRA 3. Select 'None' to skip this slot.
lora_strength_3optFLOAT1.00-100–100Strength for LoRA 3.
lora_name_4optCOMBOThe file name of LoRA 4. Select 'None' to skip this slot.
lora_strength_4optFLOAT1.00-100–100Strength for LoRA 4.
lora_name_5optCOMBOThe file name of LoRA 5. Select 'None' to skip this slot.
lora_strength_5optFLOAT1.00-100–100Strength for LoRA 5.
lora_name_6optCOMBOThe file name of LoRA 6. Select 'None' to skip this slot.
lora_strength_6optFLOAT1.00-100–100Strength for LoRA 6.
lora_name_7optCOMBOThe file name of LoRA 7. Select 'None' to skip this slot.
lora_strength_7optFLOAT1.00-100–100Strength for LoRA 7.
lora_name_8optCOMBOThe file name of LoRA 8. Select 'None' to skip this slot.
lora_strength_8optFLOAT1.00-100–100Strength for LoRA 8.
lora_name_9optCOMBOThe file name of LoRA 9. Select 'None' to skip this slot.
lora_strength_9optFLOAT1.00-100–100Strength for LoRA 9.
lora_name_10optCOMBOThe file name of LoRA 10. Select 'None' to skip this slot.
lora_strength_10optFLOAT1.00-100–100Strength for LoRA 10.

Outputs (1)

NameTypeDescription
MODELMODELThe modified diffusion model with all LoRAs applied.