FLUX Analyzer + Selective Loader V2
57-block control with strength scheduling
- model
- positive
- negative
- model
- positive
- negative
- analysis
- analysis_json
What it is
FLUX's transformer splits into two block types - 19 "double" blocks that process image and text streams jointly, and 38 "single" blocks that process a merged stream - and this node gives you a toggle and strength slider for all 57. It combines what the pack's V1 nodes split across two: LoRA impact analysis and per-block selective loading, plus strength scheduling and a save-to-disk option neither V1 node had. If you're troubleshooting a Flux LoRA that's fighting your prompt, or trying to isolate a face LoRA's identity from its style baggage, this is the node built for that job.
The pack's guidance, echoing what its author found testing the same pattern on Z-Image, is that double blocks typically carry more impact than single blocks, with peak impact usually landing around double_8–17 - a reasonable place to start experimenting before you dig into the analysis output for your specific LoRA.
How it works
It loads the LoRA, scores each of the 57 blocks 0–100% by weight magnitude, and lets you disable or reweight any of them before patching the result onto your model and conditioning. What sets the V2 nodes apart from this pack's earlier Selective Loaders is strength scheduling: instead of one flat multiplier, you can vary the LoRA's influence across the generation using step:strength keyframes (steps as 0–1 fractions of total generation), picked from 40-plus built-in presets - fades, bell curves, step functions, and inverted versions of each - or written by hand.
Inputs and outputs that matter
model,positive,negative,lora_name- this node sits inline with your conditioning, not just your model/clip, so it can apply scheduling correctly.strength- the base multiplier (-10 to 10) before any schedule modifies it.preset- block-selection presets covering common splits (double-only, single-only, high-impact ranges, and more, per the node's built-in list).double_0–double_18andsingle_0–single_37, each with a paired_strstrength slider, plusother_weightsfor anything outside the mapped blocks.schedule_presetandstrength_schedule(optional) - named schedule or a customstep:strengthstring.save_refined_lora,save_path,save_filename(optional) - export your block-filtered selection as a new standalone LoRA.- Optional
lora_path_optoverrides the dropdown, useful chained straight off a trainer's output.
Outputs: model, positive, negative (patched/pass-through, wire into your sampler), analysis (readable report), analysis_json.
Installing it
No external backend required for this node - it 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
57 blocks is a lot to reason about by hand. Start from a preset - All Off plus re-enabling ranges is usually faster than toggling individually - and read the analysis output to see where this specific LoRA actually concentrated its weight before fine-tuning further.
Style disappears when isolating "double" blocks for identity. The double-blocks-carry-more-impact guidance is a general tendency, not a rule for every LoRA; some style LoRAs put real signal in single blocks or other_weights. Trust the measured analysis over the preset name if the two disagree.
Scheduling string gets silently ignored. Same format requirement as this pack's other V2 nodes: comma-separated step:strength pairs with steps as 0–1 fractions, not raw step counts. Start from a named preset and edit it rather than writing one from scratch.
Forgot conditioning is inline here. Because positive/negative route through this node, a broken wire here breaks your whole sampling graph in ways that look unrelated to the LoRA - confirm this node actually sits in your conditioning path if generation looks wrong.
Inputs (128)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| positive | CONDITIONING | Positive conditioning from CLIP encode | |
| negative | CONDITIONING | Negative conditioning from CLIP encode | |
| lora_name | COMBO | LoRA file to load and analyze | |
| strength | FLOAT | 1.00-10–10 | Overall LoRA strength (ignored when using schedule) |
| preset | COMBO | Default | Quick preset selection. Individual toggles below override when changed. |
| double_0 | BOOLEAN | true | — |
| double_0_str | FLOAT | 1.00-5–5 | — |
| double_1 | BOOLEAN | true | — |
| double_1_str | FLOAT | 1.00-5–5 | — |
| double_2 | BOOLEAN | true | — |
| double_2_str | FLOAT | 1.00-5–5 | — |
| double_3 | BOOLEAN | true | — |
| double_3_str | FLOAT | 1.00-5–5 | — |
| double_4 | BOOLEAN | true | — |
| double_4_str | FLOAT | 1.00-5–5 | — |
| double_5 | BOOLEAN | true | — |
| double_5_str | FLOAT | 1.00-5–5 | — |
| double_6 | BOOLEAN | true | — |
| double_6_str | FLOAT | 1.00-5–5 | — |
| double_7 | BOOLEAN | true | — |
| double_7_str | FLOAT | 1.00-5–5 | — |
| double_8 | BOOLEAN | true | — |
| double_8_str | FLOAT | 1.00-5–5 | — |
| double_9 | BOOLEAN | true | — |
| double_9_str | FLOAT | 1.00-5–5 | — |
| double_10 | BOOLEAN | true | — |
| double_10_str | FLOAT | 1.00-5–5 | — |
| double_11 | BOOLEAN | true | — |
| double_11_str | FLOAT | 1.00-5–5 | — |
| double_12 | BOOLEAN | true | — |
| double_12_str | FLOAT | 1.00-5–5 | — |
| double_13 | BOOLEAN | true | — |
| double_13_str | FLOAT | 1.00-5–5 | — |
| double_14 | BOOLEAN | true | — |
| double_14_str | FLOAT | 1.00-5–5 | — |
| double_15 | BOOLEAN | true | — |
| double_15_str | FLOAT | 1.00-5–5 | — |
| double_16 | BOOLEAN | true | — |
| double_16_str | FLOAT | 1.00-5–5 | — |
| double_17 | BOOLEAN | true | — |
| double_17_str | FLOAT | 1.00-5–5 | — |
| double_18 | BOOLEAN | true | — |
| double_18_str | FLOAT | 1.00-5–5 | — |
| single_0 | BOOLEAN | true | — |
| single_0_str | FLOAT | 1.00-5–5 | — |
| single_1 | BOOLEAN | true | — |
| single_1_str | FLOAT | 1.00-5–5 | — |
| single_2 | BOOLEAN | true | — |
| single_2_str | FLOAT | 1.00-5–5 | — |
| single_3 | BOOLEAN | true | — |
| single_3_str | FLOAT | 1.00-5–5 | — |
| single_4 | BOOLEAN | true | — |
| single_4_str | FLOAT | 1.00-5–5 | — |
| single_5 | BOOLEAN | true | — |
| single_5_str | FLOAT | 1.00-5–5 | — |
| single_6 | BOOLEAN | true | — |
| single_6_str | FLOAT | 1.00-5–5 | — |
| single_7 | BOOLEAN | true | — |
| single_7_str | FLOAT | 1.00-5–5 | — |
| single_8 | BOOLEAN | true | — |
| single_8_str | FLOAT | 1.00-5–5 | — |
| single_9 | BOOLEAN | true | — |
| single_9_str | FLOAT | 1.00-5–5 | — |
| single_10 | BOOLEAN | true | — |
| single_10_str | FLOAT | 1.00-5–5 | — |
| single_11 | BOOLEAN | true | — |
| single_11_str | FLOAT | 1.00-5–5 | — |
| single_12 | BOOLEAN | true | — |
| single_12_str | FLOAT | 1.00-5–5 | — |
| single_13 | BOOLEAN | true | — |
| single_13_str | FLOAT | 1.00-5–5 | — |
| single_14 | BOOLEAN | true | — |
| single_14_str | FLOAT | 1.00-5–5 | — |
| single_15 | BOOLEAN | true | — |
| single_15_str | FLOAT | 1.00-5–5 | — |
| single_16 | BOOLEAN | true | — |
| single_16_str | FLOAT | 1.00-5–5 | — |
| single_17 | BOOLEAN | true | — |
| single_17_str | FLOAT | 1.00-5–5 | — |
| single_18 | BOOLEAN | true | — |
| single_18_str | FLOAT | 1.00-5–5 | — |
| single_19 | BOOLEAN | true | — |
| single_19_str | FLOAT | 1.00-5–5 | — |
| single_20 | BOOLEAN | true | — |
| single_20_str | FLOAT | 1.00-5–5 | — |
| single_21 | BOOLEAN | true | — |
| single_21_str | FLOAT | 1.00-5–5 | — |
| single_22 | BOOLEAN | true | — |
| single_22_str | FLOAT | 1.00-5–5 | — |
| single_23 | BOOLEAN | true | — |
| single_23_str | FLOAT | 1.00-5–5 | — |
| single_24 | BOOLEAN | true | — |
| single_24_str | FLOAT | 1.00-5–5 | — |
| single_25 | BOOLEAN | true | — |
| single_25_str | FLOAT | 1.00-5–5 | — |
| single_26 | BOOLEAN | true | — |
| single_26_str | FLOAT | 1.00-5–5 | — |
| single_27 | BOOLEAN | true | — |
| single_27_str | FLOAT | 1.00-5–5 | — |
| single_28 | BOOLEAN | true | — |
| single_28_str | FLOAT | 1.00-5–5 | — |
| single_29 | BOOLEAN | true | — |
| single_29_str | FLOAT | 1.00-5–5 | — |
| single_30 | BOOLEAN | true | — |
| single_30_str | FLOAT | 1.00-5–5 | — |
| single_31 | BOOLEAN | true | — |
| single_31_str | FLOAT | 1.00-5–5 | — |
| single_32 | BOOLEAN | true | — |
| single_32_str | FLOAT | 1.00-5–5 | — |
| single_33 | BOOLEAN | true | — |
| single_33_str | FLOAT | 1.00-5–5 | — |
| single_34 | BOOLEAN | true | — |
| single_34_str | FLOAT | 1.00-5–5 | — |
| single_35 | BOOLEAN | true | — |
| single_35_str | FLOAT | 1.00-5–5 | — |
| single_36 | BOOLEAN | true | — |
| single_36_str | FLOAT | 1.00-5–5 | — |
| single_37 | BOOLEAN | true | — |
| single_37_str | FLOAT | 1.00-5–5 | — |
| other_weights | BOOLEAN | true | — |
| other_weights_str | FLOAT | 1.00-5–5 | — |
| lora_path_optopt | STRING | Optional: Override LoRA selection with a path | |
| schedule_presetopt | COMBO | Custom | Select a preset schedule (populates the text field below for editing) |
| strength_scheduleopt | STRING | Strength schedule: 0:.2,.5:.8,1:1.0 (step:strength pairs). Edit freely after selecting preset. | |
| save_refined_loraopt | BOOLEAN | false | Enable to save the refined LoRA to disk |
| save_pathopt | STRING | Directory to save refined LoRA | |
| save_filenameopt | STRING | Filename for saved LoRA (timestamp auto-appended). Leave empty for auto-name. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| model | MODEL | Model with LoRA applied (filtered by enabled blocks). |
| positive | CONDITIONING | Positive conditioning (with hooks if using schedule). |
| negative | CONDITIONING | Negative conditioning (with hooks if using schedule). |
| analysis | STRING | Per-block analysis showing impact scores. |
| analysis_json | STRING | JSON analysis data for UI coloring. |