ComfyUI Node

AIHub Expose Steps

Steps that inherit the model's defaults — a small expose that saves users real pain

By otavanopisto·Created about a year ago·Updated 22 days ago· 7
AIHub Expose Steps
    • INT
    idsteps
    labelSteps
    tooltip
    value10
    advancedfalse
    index0
    unaffected_by_model_stepsfalse

    AIHubExposeSteps looks like a plain integer expose with a steps-shaped label, and for a second it is. The difference is the one input that makes it worth reaching for: unaffected_by_model_steps. That toggle is what separates "expose a number called steps" from "expose steps that behave like steps."

    Here's the situation this node exists for. In the otavanopisto ComfyUI-aihub-workflow-exposer world, workflows are driven by client apps over a websocket, and clients can let the user pick a model too. Every model the author's export system knows about carries defaults - default_steps, default_cfg, default_sampler, default_scheduler - so a generic "simple image generation" workflow can work across models. If your workflow exposes steps, you want the value to snap to the selected model's default steps, then let the user nudge it. That defaulting is a client-side feature; the source docstring says it plainly: "this node just exposes an integer." Your job in the graph is just to mark it as the steps value and decide whether it can be overridden.

    The inputs that matter

    • value - default 10. The source validates it: below 0 or above 150 raises an error, so don't get cute with 9999.
    • unaffected_by_model_steps - the star. Leave it false and the client will set this expose to the model's default steps when a model is selected (user can still change it). Flip it true and your value is forced, no matter what model defaults say. Use the true side when a workflow genuinely depends on a specific step count - say a distilled or LoRA-tuned pass that breaks outside its training range.
    • id / label / tooltip / advanced / index - the standard expose fields. id must be unique in the workflow; the client addresses this field by it.

    Output is a single INT, wired straight into a KSampler's steps. You're inside a graph where a AIHubExposeModel may be feeding the model, so a steps expose that quietly respects the model's metadata is one less thing for the end user to get wrong.

    Install and gotchas

    Same story as the rest of the pack - no Python requirements, no model downloads:

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

    Restart ComfyUI, and the pack's websocket server starts with it. Two traps worth naming: the 0–150 range check will hard-fail a run if something feeds it a big number, and if you set unaffected_by_model_steps on a workflow that also exposes a model, you've told the client "the model's defaults don't matter here" - which is often exactly backwards for a generic workflow. Use the flag deliberately, not as a default fidget.

    Categoryaihub/expose

    Inputs (7)

    NameTypeDefaultDescription
    idSTRINGstepsA unique custom id for this workflow (it should be unique)
    labelSTRINGStepsThis is the label that will appear in the field
    tooltipSTRINGAn optional tooltip
    valueINT10
    advancedBOOLEANfalseIf set to true, it will make this option 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_stepsBOOLEANfalseIf set to true, this steps value will not be affected by the model's default steps

    Outputs (1)

    NameTypeDescription
    INTINT