🐧 Sigmas Rescale
Keep your curve, change its range
- sigmas
- SIGMAS
Some schedules are good at the shape of their denoising effort and wrong only in their range. You like how a curve distributes steps - the middle-heavy Karras-ish bulge, say - but you need it to start at a lower max noise because you're doing img2img, not full txt2img. Hand-redrawing that is a waste of time. This node takes the exact curve you've got and rescales it to a new maximum and minimum, preserving every relative bend in between.
It's part of the 🐧 SuperNodes pack by SuperCC's scheduling family.
How it works
Three inputs: sigmas, then max and min - the new top and bottom of the schedule. The math is a straight min-max normalization: the node finds the current top (index 0) and bottom (last value), normalizes the whole curve to 0–1, then scales it into your new [min, max] range. Since it's linear scaling, the curve's shape is untouched - every proportion between steps survives; only the absolute noise values change.
Output is the rescaled SIGMAS, same step count, same relative shape.
When you'd reach for it
- Img2img / inpaint ranges. You've tuned a schedule's shape and now want the same curve but a lower starting noise to match a modest denoise strength. Instead of rebuilding, rescale the top down.
- Porting a curve across models. A schedule tuned for one checkpoint's noise scale can be transplanted to another by rescaling to its typical start value.
- Anywhere you want "this exact distribution of effort, but quieter."
Install
ComfyUI Manager, search "ComfyUI-SuperNodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/sonnybox/ComfyUI-SuperNodes
Restart ComfyUI. No model downloads. The pack's only extra dependency is matplotlib, used exclusively by the Sigmas Graph node - which is the right thing to run after rescaling to confirm the shape survived. This pack is built on ComfyUI's newer extension API, so keep ComfyUI updated.
Gotchas
- It maps by position, not by value: index 0 is assumed to be the max and the last index the min. If your schedule isn't strictly descending (some experimental schedulers aren't), the "normalize" step silently treats it as if it were. Graph first.
- Rescaling changes the effective denoise strength of the whole run - lowering
maxis lowering how much noise the sampler starts from, which for img2img is exactly the lever you want, but don't confuse "range" with "steps." Same steps, less noise range. - A flat schedule (max == min) is handled with a fallback to a flat schedule at your new
max, so you won't hit a divide-by-zero - but you also won't get anything interesting.
It's the schedule family's "transpose to a different key" tool. If you've ever wished a curve came in a smaller size, this is that wish in a node.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | The input sigma schedule to be rescaled. | |
| max | FLOAT | 1.000–10000 | The new maximum value (start of the schedule). |
| min | FLOAT | 0.0000–1000 | The new minimum value (end of the schedule). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | The rescaled sigma schedule. |