Nodes/Img Label Tools/Advanced Stitcher
ComfyUI Node

Advanced Stitcher

N labeled grids in one pass — Advanced Stitcher for batch comparisons

By rjgoif·Created 9 months ago·Updated 2 months ago· 5
Advanced Stitcher
  • images
  • stitched_groups
N4
group_modeevery_N
labels
label_endblank
label_locationbottom
label_size32
fontarial.ttf
label_stylewhite on black
shapehorizontal
backgroundblack
resizegrow
size_methodpad
padtrue
spacing5
label_input

Advanced Stitcher is what you reach for when one comparison grid isn't enough. It's the batch version of the pack's Image Array node: instead of stitching your whole image list into a single grid, it splits the list into N groups and makes you N separate labeled grids, all in one pass. The result is a list of images you can save, flip through, or feed straight into a Reddit or Discord post.

The scenario that actually motivates this: you ran a batch sweep - say 4 seeds across 8 prompts, or a LoRA at 6 weights - and now you have 32 images sitting in one batch. What you want for the post is one tidy labeled grid per seed (or per weight), not a single 32-cell monster nobody can read. That's exactly what this node does.

How it works

Everything here is built on the same machinery as Image Array - equalize, label, arrange - the difference is only the grouping step up front. group_mode decides how your input list is carved up:

  • every_N (default) - interleaved. Group 0 takes images 0, N, 2N…, group 1 takes 1, N+1, … and so on. When the total isn't divisible by N, leftovers go front-to-back: group 0 gets the first extra, group 1 the next. This is the mode for "one grid per seed," because your seeds are interleaved in the batch.
  • length_N - chunked. Group 0 is the first N images, group 1 the next N, and so on. The last group is padded with blank filler if it comes up short.

Each group is then labeled and stitched into whatever shape you picked, and the label list restarts independently per group - if you have 3 labels and a group holds 5 images, label_end: blank leaves the trailing cells empty while repeat_last reuses the final label.

The inputs that matter

  • images - your batch or list. Feed it a normal IMAGE tensor and it splits by frames.
  • N - how many groups, which is also how many output grids you get. 1–256.
  • group_mode - every_N vs length_N, above. Get this wrong and your "by seed" comparison silently becomes a "by prompt" one.
  • shape - horizontal, vertical, square, or the smart_* options that pick the grid closest to a target aspect ratio.
  • labels / label_input - same multiline format as Image Array: one label per line, \n inside a line for a line break, semicolons also split. Connect label_input from another node to feed labels dynamically.
  • spacing, background, label_style - the styling knobs. label_style gives you white-on-black, black-on-white, or gray variants.

The single output is stitched_groups, a list of IMAGE tensors - one grid per group.

Install

ComfyUI Manager, search "Img Label Tools", install, restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/rjgoif/ComfyUI-Img-Label-Tools

Restart ComfyUI after either route. No models to download; Pillow and PyTorch ship with ComfyUI. Want a non-Arial font? Drop a .ttf into a fonts folder at your ComfyUI root and it appears in the dropdown.

Gotchas

This is the newest node in the pack (the repo is essentially one commit), so it's less battle-tested than Image Array. The per-group label restart trips people up - if labels look wrong, remember they're not global. And because every_N distributes leftovers front-to-back, groups can differ in size by one image, which makes grids slightly asymmetric. Not a bug, just something to expect.

CategoryImage Label Tools

Inputs (16)

NameTypeDefaultDescription
imagesIMAGE
NINT41–256
group_modeCOMBOevery_N2 options: every_N, length_N
labelsSTRING
label_endCOMBOblank2 options: blank, repeat_last
label_locationCOMBObottom6 options: top, bottom, left_vert, left_hor, right_vert, right_hor
label_sizeINT320–200
fontCOMBOarial.ttf1 options: arial.ttf
label_styleCOMBOwhite on black4 options: white on black, black on white, white on dark gray, black on light gray
shapeCOMBOhorizontal6 options: horizontal, vertical, square, smart_square, smart_landscape, smart_portrait
backgroundCOMBOblack2 options: black, white
resizeCOMBOgrow2 options: grow, shrink
size_methodCOMBOpad4 options: pad, stretch, crop_center, fill
padBOOLEANtrue
spacingINT50–100
label_inputoptSTRING

Outputs (1)

NameTypeDescription
stitched_groupsIMAGE