π§ Sigma Replace
Patch a single noise level in your schedule
- sigmas
- SIGMAS
Sometimes you don't want to add or remove a step - you want to change the noise level of one. Maybe your custom schedule has a step that lands awkwardly, a transition that's too aggressive, or a specific early step you want to soften. That's the exact niche of this node: replace the sigma value at one index and leave the rest of the curve alone.
It's part of the π§ SuperNodes pack by SuperCC's scheduling family, sitting alongside Sigma Insert and Sigma Remove.
How it works
Three inputs: sigmas, index, and value. 0 targets the first sigma, -1 the last (that's the full negative-index story here - no deeper tricks). The node swaps in your value at that position, then validates the schedule's monotonicity: the new value must be β€ the previous sigma and β₯ the following one. Since a sigma schedule is a descending noise curve, a replacement that breaks that ordering produces a nonsense schedule, and the node refuses with a clear error instead of shipping it.
The output is the SIGMAS tensor with one value changed, everything else bit-identical.
When you'd reach for it
- Softening or sharpening a single step in a hand-built schedule - e.g. raising the last non-zero sigma to leave more denoise work for the final step.
- Fixing a jump in a custom scheduler's output where two adjacent values are too far apart, which can show up as a visible quality step.
- Fine-tuning one stage of the curve after you've graphed it (the pack's Sigmas Graph node is the natural companion: replace, re-graph, judge).
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, and it's only pulled in by the Sigmas Graph node. This pack uses ComfyUI's newer extension API - keep ComfyUI updated or the nodes won't register.
Gotchas
- The monotonicity check runs both directions: too big against the previous sigma or too small against the next one both error. On a schedule that's already out of order (from a buggy scheduler), you may not be able to set the value you want until you fix the neighbors.
-1means last only. If you want second-to-last you can't ask for it here - that's a Sigma Remove index, not a Sigma Replace one. Work from the front or chain nodes.- It's a replacement, not a rescale: one step changes, the overall curve shape is preserved. If you want the whole curve shifted to a new range, that's Sigmas Rescale's job, not this node's.
A precision tool for a narrow job, and the validation is the whole reason to use it over typing a tensor value into a custom scheduler by hand - it catches the exact mistake that would otherwise produce a silent, schedule-shaped bug.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| sigmas | SIGMAS | Input sigma schedule. | |
| index | INT | 0-1β10000 | Index to replace. 0 = first, -1 = last. |
| value | FLOAT | 1.000β10000 | New sigma value to replace at the given index. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | Sigma schedule with one value replaced. |