Nodes/RES4LYF/Sigmas SmoothStep
ComfyUI Node Runs on cloud

Sigmas SmoothStep

Ease a schedule in and out like a graphics engineer would

By ClownsharkBatwing·Created 2 years ago·Updated 18 days ago· 1,222
Sigmas SmoothStep
  • sigmas
  • SIGMAS
edge00.00
edge11.00
modesmoothstep

Smoothstep isn't a diffusion-specific idea - it's a decades-old staple of computer graphics and animation, the standard trick for making a value ease in and out instead of moving at a constant rate. This node borrows it directly and applies it to a sigma schedule: instead of whatever raw shape your schedule started with, values near the two edges you specify change slowly, and the middle does most of the moving, producing a smooth S-curve.

mode gives you a choice between the classic version and a refinement of it. smoothstep is the original 3t² − 2t³ formula. smootherstep is Ken Perlin's later tweak (6t⁵ − 15t⁴ + 10t³), which also flattens out the rate of change at the edges, not just the value - an even gentler ease at the start and end, at the cost of a slightly more aggressive middle.

The inputs and outputs that matter

sigmas is the schedule to reshape. edge0 and edge1 define the range the easing curve operates over - think of them as the two reference points the S-curve is built between, not necessarily your schedule's literal min and max. mode picks smoothstep or smootherstep. One output: SIGMAS.

Compared to Sigmas SquareRoot or Sigmas Modulus, this is the tool to reach for specifically when what you want is symmetric easing - slow, fast, slow again - rather than a curve that's simply concave or convex all the way through. If you only want to soften one end of a schedule and leave the other alone, a square root or a percentile rescale is the more direct fit; SmoothStep's whole character is the matched ease at both ends.

Installing it

ComfyUI Manager: search RES4LYF, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt

Portable installs use the embedded pip.exe in place of plain pip. Restart and hard-refresh afterward.

Where people get tripped up

edge0 and edge1 default to 0 and 1 - if your schedule's actual values sit well outside that range (which most sigma schedules do), the easing effectively happens at the extreme tail of your data rather than spread across it, and the result looks like barely anything changed. Set edge0/edge1 to match the actual range of the schedule you're feeding in, not the node's defaults, to see the S-curve applied where you expect it.

Beyond that, the choice between smoothstep and smootherstep is subtle enough that it's easy to not notice a difference at a glance - if you're trying to judge which one you prefer, compare them on the same schedule with everything else held fixed rather than eyeballing a single generation.

CategoryRES4LYF/sigmas

Inputs (4)

NameTypeDefaultDescription
sigmasSIGMAS
edge0FLOAT0.00-10000–10000
edge1FLOAT1.00-10000–10000
modeCOMBOsmoothstep2 options: smoothstep, smootherstep

Outputs (1)

NameTypeDescription
SIGMASSIGMAS