Nodes/ComfyUI Power Shift Scheduler/From Points Scheduler
ComfyUI Node

From Points Scheduler

Paste someone's custom sigma list and resample it to any step count

By silveroxides·Created about a year ago·Updated 4 months ago· 9
From Points Scheduler
  • model
  • SIGMAS
steps8
discard_penultimatefalse
denoise1.00
custom_points

You've seen the threads: "here's my custom sigma list, it fixes the color wash" followed by a comma-separated wall of floats. From Points Scheduler is how you take a list like that and actually use it - at whatever step count you want, not just the one the poster happened to render at. It's part of the PowerShift Scheduler pack (one install, four nodes), and it's the plainest tool in the family.

How it works

The node carries eight built-in control points:

1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875

It linearly interpolates (numpy.interp) between those points to produce exactly steps curve values, then appends a final 0.0 sigma. Set steps to 8 and you get that list back verbatim - which is the giveaway that it's meant to resample curves, not just emit fixed lists. The useful inputs:

  • steps (default 8): how many sigmas you want along the curve.
  • custom_points: your own list as a comma-separated string, e.g. 1.0, 0.9, 0.8. Fewer than two values and it silently falls back to the built-in points.
  • discard_penultimate / denoise: same as the rest of the pack - skip the last near-zero step, or trim a longer schedule for img2img passes.

Output is a single SIGMAS tensor that feeds SamplerCustomAdvanced. Because it's linear interpolation, your curve is straight segments with sharp corners at each control point. If you want the corners rounded into a smooth curve, that's literally the other node in this pack: PCHIP Scheduler.

The gotcha that bites everyone

Power Shift and Radiance remap the model's own sigma ladder, but this node emits raw sigma values - the code never reads your model's schedule, so the model input is basically there for workflow consistency. The default points are normalized 0..1, which is exactly the scale flow-matching models use (Flux, Wan, Klein, and friends). On SD1.5 or SDXL, where sigmas run from ~15 down to ~0, feeding 0..1 values means your sampler starts at "almost clean" - you get a blurry image that looks like you denoised at 30%. If you're on an SDXL workflow, scale your points to the model's real range or use Power Shift instead.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI_PowerShiftScheduler

or search "ComfyUI Power Shift Scheduler" in ComfyUI Manager, then restart. No model downloads. The pack imports scipy but ships no requirements.txt - if none of its nodes appear after install, pip install scipy in the ComfyUI environment fixes it. Installing also registers sigma_curve_from_points as a name in the plain KSampler scheduler dropdown if you'd rather try it without wiring a custom-sampling graph.

Categorysampling/custom_sampling/schedulers

Inputs (5)

NameTypeDefaultDescription
modelMODEL
stepsINT81–1000
discard_penultimateBOOLEANfalse
denoiseFLOAT1.000–1
custom_pointsoptSTRINGsigma curve points provided as comma separated list of floats. e.g. '1.0, 0.9, 0.8' etc.

Outputs (1)

NameTypeDescription
SIGMASSIGMAS