Nodes/LF Nodes/Scheduler selector
ComfyUI Node

Scheduler selector

A scheduler dropdown with history, filtering, and randomization bolted on

By lucafoscili·Created 2 years ago·Updated about a year ago· 50
Scheduler selector
  • ui_widget
  • combo
  • string
enable_historytrue
randomizefalse
filter
seed42
schedulerNone

Scheduler choice isn't a minor detail - it decides how noise gets removed at each sampling step, and on newer flow-matching models the wrong pick genuinely tanks output quality rather than just nudging it slightly. LF_SchedulerSelector wraps ComfyUI's stock scheduler dropdown with a few things a plain widget doesn't give you: history logging, wildcard filtering, and seeded randomization - useful if you're sweeping schedulers to see which one your model actually likes, rather than committing to one and hoping.

The dropdown itself covers ComfyUI's nine built-in schedulers - normal, karras, exponential, sgm_uniform, simple, ddim_uniform, beta, linear_quadratic, kl_optimal - plus a None state. That's worth being precise about: this selects among ComfyUI's native schedulers, not the much larger set some third-party sampler packs add on top. randomize (off by default) picks one at random each run instead of using your dropdown selection; filter narrows that random pool with a wildcard pattern (*) if you want randomization limited to a subset rather than all nine; seed controls that randomness so a run is reproducible if you need it to be. enable_history logs each execution's picked value and timestamp into the node's history widget, so you can look back at what you already tried in a sweep instead of losing track.

Two outputs: combo, the scheduler as ComfyUI's native enum type - wire this straight into a KSampler (Advanced) or anywhere else a scheduler input lives - and string, the same value as plain text, handy for logging or feeding into a metadata node.

Installing it. ComfyUI Manager: search "LF Nodes," install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/lucafoscili/lf-nodes, restart. Use that repo - comfyui-lf, what comfy.icu links, is the pack's archived original home; the author's active work lives at lf-nodes now. No models, no heavy dependencies.

Where people get tripped up. If you're testing schedulers on a flow-matching model (Z-Image, Flux, and similar), don't assume the SDXL-era "Karras is usually a safe default" habit carries over - on several of these newer models Karras and Exponential specifically perform worse than gentler schedules like simple or beta, so a randomized sweep with this node is a genuinely good way to find out what your specific model actually wants rather than trusting old defaults. Second, filter only matters when randomize is on - if you've left randomization off, the filter field does nothing, since you're just using the dropdown directly. And remember this node's scheduler list is the ComfyUI-native nine; if a workflow you're following references something like bong_tangent or other exotic scheduler names, those come from a different sampler pack entirely and won't show up in this dropdown.

Category✨ LF Nodes/Selectors

Inputs (6)

NameTypeDefaultDescription
enable_historyBOOLEANtrueEnables history, saving the execution value and date of the widget.
randomizeBOOLEANfalseSelects a scheduler randomly.
filterSTRINGWhen randomization is active, this field can be used to filter scheduler names. Supports wildcards (*).
seedINT420–18446744073709550000Seed value for when randomization is active.
ui_widgetoptKUL_HISTORY[object Object]
scheduleroptCOMBONoneScheduler used to generate the image.

Outputs (2)

NameTypeDescription
combonormal,karras,exponential,sgm_uniform,simple,ddim_uniform,beta,linear_quadratic,kl_optimal
stringSTRING