PCHIP Scheduler
A monotonic spline through your sigma control points
- model
- SIGMAS
PCHIP Scheduler does exactly what its name says and nothing more: it takes sigma control points and runs a monotonic cubic Hermite spline through them, so you get a smooth noise schedule instead of a polygon. It's the sibling of the pack's From Points Scheduler - same eight built-in points, same custom_points input, same SIGMAS output - but where From Points connects the dots with straight lines that kink at every corner, PCHIP rounds them into a continuous curve. And because it's monotonic by construction, it can't overshoot outside your control points the way a naive cubic spline can. No surprise dips below zero, no spikes above your max sigma.
Why you'd reach for it
Hand-designed schedules. If you're defining a sigma curve by feel - "spend a while up here, drop fast through the middle, crawl through detail land" - PCHIP gives you a shape that actually behaves instead of one with corners where the linear version would snap. It's also the one you want when resampling a known curve to a lot of steps: the default steps is 8, but the max is 2000 (twice the From Points node's cap) and the spline stays smooth all the way up. Resample someone's 8-point custom list to 60 steps without it turning into a staircase.
The inputs mirror the rest of the pack:
- steps (default 8): points along the curve, plus the appended 0.0.
- custom_points: comma-separated floats like
1.0, 0.9, 0.8; fewer than two values falls back to the built-in points. - discard_penultimate / denoise: skip the last near-zero step, or trim a longer schedule for partial-denoise passes.
Output is a single SIGMAS tensor for SamplerCustomAdvanced.
Same gotcha as its sibling
Like From Points, this node emits raw sigma values - it never touches your model's sigma ladder, so the model input is a formality. The default points are normalized 0..1, which is the scale flow-matching models (Flux, Wan, Klein) actually use. Feed them to an SD1.5/SDXL sampler, where real sigmas run ~15 down to ~0, and you'll get a blurry image that looks like a partial denoise, because you effectively started at the clean end. On flow models you're fine; on DDPM models, scale your points or use Power Shift.
Install
Same one install as the whole pack:
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. One quirk worth knowing: PCHIP is a scipy.interpolate routine, and the pack imports scipy at load time with no requirements.txt - if the nodes are missing after install, pip install scipy in the ComfyUI environment is the fix. The install also exposes sigma_curve_pchip in the plain KSampler scheduler dropdown if you want a quick taste before building a custom-sampling graph.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| steps | INT | 81–2000 | — |
| discard_penultimate | BOOLEAN | false | — |
| denoise | FLOAT | 1.000–1 | — |
| custom_pointsopt | STRING | sigma curve points provided as comma separated list of floats. e.g. '1.0, 0.9, 0.8' |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SIGMAS | SIGMAS | — |