Nodes/comfyui-dynamic-anynode/Any Scheduler (All-In-One)
ComfyUI Node

Any Scheduler (All-In-One)

Beta57, bong_tangent, and friends in one node

By asagi4·Created 8 months ago·Updated 8 months ago· 1
Any Scheduler (All-In-One)
    • sigmas
    selection

    Here's a sentence that would have been nonsense in 2024: "Karras and Exponential are universal failures on flow-matching models, so put the Anima workflow on Beta57 (RES4LYF)." The scheduler is where the sampler wars actually got fought, and the schedule names you need now - beta57, bong_tangent, simple, linear_quadratic - stopped being a stock ComfyUI dropdown and became a pile of nodes spread across half a dozen packs. Any Scheduler (All-In-One) is the pack that sweeps them into a single dropdown.

    How it works

    The familiar dispatch pattern, applied to the schedule. On load it scans every node class ComfyUI has registered, keeps the v3-style ones with a SIGMAS output whose class name contains "Scheduler", and builds the selection combo from them. Pick a scheduler and the node re-renders to show that scheduler's actual inputs - a scheduler usually wants the model and the step count, then hands you a sigma schedule. On execute it forwards your settings to the real node and returns the result. No scheduling math is reimplemented; it's a thin shim, which is exactly why it stays correct when a pack ships a new schedule.

    The input you set is selection. The output is sigmas, type SIGMAS - note it's a different type from the noise node's output that happens to share the name. This one wires into the sigmas input of CustomSamplingAdvanced, between your scheduler and your sampler.

    Why you'd reach for it

    Because the "right schedule" is now a per-model decision, and the trap is real. On flow-matching models, aggressive schedules like Karras and exponential distort a near-straight trajectory instead of correcting it - the community evidence is unambiguous. Distilled checkpoints want the schedule they were trained on (sgm_uniform/trailing). And a couple of the pack schedulers apply their own sigma shift and ignore whatever you set in your workflow, so the schedule node is also where mysterious "shift does nothing" bugs get debugged. Keeping one scheduler socket whose dropdown you change per model means you stop memorizing node names and start memorizing schedule behavior. That's the whole pitch.

    Install

    The pack-wide caveat applies: this targets the v3-improvements ComfyUI branch, not stock ComfyUI. On that branch:

    cd ComfyUI/custom_nodes
    git clone https://github.com/asagi4/comfyui-dynamic-anynode
    

    Restart, or use ComfyUI Manager and search "ComfyUI Any Nodes". No pip dependencies, no models, no keys. Beta57 and the rest arrive with whatever scheduler pack you install - this node just makes them selectable from one place.

    Common issues

    • The dropdown is missing the schedule you were told to use. It lists schedulers from installed packs only. No RES4LYF, no beta57. Install the pack, refresh, it appears.
    • A scheduler you know exists is absent. Legacy nodes that haven't migrated to the v3 node API are invisible to this pack - it only detects v3 nodes.
    • Node not in the menu at all. Stable-branch ComfyUI. The v3-improvements requirement is the pack's one real dependency and the README leads with it.
    Categorysampling/custom_sampling/

    Inputs (1)

    NameTypeDefaultDescription
    selectionCOMBO14 options: [object Object], [object Object], [object Object], [object Object], [object Object], [object Object], +8

    Outputs (1)

    NameTypeDescription
    sigmasSIGMAS