SigmasSchedulePreview
Actually see what a scheduler does to your sigmas
- model
- sigmas
RES4LYF ships something like a dozen schedulers, and the single most common complaint about the whole pack is that nobody tells you which one to pick or what they actually do. SigmasSchedulePreview is the closest thing to an answer: it plots the sigma curve so you can look at it instead of guessing. If you've ever wondered why beta57 behaves differently from karras, this draws you the picture.
That matters more than it sounds. A scheduler decides how much noise gets removed at each step, and the shape of that curve is the difference between an image that resolves cleanly and one that mushes. Karras concentrates the work in the middle steps; beta/simple spread it more evenly, which is exactly why the even ones became the flow-matching workhorses and Karras fell out of favor there. Being able to see the curve - where it's steep, where it flattens, how close it gets to zero - turns "try random schedulers until one looks good" into something you can reason about. The community has been asking ClownsharkBatwing for a scheduler guide for over a year; this node is the self-serve version.
How it works
It's an output node - it doesn't pass sigmas along, it renders them. You give it a model and a scheduler (or feed in a sigmas line directly), and it computes the schedule and saves a plot to your ComfyUI output folder, same as a preview image. Run it, look, adjust, run again.
The inputs and outputs that matter
There's no LATENT output here - the result is the plotted image. The inputs that shape what you see:
scheduler(defaultbeta57) - the curve you're inspecting. Flip throughbeta,simple,karras,bong_tangent,beta57and watch how the shape changes.steps(default 30) - how many points on the curve; match it to your real sampling steps.denoise/denoise_alt- the two ways RES4LYF trims a schedule for img2img.denoisesplits the schedule;denoise_altmultiplies it. Preview both to see why they land differently.plot_max/plot_min- just the y-axis bounds of the graph. Widen them if the curve clips off the top.- Optional
sigmas- feed an external SIGMAS line to plot a schedule some other node produced.
noise_mode, eta and s_noise are there because the preview can also account for SDE noise behavior, but for a first look leave them at defaults.
How to install it
Via ComfyUI Manager: search RES4LYF, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF
cd RES4LYF
pip install -r requirements.txt
then restart and hard-refresh (F5). No downloads needed.
Common issues & troubleshooting
No image showed up. It writes to your output directory like a Save node - check there, and make sure you actually queued the prompt (an output node only fires when something asks for its result).
The curves look identical. If two schedulers plot the same, you're probably previewing at too few steps or with the y-axis zoomed out so far the differences vanish. Bump steps and tighten plot_max/plot_min around the interesting region.
The line barely reaches zero at the end. That's expected for some schedules - they crawl as they approach sigma 0. It's a real property of the math, not a rendering bug, and it's the same reason variance-locked SDE sampling struggles down there.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| noise_mode | COMBO | hard | How noise scales with the sigma schedule. Hard is the most aggressive, the others start strong and drop rapidly. |
| eta | FLOAT | 0.25-1000–1000 | — |
| s_noise | FLOAT | 1.00-1000–1000 | — |
| denoise | FLOAT | 1.00-10000–10000 | — |
| denoise_alt | FLOAT | 1.00-10000–10000 | — |
| scheduler | COMBO | beta57 | 11 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +5 |
| steps | INT | 301–10000 | — |
| plot_max | FLOAT | 2.10-10000–10000 | Set to a negative value to have the plot scale automatically. |
| plot_min | FLOAT | 0.00-10000–10000 | Set to a negative value to have the plot scale automatically. |
| sigmasopt | SIGMAS | — |
Outputs (0)
No outputs