- image_info
- x_modifiers
- y_modifiers
- image_info
- xy_plot_info
- loop_control
ComfyUI never shipped an XY plot. That's the whole reason this node exists. In automatic1111, a comparison grid was one tick on a script; in ComfyUI you were left duct-taping batches together and stitching images by hand. The Info-Prompt-Toolkit pack fixes that with a three-node trio - Start, Modifier, End - and XY Plot Start is the engine room: it takes your base settings and your two axes of variation, then produces the settings for every cell of the grid.
The clever bit is what it works on. It doesn't touch prompts or samplers directly. It takes a single image_info bundle - the pack's portable package of model, LoRA stack, prompt, sampler, seed, size and everything else - and applies each axis's modifier chain on top of a fresh copy. Your base image_info is never modified in place; every cell gets its own derived copy. That's what makes the grid reproducible and re-runnable.
Inputs
- image_info - the base settings, usually from the pack's
Image Info DefaultsorImage Info Context. Required. - x_modifiers - a chain of
XY Plot Modifiernodes describing the X-axis variations. Required. Each modifier in the chain = one column. - y_modifiers - same idea for the Y axis. Optional; leave it unconnected and you get a single row (a pure X sweep).
- execution_mode -
loop(default) orlist.- list: everything is generated in one pass and the node hands you all cells at once.
- loop: one cell per execution, driven by loop_index and the
loop_controloutput. This is the mode that cooperates with XY Plot End to process cells sequentially without blowing up your VRAM.loop_indexis described as internal recursion bookkeeping - you normally don't touch it.
Outputs
- image_info - a list of per-cell settings (all cells in list mode, the current cell in loop mode). This feeds straight into
Image Info Context, which reconstructs a full image_info per cell for your sampler. - xy_plot_info - the grid shape and axis labels, carried along so XY Plot End can compose the final labeled image.
- loop_control - a flow-control signal that ties Start and End together in loop mode.
Nonemeans you're in list mode.
A realistic wiring
The pattern the pack's own workflow examples use:
- Base
image_info→ XY Plot Start (x_modifiers = chain of Modifiers for LoRA strength, say). image_info(per cell) → Image Info Context → sampler → decoded image.- Image → XY Plot End, with
xy_plot_infoandloop_controlfrom Start.
End composes the labeled grid at the end of the run. Same shape as the grid generators people compare to SwarmUI - except it's local, and it carries your full settings per cell.
Installing
Ships in ComfyUI-Info-Prompt-Toolkit:
cd ComfyUI/custom_nodes
git clone https://github.com/kinorax/comfyui-info-prompt-toolkit.git
cd comfyui-info-prompt-toolkit
pip install -r requirements.txt
Or install via ComfyUI Manager by searching the pack title, then restart. No models to download for the XY nodes. Note the pack targets ComfyUI's newer node API, so it needs ComfyUI ≥ 0.17.0 - on an older install the trio simply won't appear.
Where people get tangled
Two recurring mistakes. First, wiring y_modifiers when you meant a single sweep - if your "grid" comes out as one row of many cells, your Y chain is empty (or you want it that way). Second, confusing loop with list: in loop mode, the graph executes once per cell, which is exactly what you want with a big grid, but if you expected all images in one shot you'll think it's broken. And if you're not using XY Plot End at all, remember the image_info output is a list - treat it like the list it is, not a batch.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image_info | IPT-IMAGEINFO | Base image_info (never modified in-place) | |
| x_modifiers | IPT-XYPlotModifier | Required modifier array for X axis | |
| execution_mode | COMBO | loop | loop: one item per turn, list: all items |
| loop_index | INT | 00–999999 | Internal index for recursive loop expansion |
| y_modifiersopt | IPT-XYPlotModifier | Optional modifier array for Y axis. If omitted, one-row mode is used. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image_info | IPT-IMAGEINFO | — |
| xy_plot_info | IPT-XYPlotInfo | — |
| loop_control | FLOW_CONTROL | — |