Make Image Grid JK๐
Turn a batch of images into one tidy contact sheet
- images
- image_grid
You've just queued a batch of 12 images - 12 LoRA strengths, 12 prompts, 12 seeds - and now you have 12 separate PNGs to compare by alt-tabbing between viewer tabs like it's 1998. Make Image Grid JK fixes that: it takes the whole batch and stitches it into one grid image. Contact sheet, collage, comparison chart - whatever you want to call it, it's one node and it's genuinely the difference between "eyeballing" and "actually reviewing" your results.
How it works
Feed it the images (an IMAGE batch - anything with a batch dimension, straight from a Load Images or a sampler output). Then two controls:
- grid_side - a BOOLEAN that decides whether the number you give is the row count (
True/ "rows") or the column count (False/ "columns"). - grid_side_num - how many rows or columns. Give it 4 with rows selected and a 12-image batch, and you get 3 columns of 4. Give it 4 with columns selected and you get 4 columns of 3.
Under the hood it converts the batch to PIL images, lays them out with make_image_grid, and converts back to a single IMAGE tensor. It's the companion to the pack's Split Image Grid node, which undoes the operation - useful when you save a grid, want to work on individual cells, and need to crack it back open.
The output is one image_grid IMAGE. Wire it straight into a preview or Save Image.
When it's actually worth it
- LoRA or checkpoint tests: batch your strengths/seeds, grid them, compare in one glance.
- Prompt variations: same seed, different prompts, one screenshot to show the difference.
- Batch outputs from video frame extraction: grids of keyframes are a surprisingly good way to sanity-check a video.
The pack added it in v1.8.6, and it's been quietly standard issue in Jake's img2mesh and upscale workflows where MV samples and upscaled variants get compared side by side.
Gotchas
If grid_side_num is larger than the batch, you get empty cells or an error depending on how the grid math shakes out - so keep it โค your batch size. And note the dependency: it needs torchvision for the PIL grid helpers. torchvision ships with any normal ComfyUI install, but if you're on a stripped-down environment and get an ImportError, that's the missing piece.
Install
The pack, as always:
cd ComfyUI/custom_nodes
git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
pip install -r requirements.txt
Restart and the node appears under the pack's Image section. No model downloads, no API keys - just a contact sheet generator that does one thing well.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | โ | |
| grid_side | BOOLEAN | true | โ |
| grid_side_num | INT | 11โ8192 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_grid | IMAGE | โ |