Selective LoRA Loader (Qwen)
60-block control for Qwen-Image LoRAs
- model
- clip
- model
- clip
- info
What it is
Qwen-Image's 20B transformer has more blocks than any other architecture this pack covers - 60 of them - and this node gives you a toggle and a strength slider for every single one, instead of the one strength value a normal LoRA loader offers. That granularity matters more on a model this size: a Qwen-Image or Qwen-Image-Edit LoRA can carry a lot of unwanted baggage alongside the thing you actually wanted (a style bleeding into a subject LoRA, or vice versa), and with 60 blocks to work with you have a lot more room to isolate exactly which part of the LoRA is doing that.
The same pattern the pack's author documented on Z-Image - character identity clustering in later layers, style spreading earlier - is the working assumption behind this node's presets too (Late Only, Mid-Late, Skip Early, Mid Only, Early Only), though with 60 blocks instead of 30 the "late" range here is 45–59 rather than 20–29. Treat the presets as a starting hypothesis, not a guarantee, and verify with the analyzer below.
How it works
Same mechanism as this pack's other selective loaders, scaled up: the node loads your chosen LoRA, then lets you individually disable or reweight each of Qwen-Image's 60 blocks before patching the result onto your model and CLIP. Feed in analysis_json from LoRA Loader + Analyzer and the block checkboxes color themselves by measured weight magnitude - blue through red - so you can see which of the 60 blocks are actually carrying signal for the specific LoRA you loaded, rather than clicking through all of them manually.
Inputs and outputs that matter
model,clip,lora_name- standard loader inputs.strength- the overall multiplier (-5 to 5), applied on top of your per-block choices.preset- All Blocks, All Off, Late Only (45–59), Mid-Late (30–59), Skip Early (15–59), Mid Only (20–40), Early Only (0–29), Evens/Odds Only, or Custom.block_0throughblock_59, each paired with a_strstrength slider.other_weights/other_weights_str- a catch-all for weights that don't map to a numbered block.- Optional
lora_path_opttakes a direct file path, overriding the dropdown - useful chained offMusubiQwenImageLoraTrainer's orMusubiQwenImageEditLoraTrainer's output. Optionalanalysis_jsonenables the impact-colored checkboxes.
Outputs: model, clip, and info - a summary of what got applied.
Installing it
No external backend required - this node works as soon as the pack is installed. ComfyUI Manager (search "Realtime LoRA Trainer") or:
cd ComfyUI/custom_nodes
git clone https://github.com/ShootTheSound/comfyUI-Realtime-Lora
Restart ComfyUI.
Common issues
60 toggles is too many to reason about manually. Don't try - run LoRA Loader + Analyzer first and connect its analysis_json output here. Let the color-coded checkboxes tell you which blocks actually matter for your specific LoRA before you start disabling anything.
Edit-model LoRAs behave differently from generation-model LoRAs. Qwen-Image-Edit LoRAs (pose, angle, clothing-transfer LoRAs and similar) are trained against the Edit checkpoint specifically and won't do anything sensible loaded against plain Qwen-Image, or the reverse - that's a base-model mismatch, not something block selection fixes.
A subtle style LoRA disappears entirely with a "Late Only" preset. If your LoRA is a style adapter rather than a character one, the whole late-layers assumption inverts - style tends to sit earlier. Try Early Only or Skip Early instead, and confirm with the analyzer rather than trusting the preset name.
Result feels weaker after selective loading. Removing blocks removes some of the LoRA's total contribution - compensate with strength or the surviving blocks' individual sliders rather than assuming the LoRA itself is underpowered.
Inputs (129)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| lora_name | COMBO | Qwen-Image LoRA file to load | |
| strength | FLOAT | 1.00-5–5 | Overall LoRA strength |
| preset | COMBO | All Blocks | Quick preset selection. Choose 'Custom' to use individual toggles below. |
| block_0 | BOOLEAN | true | — |
| block_0_str | FLOAT | 1.00-5–5 | — |
| block_1 | BOOLEAN | true | — |
| block_1_str | FLOAT | 1.00-5–5 | — |
| block_2 | BOOLEAN | true | — |
| block_2_str | FLOAT | 1.00-5–5 | — |
| block_3 | BOOLEAN | true | — |
| block_3_str | FLOAT | 1.00-5–5 | — |
| block_4 | BOOLEAN | true | — |
| block_4_str | FLOAT | 1.00-5–5 | — |
| block_5 | BOOLEAN | true | — |
| block_5_str | FLOAT | 1.00-5–5 | — |
| block_6 | BOOLEAN | true | — |
| block_6_str | FLOAT | 1.00-5–5 | — |
| block_7 | BOOLEAN | true | — |
| block_7_str | FLOAT | 1.00-5–5 | — |
| block_8 | BOOLEAN | true | — |
| block_8_str | FLOAT | 1.00-5–5 | — |
| block_9 | BOOLEAN | true | — |
| block_9_str | FLOAT | 1.00-5–5 | — |
| block_10 | BOOLEAN | true | — |
| block_10_str | FLOAT | 1.00-5–5 | — |
| block_11 | BOOLEAN | true | — |
| block_11_str | FLOAT | 1.00-5–5 | — |
| block_12 | BOOLEAN | true | — |
| block_12_str | FLOAT | 1.00-5–5 | — |
| block_13 | BOOLEAN | true | — |
| block_13_str | FLOAT | 1.00-5–5 | — |
| block_14 | BOOLEAN | true | — |
| block_14_str | FLOAT | 1.00-5–5 | — |
| block_15 | BOOLEAN | true | — |
| block_15_str | FLOAT | 1.00-5–5 | — |
| block_16 | BOOLEAN | true | — |
| block_16_str | FLOAT | 1.00-5–5 | — |
| block_17 | BOOLEAN | true | — |
| block_17_str | FLOAT | 1.00-5–5 | — |
| block_18 | BOOLEAN | true | — |
| block_18_str | FLOAT | 1.00-5–5 | — |
| block_19 | BOOLEAN | true | — |
| block_19_str | FLOAT | 1.00-5–5 | — |
| block_20 | BOOLEAN | true | — |
| block_20_str | FLOAT | 1.00-5–5 | — |
| block_21 | BOOLEAN | true | — |
| block_21_str | FLOAT | 1.00-5–5 | — |
| block_22 | BOOLEAN | true | — |
| block_22_str | FLOAT | 1.00-5–5 | — |
| block_23 | BOOLEAN | true | — |
| block_23_str | FLOAT | 1.00-5–5 | — |
| block_24 | BOOLEAN | true | — |
| block_24_str | FLOAT | 1.00-5–5 | — |
| block_25 | BOOLEAN | true | — |
| block_25_str | FLOAT | 1.00-5–5 | — |
| block_26 | BOOLEAN | true | — |
| block_26_str | FLOAT | 1.00-5–5 | — |
| block_27 | BOOLEAN | true | — |
| block_27_str | FLOAT | 1.00-5–5 | — |
| block_28 | BOOLEAN | true | — |
| block_28_str | FLOAT | 1.00-5–5 | — |
| block_29 | BOOLEAN | true | — |
| block_29_str | FLOAT | 1.00-5–5 | — |
| block_30 | BOOLEAN | true | — |
| block_30_str | FLOAT | 1.00-5–5 | — |
| block_31 | BOOLEAN | true | — |
| block_31_str | FLOAT | 1.00-5–5 | — |
| block_32 | BOOLEAN | true | — |
| block_32_str | FLOAT | 1.00-5–5 | — |
| block_33 | BOOLEAN | true | — |
| block_33_str | FLOAT | 1.00-5–5 | — |
| block_34 | BOOLEAN | true | — |
| block_34_str | FLOAT | 1.00-5–5 | — |
| block_35 | BOOLEAN | true | — |
| block_35_str | FLOAT | 1.00-5–5 | — |
| block_36 | BOOLEAN | true | — |
| block_36_str | FLOAT | 1.00-5–5 | — |
| block_37 | BOOLEAN | true | — |
| block_37_str | FLOAT | 1.00-5–5 | — |
| block_38 | BOOLEAN | true | — |
| block_38_str | FLOAT | 1.00-5–5 | — |
| block_39 | BOOLEAN | true | — |
| block_39_str | FLOAT | 1.00-5–5 | — |
| block_40 | BOOLEAN | true | — |
| block_40_str | FLOAT | 1.00-5–5 | — |
| block_41 | BOOLEAN | true | — |
| block_41_str | FLOAT | 1.00-5–5 | — |
| block_42 | BOOLEAN | true | — |
| block_42_str | FLOAT | 1.00-5–5 | — |
| block_43 | BOOLEAN | true | — |
| block_43_str | FLOAT | 1.00-5–5 | — |
| block_44 | BOOLEAN | true | — |
| block_44_str | FLOAT | 1.00-5–5 | — |
| block_45 | BOOLEAN | true | — |
| block_45_str | FLOAT | 1.00-5–5 | — |
| block_46 | BOOLEAN | true | — |
| block_46_str | FLOAT | 1.00-5–5 | — |
| block_47 | BOOLEAN | true | — |
| block_47_str | FLOAT | 1.00-5–5 | — |
| block_48 | BOOLEAN | true | — |
| block_48_str | FLOAT | 1.00-5–5 | — |
| block_49 | BOOLEAN | true | — |
| block_49_str | FLOAT | 1.00-5–5 | — |
| block_50 | BOOLEAN | true | — |
| block_50_str | FLOAT | 1.00-5–5 | — |
| block_51 | BOOLEAN | true | — |
| block_51_str | FLOAT | 1.00-5–5 | — |
| block_52 | BOOLEAN | true | — |
| block_52_str | FLOAT | 1.00-5–5 | — |
| block_53 | BOOLEAN | true | — |
| block_53_str | FLOAT | 1.00-5–5 | — |
| block_54 | BOOLEAN | true | — |
| block_54_str | FLOAT | 1.00-5–5 | — |
| block_55 | BOOLEAN | true | — |
| block_55_str | FLOAT | 1.00-5–5 | — |
| block_56 | BOOLEAN | true | — |
| block_56_str | FLOAT | 1.00-5–5 | — |
| block_57 | BOOLEAN | true | — |
| block_57_str | FLOAT | 1.00-5–5 | — |
| block_58 | BOOLEAN | true | — |
| block_58_str | FLOAT | 1.00-5–5 | — |
| block_59 | BOOLEAN | true | — |
| block_59_str | FLOAT | 1.00-5–5 | — |
| other_weights | BOOLEAN | true | — |
| other_weights_str | FLOAT | 1.00-5–5 | — |
| lora_path_optopt | STRING | Optional: Connect from LoRA Analyzer to use its selected LoRA | |
| analysis_jsonopt | STRING | Optional: Connect from LoRA Analyzer for impact-colored checkboxes |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| info | STRING | — |