ComfyUI Node

Get Scheduler

Pair the right scheduler with each profile's sampler

By haroonaslam·Created 4 months ago·Updated 7 days ago· 10
Get Scheduler
    • scheduler
    key
    resolved_value
    resolved_config
    resolved_digest

    Sampler and scheduler are a matched pair, and half the reason people end up with mediocre results is mixing a sampler with the wrong scheduler. Get Scheduler exists so that pairing follows your config profile instead of your memory: publish a scheduler under a key with Set Scheduler, and Get Scheduler hands the active profile's choice to your KSampler as a typed scheduler socket.

    It's the natural companion to Get Sampler in WorkflowX's typed Set/Get family. When your fast profile uses dpmpp_2m_sde and your quality profile uses dpmpp_3m_sde, the scheduler should probably switch too - and this node is how one graph does that without you touching the KSampler.

    How it works

    The mechanism is the standard one for this pack, with the scheduler enum from comfy.samplers.KSampler.SCHEDULERS as the value type: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal. Set Scheduler presents that live list from your ComfyUI; Get Scheduler returns one of them.

    Resolution works exactly like every typed Get. Set Scheduler lives in a ComfyUI group under a key; a Config SelectorX marks groups Active/Bypass/Mute/Ignore per named config; Get Scheduler reads the workflow JSON at queue time, matches Set Scheduler nodes by key, filters to Active groups, and picks the winner (last canvas id if several remain, with a warning). The resolved_value, resolved_config, and resolved_digest fields are UI-managed provenance cache - read-only, and the reason profile switches work without refreshing the page.

    Inputs and outputs

    • key (STRING) - exact match against the Set Scheduler key.
    • resolved_value / resolved_config / resolved_digest (STRING) - internal, managed by the frontend.
    • Output: scheduler - the live ComfyUI scheduler enum. Wire straight into a KSampler's scheduler input.

    Because it's a real enum socket, the consumer gets exactly what it expects - no string typing, no validation at the KSampler.

    Install

    Ships in WorkflowX-Configurator. ComfyUI Manager → search WorkflowX Configurator, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/haroonaslam/WorkflowX-Configurator
    

    Restart ComfyUI and hard-refresh the browser. No extra dependencies.

    Common issues

    • "No Scheduler value found for key 'x'." - no matching Set Scheduler in an Active group. Verify the key and that the group isn't muted in the selected profile.
    • The scheduler list looks stale. It's read from your ComfyUI at startup; restart ComfyUI after an update so both Set and Get reflect new schedulers.
    • Sampler and scheduler disagree per profile. They resolve independently, so it's up to you to publish a consistent pair under each profile's keys.

    Fair expectations again: this pack is new and small in the community. If you use one sampler/scheduler combo, you don't need this node. It's for the workflow where sampler+scheduler pairing is a genuine dimension of each named profile.

    CategoryWorkflowX/Get Set Go

    Inputs (4)

    NameTypeDefaultDescription
    keySTRING
    resolved_valueSTRING
    resolved_configSTRING
    resolved_digestSTRING

    Outputs (1)

    NameTypeDescription
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal