Nodes/ComfyUI Image Saver/Scheduler Selector (Image Saver)
ComfyUI Node Runs on cloud

Scheduler Selector (Image Saver)

Pick a scheduler once, get enum + name

By alexopus·Created 3 years ago·Updated 23 days ago· 190
Scheduler Selector (Image Saver)
    • scheduler
    • scheduler_name
    scheduler

    A tiny utility that solves one specific annoyance: your KSampler wants the scheduler as a dropdown, but your metadata node wants it as text, and keeping the two in sync by hand is exactly the kind of thing you'll forget and then wonder why your saved metadata says karras when you actually ran beta. This node picks the scheduler once and hands it out in both shapes.

    You choose a scheduler from the dropdown, and it outputs the same choice two ways - as the proper enum type your sampler expects, and as a plain string for your filename template or metadata. One source of truth, no drift.

    How it works

    There's no magic here. It provides one of the standard KSampler schedulers, exactly the nine ComfyUI ships: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal. The value is the point. Because it emits the choice as both a typed enum and a string, you wire the enum into your sampler and the string into Make Image Saver Metadata Config (or a %scheduler filename token), guaranteeing what ran and what got recorded are the same thing.

    Quick reality check on schedulers themselves, since people obsess over them: the scheduler decides how much noise comes off at each step, paired with the sampler that decides how. The community treats the pair as one choice - that's why you see fused names like "DPM++ 2M Karras". The right pick depends on your model's architecture. Karras and exponential were the safe defaults for the SD 1.5 / SDXL era, but on flow-matching models (the newer generation) those aggressive curves distort instead of helping. When in doubt, take the scheduler off your model card and don't carry an old habit across architectures.

    The inputs and outputs

    One input:

    • scheduler - the dropdown, one of the nine standard schedulers.

    Two outputs:

    • scheduler - the choice as the enum type, for wiring into a KSampler or anything expecting a scheduler dropdown.
    • scheduler_name (STRING) - the same choice as text, for metadata and filenames.

    That dual output is the entire reason this node exists. Route the enum to your sampler, the string to your saver, and they can never disagree.

    How to install it

    ComfyUI Manager: search "ComfyUI Image Saver", install, restart.

    Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/alexopus/ComfyUI-Image-Saver
    cd ComfyUI-Image-Saver
    pip install -r requirements.txt
    

    then restart. No downloads, no dependencies of note.

    Common issues & troubleshooting

    Your scheduler list looks shorter or longer than someone else's. This node exposes the standard nine schedulers built into ComfyUI. If you've seen exotic schedule names elsewhere, those come from third-party sampler packs (the RES4LYF crowd, for instance) and won't appear here - this node deliberately mirrors the stock set.

    Metadata still shows the wrong scheduler. The whole point is to avoid that, but only if you actually wire both outputs from this node. If your sampler reads its scheduler from its own dropdown and your metadata reads the string from here, you're back to two sources that can drift. Feed the enum output into the sampler so there's genuinely one choice.

    Picking a scheduler didn't improve your image. The scheduler is a real dial but a small one next to model and sampler choice. If output looks wrong, the scheduler is rarely the culprit - check that the sampler/scheduler pair actually suits your model's architecture before blaming the schedule.

    CategoryImageSaver/utils

    Inputs (1)

    NameTypeDefaultDescription
    schedulerCOMBOscheduler (Comfy's standard)

    Outputs (2)

    NameTypeDescription
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimalscheduler (SCHEDULERS)
    scheduler_nameSTRINGscheduler name (STRING)