Nodes/BV Nodes/πŸŒ€ BV ImagePipe Junction
ComfyUI Node

πŸŒ€ BV ImagePipe Junction

Peek inside the pipe, then write new captions back in

By BlackVortexAIΒ·Created 2 years agoΒ·Updated 11 months agoΒ· 3
πŸŒ€ BV ImagePipe Junction
  • image_pipe
  • images
  • IMAGE_PIPE
  • IMAGES
  • CAPTIONS
β—„captionsβ€”β–Ί

Pipes are great until you need to see what's inside one. That's the job of the BV ImagePipe Junction: it's the tap point on the BV_IMAGE_PIPE, letting you pull the images and captions out as normal wires, and - the more interesting half - feed new captions or images back in and get an updated pipe out.

The classic workflow is captioning. You load a folder with the Loader, but the pipe only carries whatever caption (if any) came with each file. Run your captioner - JoyCaption, a Florence-2 node, whatever you're using to label training data - then splice those results back into the pipe through the Junction so the caption saver and every node downstream sees them. Captioning is the single highest-leverage step in dataset prep, and this node is how that step plugs into the pipe without you rebuilding the pipe by hand.

What it does, concretely

  • image_pipe (required) - the pipe you want to read and/or modify.
  • images (optional) - a replacement image list. Feed upscaled versions here and they replace what's in the pipe while the counts stay put.
  • captions (optional) - replacement captions. This is the one you'll use most; drop your captioner's output here.

Three outputs:

  • IMAGE_PIPE (list) - the updated pipe, ready for the next node.
  • IMAGES (list) - the images currently in the pipe.
  • CAPTIONS (list) - the captions currently in the pipe.

Leave the optional inputs disconnected and the Junction behaves as a pure read: peek at IMAGES and CAPTIONS, do nothing to the pipe. Connect them and it becomes a write.

Why it's not redundant

You might think you could just wire around it. But the BV nodes are deliberately pipe-only downstream - the merger and the saver take a BV_IMAGE_PIPE, not loose wires. The Junction is the one place you can inject data mid-pipe, which makes it the natural seam between "process each image with normal nodes" and "keep the batch organized as a pipe."

Install

Same as every node in this pack:

cd ComfyUI/custom_nodes
git clone https://github.com/BlackVortexAI/ComfyUI-BVortexNodes.git

or search "BV Nodes" in ComfyUI Manager. Restart, no dependencies, no models.

Gotcha

The optional inputs replace wholesale - if you connect captions but a captioner skips a few images, the pipe now has a shorter caption list than it has images. Match the lengths, or at least don't be surprised when a mismatch surfaces later at the saver. That's the one failure mode worth planning around.

Categorysd

Inputs (3)

NameTypeDefaultDescription
image_pipeBV_IMAGE_PIPEβ€”
imagesoptIMAGEβ€”
captionsoptSTRINGβ€”

Outputs (3)

NameTypeDescription
IMAGE_PIPEBV_IMAGE_PIPEβ€”
IMAGESIMAGEβ€”
CAPTIONSSTRINGβ€”