Nodes/ComfyUI-Apt_Preset/scheduler_ModelAligned
ComfyUI Node

scheduler_ModelAligned

An Align-Your-Steps-style schedule, extended past SD1/SDXL

By cardenluo·Created 2 years ago·Updated 17 days ago· 309
scheduler_ModelAligned
  • model
  • SIGMAS
steps10
model_type
force_sigma_minfalse

ComfyUI ships a core node called AlignYourStepsScheduler, based on NVIDIA's Align Your Steps research: instead of a generic sigma curve shape (linear, Karras, whatever), it uses a schedule specifically optimized per model family, and the payoff shows up most at low step counts, where a generic schedule wastes steps on noise levels that barely matter for that architecture. Stock ComfyUI's version only covers SD1, SDXL, and SVD. This node is the same idea, but with the family list extended to cover what people are actually running now: SD1, SDXL, FLUX, Qwen, wan2.1, and wan2.2.

The gap it fills is real - Flux, Qwen-Image and Wan are all common enough that "no aligned schedule for them" was a real hole in the stock node list, and this is the pack's answer to it.

How it works

You pick model_type from the dropdown to tell it which family's optimized curve to use, set how many steps you're sampling at, and it generates the matching sigma schedule. Because the whole point of an aligned schedule is that it's tuned per architecture rather than generic, picking the wrong model_type for what you're actually running defeats the purpose entirely - you'd get a curve optimized for a different model's noise sensitivity, not your own.

The inputs and outputs that matter

  • model (required, MODEL) - needed to pull the actual sigma range (sigmax/sigmin) the schedule is generated within.
  • steps (required, default 10, range 1–10000) - how many sigma values to produce. Align Your Steps-style schedules earn their keep most clearly at low step counts (the sub-10-15 range where a generic schedule visibly underperforms); at high step counts the advantage over a well-chosen stock schedule narrows.
  • model_type (required, one of SD1, SDXL, FLUX, Qwen, wan2.1, wan2.2) - which family's tuned curve to use. Match this to what you're actually sampling, not what you wish you were sampling - an SDXL-tuned curve run against a Flux checkpoint isn't giving you Flux's optimization, it's giving you SDXL's applied to the wrong model.
  • force_sigma_min (required, default false) - forces the schedule's final value down to the model's actual minimum sigma rather than whatever the aligned curve would otherwise end on. Leave this off unless you have a specific reason to want the very last step to hit exactly zero noise.
  • Output: SIGMAS - feed it into your sampler like any scheduler output.

How to install it

Search ComfyUI-Apt_Preset in ComfyUI Manager, or clone it manually:

cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git

install.bat handles Windows dependencies; on Linux or Mac, open it, read the pip installs, and run them yourself, or let ComfyUI Manager fill gaps on first load. No model downloads needed beyond whatever checkpoint you're already sampling with.

Common issues & troubleshooting

Output looks worse than just using karras or normal. Double-check model_type actually matches your loaded checkpoint's family. This is the single most likely mistake with any per-architecture-tuned scheduler - pick the wrong family and you're not getting the alignment benefit at all, you're getting a mismatched curve.

Not seeing much benefit over a stock schedule. If you're sampling at 25+ steps, that tracks - the advantage of an aligned schedule is most visible at low step counts, where every step has to count more. Try it specifically on a fast, few-step run before concluding it isn't doing anything.

Your model family isn't in the list. This node covers six families and no others. If you're on something outside that set, fall back to a stock scheduler matched to your model's architecture (flow-matching versus DDPM-style), or use scheduler_manual_sigmas in this same pack to build a custom curve by hand.

force_sigma_min changes the last-step result unexpectedly. That's exactly what it's for - it overrides the aligned curve's own endpoint. Turn it off if you didn't mean to force a hard zero-noise final step.

CategoryApt_Preset/chx_ksample/Scheduler

Inputs (4)

NameTypeDefaultDescription
modelMODEL
stepsINT101–10000
model_typeCOMBO6 options: SD1, SDXL, FLUX, Qwen, wan2.1, wan2.2
force_sigma_minBOOLEANfalse

Outputs (1)

NameTypeDescription
SIGMASSIGMAS