GridImage
Turn a pile of generated images into one tidy grid, saved as a PNG
- images
GridImage is the "show me the whole batch at once" node - it takes an IMAGE batch, arranges the frames into a single grid, and saves that grid as a PNG to your output folder. If you've been wrestling with the pack's KSamplerXYZ sweeps or any batched generation, this is the node that makes the results actually readable.
Inputs are images, filename_prefix (defaults to ComfyUI-Grid), x (number of columns, 1–64), and gap (pixels of spacing between cells, 0–32). Rows are computed automatically: ceil(count / x). Drop a 60-image sweep in with x=10 and you get six rows of ten. The one output it has is a save action, not a tensor - it writes a PNG with your workflow embedded in the metadata (so you can drag it back into ComfyUI later) and reports it in the UI like any SaveImage.
Mechanically it subclasses ComfyUI's built-in SaveImage and reuses its file-counter logic (_00001_, _00002_, …), so it behaves like a save node you already know - the grid PNG lands in ComfyUI/output with auto-incrementing names, and it won't overwrite existing files. The grid itself is a simple paste onto a canvas; cells keep their original size, and the gap is filled with black.
That last bit is worth knowing: if your images have different dimensions, they don't get resized to match - each cell pastes at its native size, so mismatched frames make a ragged grid. For the common case (all outputs of the same sampler pass) everything lines up fine.
The natural home for this node is the end of an XYZ run: sampler → VAEDecodeBatched → GridImage, with x set to the width of your sweep. The workflow link in the README shows exactly that layout. It's also just generally useful for tidying any batch - 16 variations of one prompt become one shareable contact sheet.
Install via ComfyUI Manager (search "ComfyUI-nodes-hnmr") or:
cd ComfyUI/custom_nodes
git clone https://github.com/CYBERLOOM-INC/ComfyUI-nodes-hnmr
Restart ComfyUI; no model downloads, no extra dependencies.
Minor gotchas: the gap is black, so on dark images the seams disappear - bump gap up if you want visible cell boundaries. And since it's a pure save node, don't wire its (nonexistent) output into anything expecting an IMAGE. As with everything in this pack, install the CYBERLOOM-INC fork - the original repo stopped getting fixes and broke on modern ComfyUI.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| filename_prefix | STRING | ComfyUI-Grid | — |
| x | INT | 11–64 | — |
| gap | INT | 00–32 | — |
Outputs (0)
No outputs