Multi-LoRA Weight Sweep πΆ
Find a LoRA's Sweet Spot With One Node and Zero Parallel Samplers
- model
- clip
- model
- clip
- labels
Every LoRA has a sweet spot - the weight where it's strong enough to matter and weak enough not to wreck the image - and nobody finds it by guessing once. The old way: duplicate your entire sampler chain five times, one per weight, and squint at the results. Multi-LoRA Weight Sweep does the smart version. It takes one LoRA, applies it at a range of strengths, and outputs a real ComfyUI list of patched model/clip pairs. Because of how ComfyUI's list processing works, connecting that list downstream makes your KSampler run once per strength automatically. One node in, a whole sweep out, zero duplicated chains.
How it works
Three controls do everything:
- start_strength / end_strength - the range, β5 to 5 (default 0 to 1).
- steps (2β50) - how many intermediate points, endpoints included. 5 is a good starting sweep; go finer once you've narrowed the range.
It produces three list outputs:
- model and clip - a list of patched pairs, one per step.
- labels - a matching list of strings like
strength=0.20, built precisely so you can feed it into the pack's Image Grid Compare'slabelsinput and get an automatically-labeled comparison grid.
The magic is in the mechanism: these outputs are real output lists (the pack's OUTPUT_IS_LIST), not a single item. Connect a list to a KSampler and ComfyUI runs that KSampler once per item automatically, collecting results as it goes - you don't build steps parallel copies of anything. When you wire the sweep's labels into Image Grid Compare, ComfyUI prompts you to enable list processing on that connection; accept it, and the grid comes out labeled for free.
Where it fits
Tuning a character LoRA to the weight where the likeness holds but the style doesn't overpower. Sweeping a style LoRA to see where it crosses from "nice texture" to "everything is that texture." Comparing two ranges to settle the "is 0.8 or 1.2 right for this one" argument empirically instead of by feel. It's the find-the-number node, and it pairs naturally with the labeled comparison grid to make the verdict visual.
The honest framing from the LoRA side of the ecosystem: the "right" weight is less universal than beginners assume - it varies by base model, and the community's old 0.5β0.8 rule doesn't generalize. A sweep replaces folklore with data, which is exactly the right tool for the job.
Install
No extra dependencies:
cd ComfyUI/custom_nodes
git clone https://github.com/TensorVizion/OmniNodes
Restart, find it under TensorVizion/Model (ComfyUI Manager, search "OmniNodes", also works).
Troubleshooting
- Only one image comes out, not a sweep. The list isn't propagating - check that downstream list processing is enabled on the connection (ComfyUI prompts for it; if you dismissed it, reconnect and accept).
- The sweep is slow. It's literally running the sampler once per step. Cut
steps, or narrow the range. - "LoRA not found" - standard pack gotcha, the file must be in
ComfyUI/models/loras/. - Labels don't match the images. Confirm the labels wire goes to the same downstream node as the model/clip list, with list processing on, so the pairing stays aligned.
This is one of the pack's genuinely clever nodes - the kind that makes you feel the graph "program" instead of just wire things. Find a LoRA's strength in one run instead of five.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | β | |
| clip | CLIP | β | |
| lora_name | COMBO | 0 options: | |
| start_strength | FLOAT | 0.00-5β5 | β |
| end_strength | FLOAT | 1.00-5β5 | β |
| steps | INT | 52β50 | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | β |
| clip | CLIP | β |
| labels | STRING | β |