LoRA Slider (LoraManager)
Batch LoRA strength sliders for LoRA Manager
- sliders
- pool_config
- LORA_STACK
- trigger_words
If you've ever spent a batch session nudging a slider LoRA's weight up and down one number at a time, this node is aimed squarely at you. LoRA Slider (LoraManager) gives you one real slider per LoRA - with editable min/max bounds and end labels like "skinny" on one side and "obese" on the other - and bundles them into a single node that feeds straight into LoRA Manager's loader. The whole point is that you stop typing strengths into a text field and start dragging them, then let the node re-roll them for you when you're hunting for variation.
It's a quality-of-life node in the "Power Lora Loader" mold: it stacks many LoRAs, but instead of a table of numbers you get the slider UX from ComfyUI-Flex-Pack - with Flex's biggest annoyance fixed, which is that Flex makes you add and configure sliders one at a time. Here you batch-add a dozen LoRAs in one go.
How it works
The clever bit is architectural: all the heavy lifting happens in the browser widget at edit time, not at execution. When you add LoRAs, the widget talks to LoRA Manager's public HTTP routes (/api/lm/loras/relative-paths for search, cycler-list for pool expansion, model-description for metadata), then serializes everything into the node's sliders value. By the time the graph runs, the Python side just reads that value and emits a LORA_STACK - so execution needs no network and no LM imports. It's a nice pattern: this package imports zero LoRA Manager modules and patches nothing, which means LM updates can't break it.
There's also a genuinely thoughtful bit of metadata parsing. Slider LoRAs rarely expose their usable range as structured data - it's buried in the CivitAI description as prose like "Safe zone (-3 - +2.5)… Higher is thinner." The node reads the description LM has stored, extracts the range and the direction, and pre-fills min/max plus the end labels. It's best-effort; when nothing parses it silently falls back to defaults (which you can fix via the per-row gear dialog).
The inputs that matter
The sliders input is a custom DOM widget - you don't type into it, you add rows with the + Add LoRAs picker (search by name or folder path, so turbo/slider works), the + Text option (paste <lora:folder/name:0.8> codes), or Import from Pool by wiring in LM's Lora Pool node. Two booleans control per-run randomization:
randomize_strength_each_run- re-roll every unlocked slider's strength within its min/max on each queued run. Great for batch variation.randomize_active_each_run- randomly enable/disable each unlocked slider instead.
Anything you 🔒 lock is never touched by randomization, and there are per-slider 🎲 buttons for one-off rolls. The outputs are the standard LORA_STACK and an aggregated trigger_words string - the stack plugs straight into Lora Loader (LoraManager) and then on to the KSampler.
Installing it
You need ComfyUI-Lora-Manager installed - the whole point is sitting next to it. Then clone:
cd ComfyUI/custom_nodes
git clone https://github.com/EnragedAntelope/ComfyUI-LoraSlider-LM
Restart ComfyUI and it appears under the Lora Slider category. It's also in ComfyUI Manager's search as "ComfyUI-LoraSlider-LM". There are no model downloads and no Python dependencies beyond what ComfyUI ships - a rare pack where the README's requirements list is genuinely empty.
Gotchas
The picker, pool import, and metadata auto-fill all call LM's HTTP routes, so if LoRA Manager isn't running, those features are dead - manual sliders still work. Also know that a slider parked exactly at 0 contributes nothing and is skipped entirely, which is sensible (why load a LoRA at zero strength?) but can surprise you if you expected the row to appear in the stack. One note on "each run" modes: they force the node to re-execute every queue by design, so don't be alarmed that the graph stops caching while they're on.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| sliders | LORA_SLIDERS | — | |
| randomize_active_each_run | BOOLEAN | false | — |
| randomize_strength_each_run | BOOLEAN | false | — |
| pool_configopt | POOL_CONFIG | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| LORA_STACK | LORA_STACK | — |
| trigger_words | STRING | — |