Nodes/ComfyUI-Apt_Preset/lay_image_grid_note
ComfyUI Node

lay_image_grid_note

A labeled comparison grid for ComfyUI image batches

By cardenluo·Created 2 years ago·Updated 18 days ago· 309
lay_image_grid_note
  • images
  • image
rows1
columns1
gap10.00
font_size60
row_textsa@b@b
col_texts1@2@3
bg_color#0E0000

Plain image grids are fine until someone asks "wait, which one was that?" lay_image_grid_note is lay_ImageGrid's more opinionated sibling: same idea of tiling a batch of images, but with row and column labels baked in, so the grid explains itself - closer to an old-school A1111 X/Y plot than a bare contact sheet.

What it does

This node is part of cardenluo's ComfyUI-Apt_Preset, a large utility pack for ComfyUI. It lives in the imgEffect group with the pack's other layout tools, and it's the one to reach for when your grid represents a deliberate comparison - different samplers across rows, different CFG values across columns, that kind of thing - rather than just a batch of random variants.

It tiles your images batch into a rows × columns layout, then writes text labels along the row and column axes using row_texts and col_texts. Both are single strings where individual labels are separated by @ - the defaults, "a@b@b" for rows and "1@2@3" for columns, show the pattern: split on @, one label per row or column in order. You control label size with font_size, spacing between tiles with gap, and the fill color behind everything with bg_color (hex string, default a near-black #0E0000).

Inputs and outputs

  • images - the batch to lay out.
  • rows / columns - grid shape, each defaulting to 1.
  • row_texts / col_texts - @-delimited label strings for each axis.
  • gap - space between tiles (0–50).
  • font_size - label text size (minimum 1, default 60).
  • bg_color - background hex color for the canvas.

Single image output, ready for Preview or Save Image.

The thing to get right here is the label count: if you set rows=3 but only give two @-separated entries in row_texts, you'll come up short on labels for the third row. Match the number of @ segments to your grid dimensions before you run it.

Where this fits

Use this whenever the grid needs to communicate a variable you changed, not just "here are some outputs." Sampler comparisons, LoRA weight sweeps, seed-vs-strength matrices - anywhere you'd have built an X/Y plot manually before, this does the tiling and labeling in one node instead of composing separate text-overlay steps.

Installing it

Via ComfyUI Manager: search ComfyUI-Apt_Preset. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git

Then run install.bat on Windows (or install the requirements.txt by hand) and restart. No external models needed - this is compositing plus text rendering, both handled by the pack's bundled dependencies.

Troubleshooting

As with the rest of this pack, the thing to watch for first is a clean import: ComfyUI-Apt_Preset bundles a lot of functionality and dependencies, and there's a known report of it throwing IMPORT FAILED for at least one user after install - check your ComfyUI startup console for the specific missing package if the node doesn't appear, rather than assuming your workflow file is broken.

Specific to this node: mismatched label counts (fewer @-separated labels than rows or columns) will leave some tiles unlabeled or throw an index error depending on the pack's internal handling, so count your labels before running. If your labels get cut off or overlap, that's font_size relative to your tile size - the node doesn't auto-scale text to fit, so drop the font size or increase your source image resolution to give the label more room.

CategoryApt_Preset/imgEffect

Inputs (8)

NameTypeDefaultDescription
imagesIMAGE
rowsINT1
columnsINT1
gapFLOAT10.000–50
font_sizeINT60
row_textsSTRINGa@b@b
col_textsSTRING1@2@3
bg_colorSTRING#0E0000

Outputs (1)

NameTypeDescription
imageIMAGE