π BV ImagePipe Merger
Stitch the two halves of your dataset back into one pipe
- image_pipe_1
- image_pipe_2
- IMAGE_PIPE
The BV Nodes pipeline is a split-and-merge machine: the splitter sorts your dataset by resolution, the upscale branch does its thing to the lowres half, and eventually you want everything back in one coherent set. BV ImagePipe Merger is the reunion. It takes two image pipes and merges them into one, re-sorting by count so the original sequence comes back.
That sorting is the quiet genius of the design. The Loader assigns a count to every image at the front of the pipeline. The splitter preserves those counts through the pipe. So no matter which order the two pipes arrive in - upscaled lowres first, high-res first, interleaved - the merger reconstructs the original numbering and your dataset comes out in the same order it went in. You don't need to track anything; the counts do the bookkeeping.
The inputs
Dead simple, and that's the point:
- image_pipe_1 (required) - first half.
- image_pipe_2 (required) - second half.
One output:
- IMAGE_PIPE (list) - the merged pipe, sorted by count.
Because it re-sorts, the order you connect the two inputs genuinely doesn't matter. That's rare in ComfyUI, where wire order is usually load-bearing, and it makes this node forgiving to wire up.
Where it fits
The canonical flow: Loader β Splitter β [TO_UPSCALE branch β your upscale nodes] and [HIGH_RES_IMAGES branch] β Merger β Caption Saver. The two branches can have completely different lengths of node chains - the merger just needs both pipes eventually. If you didn't upscale anything, you can still merge the two outputs of the splitter straight back together; it's a no-op that reshuffles back into count order.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/BlackVortexAI/ComfyUI-BVortexNodes.git
or via ComfyUI Manager ("BV Nodes"). Restart and you're set - no pip deps, no downloads.
The one thing to watch
The merge sorts by count, which assumes counts are unique across both pipes. If you loaded two folders separately with start_index reset to 0 both times, you'll have colliding counts and the merged order will be arbitrary. Give each batch its own starting index - that's exactly what start_index on the Loader is for. If the order comes out wrong, that's your first suspect.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image_pipe_1 | BV_IMAGE_PIPE | β | |
| image_pipe_2 | BV_IMAGE_PIPE | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE_PIPE | BV_IMAGE_PIPE | β |