ComfyUI Node

XY Plot Start

XY Plot Start

By kinorax·Created 5 months ago·Updated about a month ago· 2
XY Plot Start
  • image_info
  • x_modifiers
  • y_modifiers
  • image_info
  • xy_plot_info
  • loop_control
execution_modeloop
loop_index0

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 Defaults or Image Info Context. Required.
  • x_modifiers - a chain of XY Plot Modifier nodes 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) or list.
    • 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_control output. This is the mode that cooperates with XY Plot End to process cells sequentially without blowing up your VRAM. loop_index is 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. None means you're in list mode.

A realistic wiring

The pattern the pack's own workflow examples use:

  1. Base image_infoXY Plot Start (x_modifiers = chain of Modifiers for LoRA strength, say).
  2. image_info (per cell) → Image Info Context → sampler → decoded image.
  3. Image → XY Plot End, with xy_plot_info and loop_control from 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.

CategoryInfo-Prompt-Toolkit/XYPlot

Inputs (5)

NameTypeDefaultDescription
image_infoIPT-IMAGEINFOBase image_info (never modified in-place)
x_modifiersIPT-XYPlotModifierRequired modifier array for X axis
execution_modeCOMBOlooploop: one item per turn, list: all items
loop_indexINT00–999999Internal index for recursive loop expansion
y_modifiersoptIPT-XYPlotModifierOptional modifier array for Y axis. If omitted, one-row mode is used.

Outputs (3)

NameTypeDescription
image_infoIPT-IMAGEINFO
xy_plot_infoIPT-XYPlotInfo
loop_controlFLOW_CONTROL