MERGE (JOV) ➕
The merge node that became STACK
- 👾A
- 👾B
- 🇼🇭
- 🖼️
- 😷
MERGE (JOV) ➕ is the node that stitched images together - horizontal, vertical, or into a grid - so you could turn a bunch of frames or variations into one composite. In the old Jovimetrix this was the "put it all on one canvas" tool: give it images, pick an arrangement, get back a combined image and a mask.
And the honest update: MERGE didn't survive the 2.0 rework under that name - it became STACK (JOV) ➕, which still ships and is genuinely better. STACK takes multiple images (not just two), arranges them horizontally, vertically, or in a grid, adds a stride setting to control how many images go in a row, and gives you scaling modes, width/height, interpolation, and matte color. If your workflow references MERGE (JOV) ➕ and it's gone after a pack update, STACK is the node you want.
How it worked
The pre-2.0 MERGE took two image inputs (👾A and 👾B) and combined them:
- ➕ - the arrangement axis: grid (default), horizontal, or vertical.
- 🦶🏽 - the stride: how many images before a new row starts (the grid's column count).
- 🇼🇭 - target width/height of the output canvas.
- 🚦 - the scaling mode applied so inputs fit that canvas (none / fit / crop / aspect).
- 🎞️ - the interpolation method (default Lanczos4) used when rescaling.
Outputs were 🖼️ IMAGE and 😷 MASK, both list-shaped, so a batch of merged results came out ready to iterate.
The mental model still applies to STACK today: pick an axis, set a stride for grids, and let the scaling mode decide how mismatched inputs get shoehorned into the shared canvas. The two-image limitation is the thing that dates it - modern STACK feeds you N images through a dynamic input and handles the rest.
Installing it
It ships in Jovimetrix:
# ComfyUI Manager: search "Jovimetrix" and install
cd ComfyUI/custom_nodes
git clone https://github.com/Amorano/Jovimetrix.git
cd Jovimetrix
pip install -r requirements.txt
Restart ComfyUI. And the usual caveat: updating past 1.7.48 is what removes legacy names like this one - the README says so in bold. For new work, go straight to STACK.
Troubleshooting
- Node missing after update - expected; use STACK (JOV) ➕. Same concept, more inputs, still maintained.
- Images come out stretched - your scaling mode is FIT/CROP-ing to the shared canvas. Pick the mode that matches what you want (ASPECT preserves proportions).
- Grid looks wrong - it's the stride. For two images in a grid, stride 2 puts them in one row; stride 1 stacks them vertically.
MERGE was a solid "two images, one canvas" utility, and STACK is its grown-up successor. If you're rebuilding an old workflow, the port is about five minutes: swap the node, wire your images into the dynamic input, done.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| ➕opt | COMBO | GRID | 3 options: HORIZONTAL, VERTICAL, GRID |
| 🦶🏽opt | INT | 5 | — |
| 👾Aopt | * | — | |
| 👾Bopt | * | — | |
| 🇼🇭opt | VEC2 | 512,51232–8192 | — |
| 🚦opt | COMBO | NONE | 4 options: NONE, FIT, CROP, ASPECT |
| 🎞️opt | COMBO | LANCZOS4 | 7 options: NEAREST, LINEAR, CUBIC, AREA, LANCZOS4, LINEAR_EXACT, +1 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 🖼️ | IMAGE | — |
| 😷 | MASK | — |