PIXEL MERGE (JOV) π«
Stitch R, G, B (and alpha) back into a real image
- π₯
- π©
- π¦
- β¬
- πΌπ
- πΌοΈ
- π·
PIXEL SPLIT tears an image into its separate color channels, and this is the node that puts it back together. If you've ever wanted to manipulate one channel in isolation - say, boost only the red channel, or swap green into blue - you split, do your thing, and merge. PIXEL MERGE is the "do your thing" partner in that pipeline, and it's also handy on its own for compositing any set of single-channel images into one RGBA image.
The mechanism is straightforward: four input slots, one per channel. π₯ red, π© green, π¦ blue, and β¬ alpha. Jovimetrix accepts an RGBA image, an RGB image, or a pure mask at any of them, and converts to grayscale, so you're not stuck matching types. Anything you leave empty gets filled with a neutral value rather than erroring - which makes it forgiving for beginners and useful for deliberately building a color from a single channel. You don't even need a split node upstream: any grayscale image or mask can sit in a channel slot.
Then the frame. πΌπ sets the output size (a VEC2, default 512Γ512, 32β8192) and π¦ Mode decides what happens when the channels don't all match that size: NONE, FIT, CROP, or ASPECT. If you're merging channels that came from the same split, they already match, so this barely matters. If you're mixing channels from different sources, ASPECT is usually the least surprising. ποΈ is the interpolation method for that resize (LANCZOS4 is the default and almost always fine). There's one more float knob, π³ (0β1, default 0), that old builds used as a blend amount - you can safely leave it at 0.
You get two outputs: πΌοΈ the merged IMAGE, and π· a MASK version. Both come out as lists, which is the Jovimetrix way - feed it a batch of splits and it merges them all in one pass. Wire the IMAGE wherever you'd feed any image: into an encoder, a VAE, another compose node, or straight to an output.
The whole split β tweak β merge round trip is the classic use. Grab PIXEL SPLIT (JOV) from the same COMPOSE menu, split a portrait, run some per-channel op on the mask outputs, and merge back. A popular trick: take the alpha from one image, use it as the red channel of another, and watch the colors warp. PIXEL MERGE is also the node you reach for when a workflow hands you separate mattes and needs them as one RGBA.
Install is pack-level, same as every Jovimetrix node. If you have ComfyUI Manager, search "Jovimetrix" and install; otherwise:
cd ComfyUI/custom_nodes
git clone https://github.com/Amorano/Jovimetrix.git
pip install -r Jovimetrix/requirements.txt
Then restart ComfyUI. No model downloads - the whole pack is numpy/opencv/Pillow plus two cozy-comfyui helper libs. Two real-world cautions, both from people who've run this pack for a while: keep ComfyUI and the frontend reasonably current (the pack targets ComfyUI 0.1.3+ and frontend 1.2.40+), and if a workflow you load says the node is missing, it's usually a pack update problem - Jovimetrix has split parts of itself into separate Jovi_* packages over time, so check which version the workflow expects.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| π₯opt | * | β | |
| π©opt | * | β | |
| π¦opt | * | β | |
| β¬opt | * | β | |
| πΌπ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 |
| π³opt | FLOAT | 0.000β1 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| πΌοΈ | IMAGE | β |
| π· | MASK | β |