Nodes/PlagueKind-Nodes/Bundle In (PlagueKind)
ComfyUI Node

Bundle In (PlagueKind)

Turn a dozen wires into one cable — Bundle In cleans up messy graphs

By PlagueKind·Created 4 months ago·Updated 2 days ago· 161
Bundle In (PlagueKind)
  • input_1
  • input_2
  • input_3
  • input_4
  • input_5
  • input_6
  • input_7
  • input_8
  • input_9
  • input_10
  • input_11
  • input_12
  • input_13
  • input_14
  • input_15
  • input_16
  • input_17
  • input_18
  • input_19
  • input_20
  • bundle

Bundle In is the tidy side of a two-node pair for getting wires under control. You feed it up to 20 inputs of any type - images, masks, latents, conditioning, whatever - and it packs them into a single BUNDLE output that you route across the canvas as one cable. On the other end, Bundle Out unpacks it back into 20 separate sockets. If you've ever stared at a workflow where a crop node, a VAE decode, and a reference image all need to reach one downstream block across a tangle of spaghetti, this is the bus that un-snarls it.

It ships in PlagueKind-Nodes, a small personal pack (author Plague_Kind) best known for its LTX LoRA stack loader and unified image/mask resize. The bundle pair is the pack's utility corner: no dependencies, no models, no magic - just graph organization. Think of it as rgthree-style rerouting taken one step further: instead of dragging one wire at a time, you bundle once and drag once.

How it works

Mechanically it's almost insultingly simple. On each run, the node collects whatever is connected to its inputs into a Python dict keyed input_1 through input_20, dropping anything that's None, and hands the whole dict to Bundle Out as a single BUNDLE object. The JS file the pack ships (in js/bundle_nodes.js) makes the sockets auto-expand/collapse and labels them with their connected types, so the thing looks clever. It isn't required: the docstring in the source says the mapping is purely cosmetic and execution is correct even without the JS loaded.

The inputs and outputs that matter

There are no required inputs - every socket is optional.

  • input_1input_20 - twenty wildcard (*) sockets. Connect anything: IMAGE, MASK, LATENT, CONDITIONING, MODEL, an INT for a seed, whatever. Type checking is bypassed, which is the whole point.
  • bundle - the single BUNDLE output. It only wires into PlagueKindBundleOut (or another node that knows the BUNDLE type). This isn't a wire format other nodes can read directly.

Install

Same as the rest of the pack. Easiest is ComfyUI Manager - search "PlagueKind-Nodes" and hit install. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/PlagueKind/ComfyUI-PlagueKind-Nodes.git

Then restart ComfyUI. The README claims no external dependencies beyond stock ComfyUI (torch, comfy.utils), and the repo ships no requirements.txt - it's all stdlib plus what ComfyUI already has. Installing the pack also drops in the crop, resize, and LoRA nodes, but you can ignore those.

Where people get burned

  • It's a matched pair. Bundle In maps to Bundle Out positionally - whatever you put in input_5 comes back out output_5 of the Out node. Keep the pair in the same workflow and don't swap one end.
  • Empty slots come back empty. Only non-None inputs make it into the bundle, so an unconnected input_12 silently yields None at output_12. If a downstream node chokes on None, that's your culprit, not a bug.
  • No image, no preview, no state. The bundle lives for the duration of the run - it isn't stored between queues. It's a convenience for legibility, not a caching mechanism.
CategoryPlagueKind/utils

Inputs (20)

NameTypeDefaultDescription
input_1opt*
input_2opt*
input_3opt*
input_4opt*
input_5opt*
input_6opt*
input_7opt*
input_8opt*
input_9opt*
input_10opt*
input_11opt*
input_12opt*
input_13opt*
input_14opt*
input_15opt*
input_16opt*
input_17opt*
input_18opt*
input_19opt*
input_20opt*

Outputs (1)

NameTypeDescription
bundleBUNDLE