Sigma Rescale
The denoise control custom sampling chains forgot
- sigmas
- Sigmas
The KSampler has a denoise slider. Custom sampling chains - the ModelSampling → scheduler → SamplerCustom flow - don't, and that's the gap this node fills. UC_SigmaRescale takes an existing sigma schedule and re-anchors it to exact start and end sigma values without changing its shape or step count. In plain terms: it's how you tell a custom sampling graph "start at 60% noise" when there's no denoise widget to grab.
Why sigmas, not percentages
Every sampler works on a schedule of sigmas - the noise levels at each step. A full text-to-image run starts at the model's maximum sigma and descends to ~0. Image-to-image starts partway down, and that "partway" is literally a sigma value: 50% denoise means starting at roughly half your model's max sigma. ComfyUI's built-in rescale_sigmas helper does this math, and this node is exactly that helper exposed with a friendly interface. You feed it a schedule, set start_sigma (default 1) and end_sigma (default 0), and the curve is linearly re-fit between those two points, keeping its relative shape. Fewer steps, same curve - you're not re-sampling, just re-anchoring.
The inputs that matter
sigmas(SIGMAS) - wire the output of any scheduler node (a core scheduler, this pack's Sigmoid Offset, whatever).start_sigma(0–5000, default 1) - the noise level of the first step. For img2img, this is your denoise strength in sigma terms.end_sigma(0–5000, default 0) - the noise level of the last step. 0 is a fully-denoised result; leave it.
Output is the rescaled Sigmas list, which you feed into SamplerCustom (or any custom sampler expecting a SIGMAS input). The typical chain: scheduler → Sigma Rescale → SamplerCustom, with start_sigma set to your desired noise level.
The pack's own schedulers even tell you to do this: the From Points and PCHIP scheduler descriptions literally append "For I2I, connect Sigma Rescale." And if you're using an img2img source image, remember the source needs to be encoded at that same noise level - add noise to your latent matching the start sigma, otherwise you're sampling from a mismatch.
Install
Ships in ComfyUI-UtilsCollection:
cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
Restart, or install via ComfyUI Manager (search "UtilsCollection"). No models involved; the pack's opencv-python + typing-extensions requirements auto-install.
Gotchas
Don't confuse start_sigma with the KSampler's denoise fraction - it's an absolute sigma value, not a 0–1 slider. If your model's max sigma is ~14 (common for flow models), 50% denoise isn't start_sigma 0.5; it's roughly 7. Check your model's sigma range if in doubt. And this pack re-registers a few scheduler IDs that standalone packs (ComfyUI_SigmoidOffsetScheduler, ComfyUI_PowerShiftScheduler) also provided - the README explicitly tells you to remove those before accepting ComfyUI's "replace workflow" prompt.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | — | |
| start_sigma | FLOAT | 1.000–5000 | — |
| end_sigma | FLOAT | 0.000–5000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Sigmas | SIGMAS | — |