LoRA Step Range
Gate a LoRA to a slice of the run — the set-and-forget version
- clip
- CLIP
LoRA Step Range is the little sibling of LoRA Keyframes in the same two-node pack, and it exists for the most common case: you don't want a curve, you want a gate. The LoRA is off, it turns on at start_percent, stays on, then turns off at end_percent. That's the entire node, and it's better for it.
Why you'd reach for it: the same reason people spend whole Reddit threads rigging multi-KSampler splits. A character or style LoRA doesn't need to - and usually shouldn't - run at full strength for the whole denoising pass. Early steps set the composition, late steps set the texture, and a strong LoRA active everywhere tends to bake its look in at the expense of everything else (the community shorthand: over-baking). Gate a character LoRA so it only exists from 20% to 80% of the run and you get the subject established without it fighting the initial layout or smearing the final details. Set and forget.
How it works. Like its big sibling, it's a wrapper over ComfyUI's core hook nodes - CreateHookLora, CreateHookKeyframe, SetHookKeyframes, SetClipHooks. It builds exactly four keyframes behind the scenes (0@0, 1@start, 1@end, 0@end) and stitches them onto your CLIP. One thing worth knowing straight from the source: it applies the LoRA with strength_model=0.0, i.e. CLIP-side only, with a code comment calling the schedule "critical for FLUX." The practical upshot is that on SD1.5/SDXL, where most of a LoRA's visible effect lives in the UNet rather than the text encoder, this node can look surprisingly faint at the same strength a plain LoraLoader would deliver. That's by design, not a bug - the author tuned this around T5-era, text-encoder-heavy models.
The inputs that matter:
lora_name- your LoRA, from the usualComfyUI/models/lorasdropdown.strength_clip- the strength while the gate is open (−20 to 20). There's nostrength_modelinput, because there's no model-side strength.start_percent/end_percent- slider inputs from 0 to 1. The defaults (0 and 1) mean the gate is open the whole run, which is just LoraLoader with extra steps - actually set them.
Output. A single CLIP, wired exactly where you'd put a LoraLoader's CLIP output. No graph, no console art - there's nothing left to tune.
Install. Same pack as LoRA Keyframes. Search "ComfyUI-LoraControls" in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/kreonxv/ComfyUI-LoraControls.git
Restart ComfyUI; it shows up under loaders. No pip dependencies, no model downloads.
Gotchas. If your SD-model LoRA seems barely there at strength 1.0, the CLIP-only apply is why - bump strength_clip or switch to the keyframe node if you need model-side strength. And like its sibling, it leans on ComfyUI's hook nodes, so keep ComfyUI current; on an old enough build the runtime import of CreateHookLora just fails.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| lora_name | COMBO | 0 options: | |
| strength_clip | FLOAT | 1.00-20–20 | — |
| start_percent | FLOAT | 0.0000–1 | — |
| end_percent | FLOAT | 1.0000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP | CLIP | — |