⚡| Image Grid Builder
Turn a batch of Z-Image renders into a labeled contact sheet in one node
- images
- IMAGE
Image Grid Builder answers a specific, universal itch: you've generated eight seeds, six styles, or a whole batch of LoRA tests, and now you need them on one canvas to actually compare them. This node takes an image list and lays it out into a grid - with an optional text banner and full control over spacing, columns, and colors. It's the contact sheet node that lives in the Z-Image Power Nodes pack, but nothing about it is Z-Image-specific; if you've ever screenshot five ComfyUI previews and stitched them in paint, this replaces that ritual.
How it works
The input is an autogrow image list - the node starts with two image slots and adds more as you connect them (up to 50). Every connected image gets resized by image_scale (default 0.5) and laid out left-to-right, wrapping at columns (default 0 = unlimited, meaning one long horizontal row). The optional banner mode (none/header/footer) reserves a strip at the top or bottom and renders your text into it, with its own height, font, size, and colors. Everything comes back as a single IMAGE.
The inputs that matter
images- the autogrow list. This is the whole point: connect your batch output (or several individual previews) here.columns(INT, 0–64) - 0 means one long horizontal row. Set 2–4 for a proper comparison grid.banner(COMBO) +text(STRING) - header/footer with your label. This is what makes a seed test readable later, so use it.image_scale(FLOAT, default 0.5) - shrinks each cell; 1.0 keeps them full size (and blows up your memory fast).image_spacing(INT, default 8) - gap between cells, in pixels.banner_height(default 144),font_name,font_size,text_color,lines_color,banner_color- the banner styling. Hex strings, e.g.#FFFFFF.
Output is one IMAGE - wire it to a preview or Save Image.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes
Restart ComfyUI, or install through ComfyUI Manager (search "Z-Image Power Nodes"). No pip dependencies. Note the pack's minimums: Python 3.10, PyTorch 2.5, ComfyUI v0.11.0.
Where it pays off
Z-Image Turbo has a famous quirk: different seeds produce near-identical images, so the interesting comparisons are style vs style and LoRA strength vs LoRA strength, not seed vs seed. A grid with a banner naming each column is the fastest way to eyeball those. Practical tips: keep image_scale at 0.5 or below for anything more than four cells, and set columns explicitly - the unlimited default turns an eight-image batch into a comically wide strip. One honest caveat: it arranges, it doesn't annotate per-cell, so the banner is your only text - name your test before you run it.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| images | COMFY_AUTOGROW_V3 | — | |
| banner | COMBO | none | Choose to add a header, footer, or no banner to the grid. |
| banner_height | INT | 1440–2048 | The height of the banner in pixels. |
| text | STRING | The text to be displayed in the header or footer. | |
| text_color | STRING | #555 | The color of the text in the banner, expressed in hexadecimal format (e.g., #FFFFFF for white). |
| lines_color | STRING | #000 | The color of the lines in the grid, expressed in hexadecimal format (e.g., #000000 for black). |
| banner_color | STRING | #FFF | The background color of the banner, expressed in hexadecimal format (e.g., #FFFFFF for white). |
| font_name | COMBO | open_sans | The font to be used for the banner text. |
| font_size | INT | 648–256 | Size of the font used for the banner text. |
| columns | INT | 00–64 | The number of columns in the grid. Set to 0 for unlimited columns, arranging images horizontally. |
| image_scale | FLOAT | 0.50–1 | Adjust the scale of the images in the grid. |
| image_spacing | INT | 80–256 | The spacing between images in the grid. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | Output image with the grid and the optional banner text. |