ImageCombineOneRow
Tile up to 12 images into one row — the pack's preview-grid glue
- 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:
image1andimage2are required,image3throughimage12are 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.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image1 | IMAGE | — | |
| image2 | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| image5opt | IMAGE | — | |
| image6opt | IMAGE | — | |
| image7opt | IMAGE | — | |
| image8opt | IMAGE | — | |
| image9opt | IMAGE | — | |
| image10opt | IMAGE | — | |
| image11opt | IMAGE | — | |
| image12opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |