Selective LoRA Loader (Krea 2)
The no-frills way to cut a Krea 2 LoRA's problem blocks out
- model
- clip
- model
- clip
- info
- weights_output
Krea 2 trained a LoRA that's perfect except for one recurring artifact, and you'd rather not go back for another 45-minute training run? This is the node you reach for. It's the plain selective loader from the ShootTheSound/comfyUI-Realtime-Lora pack ("Realtime LoRA Trainer"): no analysis built in, no strength scheduling, no saving - just a row of 28 checkboxes and sliders that decide which parts of your LoRA actually get applied.
The idea, in case you haven't hit this concept yet: a LoRA's effect is spread across the model's blocks, and not evenly. Some blocks learned the subject's face, some the style, some are mostly noise that only shows up as artifacts at specific strengths. Being able to flip a block off - or run it at 0.4 instead of 1.0 - is the difference between a LoRA that's usable and one that's bin-bound. Krea 2's 12B DiT has 28 main SingleStreamBlocks, which is exactly the 28 checkboxes you get here.
How it works
Boring in the good way. The node reads your LoRA file straight out of models/loras, works out which block each tensor belongs to, keeps only the blocks you've enabled (scaling each by its own _str slider), and hands the filtered result to ComfyUI's standard LoRA loader. Blocks 0–8 are the early ones, 9–18 mid, 19–27 late - the late blocks tend to carry the identity-heavy stuff, so start your experiments there. The Krea 2 modules that don't map to a SingleStreamBlock - first, last.linear, tmlp, txtmlp, tproj, txtfusion - all fall under one other_weights toggle.
The inputs that matter
- model and clip - straight from your checkpoint and text encoder loaders, exactly like the stock LoraLoader.
- preset -
All Blocksby default, but the presets are where this earns its keep:Late Only (21-27),Mid-Late (14-27),Skip Early (7-27). These are one-click experiments that cost you nothing to try. - analysis_json - the one optional input worth knowing. Run the pack's "LoRA Loader + Analyzer" first and connect its JSON here; the checkboxes color-code by measured impact, so you're not guessing which blocks matter.
- lora_path_opt - connects from an analyzer (or a trainer, after a fresh train) and overrides the dropdown.
Outputs are model, clip, plus two strings: info (a summary of what got loaded, filtered, and scaled) and weights_output (the block profile, if you want to reuse it as text elsewhere).
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/ShootTheSound/comfyUI-Realtime-Lora
Restart ComfyUI. You can also grab it through ComfyUI Manager by searching "Realtime LoRA Trainer". Important: unlike the training nodes in this same pack, the loaders and analyzers need nothing extra installed - no sd-scripts, no Musubi Tuner, no AI-Toolkit. The requirements file is literally empty beyond what ComfyUI already ships. If you just want to load and tweak Krea 2 LoRAs, this is a one-command install.
Where people get burned
- Toggling everything off except
other_weightsproduces garbage output. Disable in ranges, not all-or-nothing. - block_weights_string, if you connect one, silently overrides every checkbox you set. It's a power-user feature; ignore it until you understand it.
- A selective loader can't fix a LoRA that's overcooked everywhere - block filtering is for removing specific, localized effects. If the whole thing's wrong, lower overall strength or retrain.
If you want the fancy version of this - the one that also shows you the impact scores, schedules strength over the generation, and can save the filtered result as a new LoRA - get the Krea 2 Analyzer + Selective Loader V2 from the same pack instead. But if you just want a checkbox to make the artifact go away, this is the one.
Inputs (66)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| lora_name | COMBO | Krea 2 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 | — |
| 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 | |
| block_weights_stringopt | STRING | Input/Output block profile string. Positional text syncs with the UI. String input overrides UI values. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| info | STRING | — |
| weights_output | STRING | — |