Adaptive Image Stitch - Vantage
Four images, one tidy grid, zero model downloads
- image1
- image2
- image_3
- image_4
- IMAGE
Adaptive Image Stitch - Vantage is the boring half of this pack, and it's the half you'll use every day. It's a plain image compositor: up to four images in, one stitched grid out, no model, no VRAM, no Hugging Face download. In the pack's own example workflow it does the real work of turning four reference images into a single picture that then gets encoded into a Flux reference latent - so don't skip it just because it isn't an LLM.
You'll reach for it whenever you want a before/after, a row of prompt variations, or a contact sheet of candidates in one file instead of four. Grid nodes are a dime a dozen in ComfyUI, but this one has two things going for it: it handles mixed sizes without cropping, and it plays nice with batches.
How it works
The layout logic is simple and worth knowing before you connect four images expecting a row:
- 2 images → side by side.
- 3 images → two across, third below.
- 4 images → a clean 2×2.
match_image_size (default on) is the interesting dial. With it on, the second image in each pair is rescaled with lanczos to match the first's height while keeping its aspect ratio, so the grid lines up edge to edge. With it off, no pixels get resampled - the shorter image is padded out centered to align, in the spacing color. Pick on for clean grids, off when you want to preserve original pixels (say, for a quality comparison where resizing would flatter the loser). spacing_width (0–1024, step 2) adds a gap between cells, and spacing_color fills it with white, black, red, green, or blue.
There's also a batch nicety: if two inputs have different batch sizes, the node repeats the last frame of the shorter one so pairs still stitch. That's rare in utility nodes and it saves you a RepeatLatentBatch dance when comparing generated variants.
Inputs and outputs
- image1 - required.
- image2, image_3, image_4 - optional, and yes, the naming is inconsistent; that's the author's. All are straight
IMAGEtensors.
The single output is an IMAGE, which feeds a PreviewImage or SaveImage, or goes through VAEEncode into a reference-latent slot on a Kontext-style workflow. Note there is no direction control exposed - the layout is fixed by how many images you connect.
Installing it
It ships in the same pack as the DreamOmni2 encoder, so the install is identical: search Vantage-DreamOmni2 in ComfyUI Manager and install, or
cd ComfyUI/custom_nodes
git clone https://github.com/vantagewithai/Vantage-DreamOmni2
pip install -r requirements.txt
and restart. Here's the nice part: this node doesn't need any of the ML dependencies or the model download. If you only want the stitcher, you can install the pack and ignore everything else - just don't run the text encoder's first-load until you're ready for a multi-GB download.
Gotchas
- The 4-image case is always 2×2. If you wanted a horizontal strip of four, this node won't give it to you - stitch two pairs yourself and concatenate, or grab a dedicated stitch node. Related: the source's docstring mentions
canvas_width/canvas_heightand aCombineImagesListprerequisite; neither is a real input, so don't go hunting for them. - The gap is a solid color, not a border. With
spacing_widthset, the seam between cells is flat color - fine for sheets, wrong tool if you wanted per-image frames. match_image_sizeon resamples. If two images have very different heights, the rescale can soften one of them. For strict quality comparisons, turn it off and accept the padded edges.
For a "just glue these together" node it's refreshingly predictable. It won't win you any awards, but it'll get your comparison sheet done in one wire instead of a custom Python node.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image1 | IMAGE | — | |
| match_image_size | BOOLEAN | true | — |
| spacing_width | INT | 00–1024 | — |
| spacing_color | COMBO | white | 5 options: white, black, red, green, blue |
| image2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |