Scheduler Name (obvpm)
The scheduler on a wire, and beta57 without the full RES4LYF install
- scheduler
- scheduler_name
Schedulers used to be an afterthought: if you were on SDXL, Karras, done. That's over. On flow-matching models an aggressive schedule distorts instead of correcting, and the modern setting tables are full of names stock ComfyUI doesn't ship - beta57 first among them. The most common 2026 "why won't this workflow load" answer is a scheduler the workflow names and your install doesn't have.
Scheduler Name does two useful things about that. It puts your scheduler choice on a wire, and it quietly supplies beta57.
What it does
One dropdown, scheduler, holding everything this ComfyUI knows about - on the current list: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal, and beta57. The list is read live, so schedulers registered by other packs show up as well.
Outputs are scheduler (typed as that live list, so it plugs into any scheduler combo - KSampler, BasicScheduler, anything else asking for a schedule) and scheduler_name, the same choice as a plain string for bundling, presets, captions or comparisons. Nothing is computed here; it's a name.
Right-click the scheduler widget on the node that consumes it and convert it to an input, then connect. The pack keeps the socket names of the nodes it replaces on purpose - a converted widget is re-bound by name when a workflow loads, so an existing graph only needs the node type changed.
beta57, without installing RES4LYF
Here's the part worth knowing about even if you never wire this node: the pack registers beta57 itself, at import.
beta57 is RES4LYF's beta schedule with alpha=0.5, beta=0.7, popularized by ClownsharkBatwing's pack and now pasted into settings tables everywhere - it phrase-matches 129 corpus threads in the first seven months of 2026, 24 of those in July alone. The problem is that it isn't a stock ComfyUI scheduler, so a workflow naming it won't load for anyone without RES4LYF installed, and the recurring question underneath those threads is literally how to get the thing. obvpm sidesteps that: if beta57 isn't already in ComfyUI's scheduler registry, the pack adds it using core's own beta scheduler with those same two constants, then appends it to the scheduler name list so it lands in every dropdown. If RES4LYF is installed, the pack leaves its version alone rather than fighting over the registry.
So you get the schedule the workflow was built around without the whole 69-sampler pack. Two honest caveats. First, it's the same alpha and beta with a different implementation from RES4LYF's, so treat it as interchangeable in settings, not as byte-identical. Second, this is now a dependency you created: uninstall obvpm and every workflow naming beta57 stops resolving again.
And if you do want the solvers - res_2m, res_2s, deis, the implicit families - you still need RES4LYF. beta57 is the one thing that travels alone.
Why the wire is worth it
A scheduler is one of the two names nobody can keep straight across architectures, and it belongs to a pair. Wiring it means the sampler and the scheduler can be bundled into one preset and swapped together instead of drifting apart; it means an A/B between "safe" and "painterly" is one dropdown on a case switch rather than two edits in two nodes; and it means the choice can be read as text by whatever logs your settings. If you already bundle your sampler, this is the other half.
The pack's own Value Presets node can borrow this dropdown as a field type, which is how a preset ends up carrying a real, live scheduler list instead of a stale copy of it.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/chanon/comfyui-obvpm
Restart, or use ComfyUI Manager and search comfyui-obvpm. No extra Python dependencies - the pack ships an empty dependency list on purpose, since everything it imports is already in ComfyUI's own requirements. Class id is SchedulerName (obvpm); searching the node menu for obvpm lists the whole pack.
Common issues
beta57 doesn't appear in the dropdown. Install the pack, restart ComfyUI, and check a stock KSampler's scheduler list first - the registration happens at startup, so a warm frontend can keep showing you a stale list until it reconnects.
Karras still looks bad. No node fixes a schedule that's wrong for your architecture. On SD 1.5 and SDXL finetunes Karras remains the safe pick; on flow-matching models you want Euler-family samplers with beta, simple, sgm_uniform or linear_quadratic. Take the model card's pair when it gives you one.
Two schedulers of the same name. If you have RES4LYF installed, it owns beta57 and obvpm defers - you will not end up with duplicates. Only one of them registers it.
Workflows from before 0.2.0. The pack used bare class ids until 2026-09-13; anything saved then is migrated automatically on open. If a node still misbehaves, delete and re-create it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| scheduler | COMBO | Any scheduler this ComfyUI knows about. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal,beta57 | The choice, typed to match a scheduler combo. |
| scheduler_name | STRING | The same choice as a plain string. |