Nodes/ComfyUI-aihub-workflow-exposer/AIHub Expose Scheduler
ComfyUI Node

AIHub Expose Scheduler

Same idea as the sampler expose, for the noise schedule — and it'll accept any string

By otavanopisto·Created about a year ago·Updated 22 days ago· 7
AIHub Expose Scheduler
    • SCHEDULER
    idscheduler
    labelScheduler
    tooltip
    value
    advancedfalse
    index0
    unaffected_by_model_schedulerfalse

    AIHub Expose Scheduler is the sibling of AIHubExposeSampler: it lets the external AIHub client pick the noise scheduler for your workflow, and its SCHEDULER output wires into the scheduler input of a KSampler. The dropdown ships with the standard nine - simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal - and the tooltip adds a genuinely useful wrinkle: the default "can be any string."

    That last bit is the difference that matters. The scheduler field is essentially open - a client isn't locked to the nine presets. If your workflow's client knows about a scheduler ComfyUI accepts that isn't in the list, it can send it and the node will happily pass it through. Practically, that means this node is more permissive than its sampler twin, and also slightly easier to trip over: an unknown string from a buggy client will flow downstream and only fail where the sampler actually parses it.

    Everything else is the familiar expose pattern. An AIHub client (over the pack's websocket, port 8111) sends the value when it runs the workflow; in the bare web UI the node just holds its default. The inputs you'll actually touch:

    • value - the default scheduler, ideally one your workflow is proven with. karras is the crowd-pleaser for SD-style models; sgm_uniform is what many modern checkpoints expect.
    • unaffected_by_model_scheduler - same "model defaults" logic as the sampler node. Exported models can carry a default_scheduler, and the pack will substitute it when the user picks a model through AIHubExposeModel. Check this box to make your exposed value stick regardless.
    • advanced - hide it under the client's advanced panel.
    • id / label / tooltip / index - the standard plumbing.

    The README's warning from the sampler node applies verbatim here too: "differences on how the different nodes treat SCHEDULER values can cause issues within WebUI but not during actual execution." A scheduler name that looks wrong in some web panel is usually fine on a real run - the thing to distrust is a value that isn't a real scheduler name at all.

    Install & gotchas

    ComfyUI Manager → search ComfyUI-aihub-workflow-exposer, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/otavanopisto/ComfyUI-aihub-workflow-exposer
    

    then restart. No requirements.txt, no extra dependencies or model downloads - the pack runs on ComfyUI's bundled stack. Keep the ComfyUI/aihub/... folders and an AIHubWorkflowController with a unique id in the workflow.

    One honest caveat: if your workflow never wants the scheduler touched, skip this node entirely - the model-defaults system will still apply a sane scheduler from the exported model config. Expose the scheduler only when the client genuinely needs to pick it. And if you're pairing it with AIHubExposeSampler, keep the two "unaffected" flags consistent; an "unaffected" scheduler riding on top of a model-driven sampler makes for confusing behavior you'll debug for an hour.

    Categoryaihub/expose

    Inputs (7)

    NameTypeDefaultDescription
    idSTRINGschedulerA unique custom id for this workflow.
    labelSTRINGSchedulerThis is the label that will appear in the field.
    tooltipSTRINGAn optional tooltip
    valueCOMBOThe default value for the scheduler to use, can be any string
    advancedBOOLEANfalseIf set to true, this option will be hidden under advanced options for this workflow.
    indexINT0This value is used for sorting the input fields when displaying; lower values will appear first.
    unaffected_by_model_schedulerBOOLEANfalseIf set to true, this scheduler value will not be affected by the model's default scheduler

    Outputs (1)

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