Nodes/ComfyUI-SweepGrid/Build Video Grid
ComfyUI Node

Build Video Grid

The contact sheet, but every cell is a video

By embedding-shapes·Created about a month ago·Updated about a month ago· 3
Build Video Grid
  • videos
  • grid
columns3
cell_width480
cell_height272
padding8

You ran the sweep, and now you have nine videos. You can open nine previews and flip between them, or you can put them all in one grid where frame N of every clip sits side by side and differences jump out at you. Build Video Grid is the second option: it takes the frame-aligned IMAGE batches your sweep produced and arranges them into a single fixed-cell grid - a contact sheet where every cell is a video. It's the payoff node of the whole pack, and for comparing subtle things (motion, timing, LoRA strength) it beats staring at tabs by a mile.

How it works

The videos input is a list of ComfyUI IMAGE tensors - one frame batch per video, which is exactly what a swept generation path produces under list execution. The node requires every video to share frame count, channel count, dtype, and device; resolutions may differ, because each clip is fitted into its cell without cropping or stretching (area downscale when shrinking, bilinear when enlarging). Empty space, padding, and unused cells in the final row come out black; RGBA inputs get their alpha forced to 1 so transparent cells don't show through.

The inputs you'll actually touch: columns (default 3, up to 20 - rows are computed from how many videos you have), cell_width and cell_height (defaults 480×272, which is 16:9-ish and a sensible start), and padding (default 8, advanced). The output is a single grid IMAGE batch, frame-aligned with the inputs, that connects straight into Create Video.

The honest caveats

This node arranges videos; it does not draw labels. The pack's intended pipeline is to label before building the grid, using core Format Text and Draw Text Overlay nodes - draw the label onto each variant's frames first, then grid them. And because it builds the full grid tensor in memory, long or high-resolution videos can get hungry: Draw Text Overlay produces a whole extra image batch per variant, so a 30-second 720p sweep can chew through real VRAM. That's the exact scenario the pack's other grid node exists for.

When to pick this one vs the streaming variant

Keep this in memory when your grid fits comfortably - it's simpler and its IMAGE output stays composable (you can run further image nodes on it, or use Create Video to control encoding). Reach for Build Streaming Video Grid when the complete grid won't fit in memory.

Install

Shared pack install: ComfyUI Manager → "ComfyUI-SweepGrid" → Install, restart; needs ComfyUI 0.31.0+, no extra dependencies or model files.

CategorySweepGrid

Inputs (5)

NameTypeDefaultDescription
videosIMAGE
columnsINT31–20
cell_widthINT48032–2048
cell_heightINT27232–2048
paddingINT80–128

Outputs (1)

NameTypeDescription
gridIMAGE