Nodes/ComfyUI-Champ/ImageCombineOneRow
ComfyUI Node

ImageCombineOneRow

Tile up to 12 images into one row — the pack's preview-grid glue

By chaojie·Created 2 years ago·Updated 2 years ago· 24
ImageCombineOneRow
  • image1
  • image2
  • image3
  • image4
  • image5
  • image6
  • image7
  • image8
  • image9
  • image10
  • image11
  • image12
  • IMAGE

This is a boring little node and that's fine - boring is what utility nodes are for. ImageCombineOneRow takes up to twelve IMAGE inputs and glues them side by side into a single image, left to right. It ships inside the ComfyUI-Champ pack, and if you've seen the reference workflow it's the thing quietly building that long before/after strip of "here's the depth, here's the pose, here's what CHAMP generated" that gets saved next to your video.

Why it's in a human-animation pack

In the shipped wf.json, ChampRun's output frames and the guidance-map previews all feed into this node (and its column twin), which tiles them into one horizontal strip that then goes to VHS_VideoCombine for saving. Think of it as a debug overlay: you get the input conditions and the output motion in a single image you can eyeball for consistency issues. Nothing about it is CHAMP-specific, though - it's just a general concat helper that happened to be needed here.

How it works

It concatenates along the width axis (torch.cat on the width dimension of the IMAGE tensor), so the output width is the sum of the inputs and the height stays the same. Two details make it friendly:

  • image1 and image2 are required, image3 through image12 are optional, and the node stops at the first empty input. Leave the later slots disconnected and it just works - no "unlinked optional input" drama.
  • Every input must match in height, channel count, and batch (frame) count. Since it's a plain concat, not a montage that resizes, a 512×512 frame next to a 768×512 frame will error, and a 16-frame batch next to an 8-frame batch will too.

Output

One IMAGE with the same frame count and height as the inputs, just wider. Wire it into anything that takes an image - a preview, VHS_VideoCombine, a save node.

Using it

Install comes with the pack (Manager → search "Champ", or git clone https://github.com/chaojie/ComfyUI-Champ into custom_nodes, restart). For a CHAMP run, the classic setup is: slot 1 = generated frames, slots 2–4 = semantic map, depth, and pose previews. If you'd rather stack the same content vertically, the pack's other combine node (ImageCombineOneColumn) is the identical thing rotated - row keeps time running left-to-right, column reads top-to-bottom.

CategoryChamp

Inputs (12)

NameTypeDefaultDescription
image1IMAGE
image2IMAGE
image3optIMAGE
image4optIMAGE
image5optIMAGE
image6optIMAGE
image7optIMAGE
image8optIMAGE
image9optIMAGE
image10optIMAGE
image11optIMAGE
image12optIMAGE

Outputs (1)

NameTypeDescription
IMAGEIMAGE