Flow - Lora Loader (Model Only)
The LoRA loader that double-checks the base model before it loads
- model
- gen_info
- model
- gen_info
The stock LoraLoaderModelOnly happily applies an SD15 LoRA to an SDXL model and lets you discover the artifact soup yourself. FlowLoraLoaderModelOnly, from ComfyUI-Flow-Control, checks its homework first: it compares the LoRA's declared base against the checkpoint's base in gen_info and, if they don't match, it skips the load entirely and just passes the model through. SDXL and Pony count as compatible, which is actually correct - Pony is SDXL under the hood. For everything else, a mismatch means a silent no-op rather than a ruined generation.
It's the "model only" variant, so there's no CLIP input - Flux LoRAs and the like go here. If you need model + CLIP patching, that's FlowLoraLoader.
How it works
Like stock, it loads the LoRA file and patches the model with strength_model. On top of that it adds the pack's housekeeping:
bypassset toYesskips everything and returns the untouched model - handy for A/B testing a LoRA without deleting it from the graph.strength_modelof 0 also short-circuits, so you can zero out a LoRA instead of rewiring.- The base check: it reads the checkpoint's base out of
gen_info["base"], compares it to the LoRA'sbasefield, and skips loading when they're incompatible. - It records the LoRA's name and hash into
gen_info["loras"], which is what lets FlowSaveImage write the CivitAI hash list into your PNG metadata.
There's also a filter dropdown (All / Flux / Pony / SDXL / SD15) that narrows the lora_name list in the UI, and hash, triggers, url fields the frontend fills in from CivitAI when it can identify the file by hash.
The inputs that matter
model- from the Flow checkpoint or Flux preset loader.lora_name- filtered by thefilterdropdown.strength_model- the dial. Default 1.0; the old "0.5–0.8 is the sweet spot" advice mostly applies on SDXL-family, while Flux LoRAs are usually fine at 1.0.base- the LoRA's expected base. Get this right; the whole skip-if-mismatched feature depends on it.bypass- the on/off switch for testing.
Outputs are model and gen_info, both passed through (and gen_info with the lora hash added). This is the "Flow" data pipe - feed gen_info forward into FlowKSampler and FlowSaveImage.
Install
Ships in ComfyUI-Flow-Control, install once for the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/krich-cto/ComfyUI-Flow-Control
Restart ComfyUI (or Manager → search "ComfyUI-Flow-Control"). No models to download beyond the LoRAs themselves; the pack needs requests for its CivitAI lookups and imports gguf at startup, so pip install requests gguf if the pack won't load.
Gotchas
The skip is silent by design - the console logs "Skip, checkpoint base is ..." but you won't see it unless you watch the terminal, and your image will just come out without the LoRA applied. That's the correct behavior, but it's confusing the first time. Also note the base compatibility table is the author's own: SDXL↔Pony works, SD15 is its own bucket, Flux is separate. And remember this node is "model only" - if your LoRA also wants to patch the CLIP (many character LoRAs do), use FlowLoraLoader instead or you'll get half the effect.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| gen_info | GENINFO | — | |
| bypass | COMBO | No | 2 options: Yes, No |
| filter | COMBO | All | 5 options: All, Flux, Pony, SDXL, SD15 |
| lora_name | COMBO | 0 options: | |
| strength_model | FLOAT | 1.00-100–100 | — |
| base | COMBO | 5 options: , Flux, Pony, SDXL, SD15 | |
| hash | STRING | — | |
| triggers | STRING | — | |
| url | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| gen_info | GENINFO | — |