MyXYGridAccumulator
The node that actually assembles your XYZ comparison grid
- images
- XYZ_GRID_CONTROL
- images
Automatic1111 and Forge have an "XYZ plot" script built right in - run the same prompt across a grid of, say, five seeds by four CFG values, and it hands you back one labeled image with everything laid out. ComfyUI has no equivalent baked into core; every version of that workflow you've seen is a community-built system stitched together out of custom nodes, and several packs (qq-nodes-comfyui, Efficiency Nodes, bits of Impact Pack) have each rebuilt it their own way. MyXYGridAccumulator is this pack's piece of that puzzle - specifically, the node that catches each image as your sweep runs and assembles them into the finished grid.
It sits inside the body of an XYZ loop. Each time the loop fires, it hands the accumulator the image that iteration just produced along with the shared XYZ_GRID_CONTROL state that's tracking where you currently are in the sweep - which row, which column, which page. The node buffers that image into position. Once a full page (a complete row-by-column pass) is filled, it stamps axis labels onto the assembled grid, outputs the finished image, and clears its internal buffer so the next page can start collecting from scratch.
The README credits this node - along with a few siblings not covered here (feedbackNode, MyXYZHelper, MyXYZSuperStacker) - as based on nodes from qq-nodes-comfyui by kenjiqq. That's a real compliment to borrow from: qq-nodes is one of the better-liked implementations of this exact idea in the wider community, praised specifically because it "can plot anything" and keeps the actual sampling decoupled from the grid-building nodes, so it isn't locked to one sampler setup. This pack's version is its own reimplementation rather than a dependency - you don't need qq-nodes-comfyui installed to use MyXYGridAccumulator - but if you already run qq-nodes for the same job, that's the more established, purpose-built option for the same problem.
The inputs and outputs that matter
Three required fields, and only one is something you'll actually hand-tune:
images(IMAGE) - the image this loop iteration just generated. Comes from your sampler/decode chain, not something you set directly.XYZ_GRID_CONTROL- the shared state object driving the sweep (position, page size, and so on). This is produced elsewhere in the pack's XYZ scaffolding, not something you configure by hand on this node.show_previews(defaulttrue) - the one real toggle. Turn it off if you don't want an in-progress preview popping up on every partial page while the grid fills.
The output is images (IMAGE) - the assembled, labeled grid once a page completes. Wire it to a Save Image or Preview node.
How to install it
Through ComfyUI Manager, search "DemonAlone-nodes-ComfyUI." By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/DemonAlone/SimpeStringGenerator_ComfyUI
then restart. (The clone URL keeps the pack's original name, SimpeStringGenerator_ComfyUI, even though it presents as "DemonAlone-nodes-ComfyUI" everywhere else - same repo.) No models involved, nothing heavy to install.
Common issues & troubleshooting
Dropping this node alone into a normal workflow does nothing useful. It's built to accumulate across a loop, not to run standalone - without something upstream actually driving XYZ_GRID_CONTROL through a full sweep (this pack's own XYZ control nodes, like XYZConflictValidatorAndSwitch), there's no repeated data for it to collect and nothing triggers a finished grid.
No grid ever comes out. The labeled grid only emits once a full page - a complete rows × columns pass - has been buffered. If your loop is cut short, errors out partway, or your row/column counts don't match what you expected, you'll never hit that completion condition and the output stays empty.
Don't mix XYZ systems between packs. Because ComfyUI's grid-plotting is entirely third-party and every pack invented its own control types, this pack's XYZ_GRID_CONTROL won't talk to qq-nodes-comfyui's or Efficiency Nodes' equivalents. Pick one lineage per workflow and stay in it.
Community footprint is thin. This specific pack has essentially no presence outside its own GitHub repo, so if the grid isn't behaving, you're better off reading the (short) source than searching for a thread about it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| XYZ_GRID_CONTROL | XYZ_GRID_CONTROL | — | |
| show_previews | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |