XY Inputs: Steps //EasyUse
Steps — build a step-count comparison grid without hand-wiring it
- X or Y
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_parameterissteps, you setfirst_stepandlast_step- the axis runs from one step count to another. - If it's
start_at_step, you setfirst_start_stepandlast_start_stepinstead. - If it's
end_at_step, you setfirst_end_stepandlast_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.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| target_parameter | COMBO | 3 options: steps, start_at_step, end_at_step | |
| batch_count | INT | 30–50 | — |
| first_step | INT | 101–10000 | — |
| last_step | INT | 201–10000 | — |
| first_start_step | INT | 00–10000 | — |
| last_start_step | INT | 100–10000 | — |
| first_end_step | INT | 100–10000 | — |
| last_end_step | INT | 200–10000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| X or Y | X_Y | — |