Nodes/ComfyUI Easy Use/XY Inputs: Steps //EasyUse
ComfyUI Node Runs on cloud

XY Inputs: Steps //EasyUse

Steps — build a step-count comparison grid without hand-wiring it

By yolain·Created 3 years ago·Updated 8 days ago· 2,633
XY Inputs: Steps //EasyUse
    • X or Y
    target_parameter
    batch_count3
    first_step10
    last_step20
    first_start_step0
    last_start_step10
    first_end_step10
    last_end_step20

    Comparison grids - same seed, same prompt, one variable sweeping across a row or column - are one of the oldest tricks in the SD toolbox for actually understanding what a parameter does instead of guessing. mcmonkey (SwarmUI's developer, and yes, the same person behind the dynamic-thresholding node also in this pack) built one of the original standalone tools for exactly this back in December 2022, before ComfyUI even had a native answer. Easy-Use's XY Inputs family is that same idea, wired for ComfyUI: this specific node builds the axis when the thing you're sweeping is step-related.

    What it actually feeds

    This node doesn't run anything by itself - it produces an X_Y output that plugs into Easy-Use's XY Plot node (not covered here, but it's the counterpart that actually renders the grid). Think of it as defining one axis: "here's the parameter, here's the range, here's how many points."

    The inputs that matter

    target_parameter is the dropdown that decides what this axis actually sweeps: steps, start_at_step, or end_at_step. Pick one, and only the fields relevant to that choice matter - the node exposes all three ranges regardless, but the unused ones are ignored.

    • If target_parameter is steps, you set first_step and last_step - the axis runs from one step count to another.
    • If it's start_at_step, you set first_start_step and last_start_step instead.
    • If it's end_at_step, you set first_end_step and last_end_step.

    batch_count (3 default) is how many points land on the axis between your first and last values - three columns or rows in the eventual grid. Push this up for a finer sweep, but remember every point is a full generation; a 3×3 grid across two axes is nine renders, not three.

    When you'd actually reach for this

    Step-count sweeps are genuinely useful for finding the knee of the curve on a new checkpoint or sampler - the point past which more steps stop buying you anything. start_at_step/end_at_step sweeps are more specialized: they're for when you're doing partial denoising (a refiner handoff, a second pass) and want to see exactly where in the schedule to make the cut, rather than guessing.

    Installing it

    ComfyUI Manager: search ComfyUI Easy Use, install, restart. By hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/yolain/ComfyUI-Easy-Use
    

    Windows: double-click install.bat for dependencies. Linux/Mac: cd in and run pip install -r requirements.txt yourself. Restart ComfyUI.

    Where people get stuck

    The most common confusion is expecting this node to produce an image or a grid on its own - it doesn't; it's purely an axis definition and needs the XY Plot node downstream to do anything visible. Second: people set all three range pairs thinking they all apply simultaneously, then wonder why changing first_end_step did nothing - only the pair matching your target_parameter selection is read. And if your grid takes forever, that's not a bug, it's arithmetic: batch_count on this axis multiplied by whatever the other axis is sweeping is your total render count, and step sweeps in particular scale generation time directly, so a wide steps range on top of a wide second axis can turn a quick comparison into a very long queue.

    CategoryEasyUse/XY Inputs

    Inputs (8)

    NameTypeDefaultDescription
    target_parameterCOMBO3 options: steps, start_at_step, end_at_step
    batch_countINT30–50
    first_stepINT101–10000
    last_stepINT201–10000
    first_start_stepINT00–10000
    last_start_stepINT100–10000
    first_end_stepINT100–10000
    last_end_stepINT200–10000

    Outputs (1)

    NameTypeDescription
    X or YX_Y