KSampler (LoRA Sigma Inverse)
A LoRA That Ramps In While You Sample
- model
- positive
- negative
- latent_image
- LATENT
Here's a scenario you've probably met: a LoRA that's great for fine detail but wrecks composition at full strength, or a distilled-model LoRA that goes unstable if you run CFG too high. The usual fix is a fixed reduced strength and a shrug. KSampler (LoRA Sigma Inverse) is the no-shrug version: a KSampler with the LoRA loader built in, where LoRA strength ramps up over the course of sampling as sigma falls. Composition gets settled early without the LoRA, then the LoRA's influence fades in for the detail work.
The strength at each step follows an explicit schedule: min_lora_strength + (max_lora_strength - min_lora_strength) * (1 - sigma[i] / max_sigma). In plain terms: at high sigma (noisy start), LoRA runs at min_lora_strength; at low sigma (fine detail), it's at max_lora_strength; in between, it eases from one to the other. If you want the LoRA to only appear mid-run, the min_lora_step/max_lora_step gates let you zero it out outside a step window.
How it works
Everything else is a standard KSampler: model, positive, negative, latent_image, steps, cfg, sampler_name, scheduler, denoise, seed. The LoRA is loaded from your loras folder by name and injected via ComfyUI's bypass path when possible (injected once, strength updated per step with multipliers - no per-step repatching), falling back to hook-based scheduling for non-bypass-compatible LoRAs. The clever extras: scale_cfg pulls CFG toward 1.0 as LoRA strength climbs - aimed at distilled-model LoRAs that destabilize at high CFG - and clamp_cfg_after snaps CFG to 1.0 after a given step.
The inputs that matter
lora_name- pick from your installed LoRAs.min_lora_strength/max_lora_strength- the ramp endpoints (defaults 0 → 1, so the LoRA is off at the start and fully on at the end).min_lora_step/max_lora_step- step gating;-1means no bound.scale_cfg- enable for distilled-model LoRAs that hate high CFG.- Everything else - standard KSampler behavior.
Output is a LATENT.
Installing it
Part of Skoogeer-Noise. Manager → search "Skoogeer-Noise", or:
cd ComfyUI/custom_nodes
git clone https://github.com/ttulttul/Skoogeer-Noise
Restart ComfyUI. Deps are torch, numpy>=1.26, einops, pyyaml>=6.0.3 - no extra models.
Common gotchas
Two things trip people. First, this is model-only - there's no CLIP input, so you still need a normal CLIP Text Encode node upstream to produce your conditioning; the sampler just doesn't encode text itself. Second, the defaults ramp from 0 to 1, so if you expected the LoRA to be active the whole time, you're effectively running with it off until mid-run - set min_lora_strength to your usual strength if you want a floor. And remember the LoRA has to be in the folder ComfyUI scans (ComfyUI/models/loras); an empty lora_name dropdown means the file isn't where the node looks.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The model used for denoising the input latent. | |
| seed | INT | 00–18446744073709550000 | The random seed used for creating the noise. |
| steps | INT | 201–10000 | The number of denoising steps. |
| cfg | FLOAT | 8.00–100 | Classifier-Free Guidance scale. |
| sampler_name | COMBO | Sampling algorithm. | |
| scheduler | COMBO | Sigma scheduler. | |
| positive | CONDITIONING | Positive conditioning. | |
| negative | CONDITIONING | Negative conditioning. | |
| latent_image | LATENT | The latent image to denoise. | |
| lora_name | COMBO | LoRA file to load and schedule over sampling. | |
| min_lora_strength | FLOAT | 0.00-100–100 | Starting LoRA strength at the beginning of sampling (highest sigma). |
| max_lora_strength | FLOAT | 1.00-100–100 | Target LoRA strength at the end of sampling when sigma reaches its minimum. |
| min_lora_step | INT | -1-1–10000 | Minimum step index where LoRA is enabled. -1 means no minimum bound. |
| max_lora_step | INT | -1-1–10000 | Maximum step index where LoRA is enabled. -1 means no maximum bound. |
| denoise | FLOAT | 1.000–1 | How much of the schedule to run. |
| scale_cfg | BOOLEAN | false | Scale CFG toward 1.0 as LoRA strength increases during active LoRA steps. |
| clamp_cfg_after | INT | -1-1–10000 | Sets the CFG value to 1.0 after the given sampling step. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |