Bundle Out (PlagueKind)
The other end of the cable — Bundle Out turns one wire back into twenty
- bundle
- output_1
- output_2
- output_3
- output_4
- output_5
- output_6
- output_7
- output_8
- output_9
- output_10
- output_11
- output_12
- output_13
- output_14
- output_15
- output_16
- output_17
- output_18
- output_19
- output_20
Bundle Out is the receiving end of PlagueKind's two-node cable tidy. You hand it the single BUNDLE object produced by Bundle In and it fans the contents back out across 20 individual sockets, one per slot. Used together, the pair compresses a twelve-wire journey across the canvas into a single cable - then expands it back at the destination. Nothing is transformed, nothing is reordered, nothing is analyzed. It's pure plumbing, and plumbing is exactly what a busy graph is missing.
This is a node from a small personal pack (Plague_Kind's PlagueKind-Nodes), so don't expect a big community around it - you're grabbing it because the utility is real, not because everyone's talking about it. It has no dependencies beyond stock ComfyUI and does exactly one job.
How it works
Read the Bundle In source and you already know everything: Bundle In packs non-None inputs into a dict keyed input_1…input_20; Bundle Out reads that same dict and returns bundle.get("input_1"), bundle.get("input_2"), and so on, positionally, for all 20 slots. Slots that were never connected come back as None.
The one thing worth knowing: the node always has 20 output sockets, even when your bundle only carried three values. The empty ones just emit None. That's by design, and it's the main source of "why is my output empty" confusion.
The inputs and outputs that matter
bundle- the only input, required, typeBUNDLE. Wire it fromPlagueKindBundleIn. Nothing else produces this type, so the pair is effectively inseparable.output_1…output_20- twenty wildcard (*) outputs, matching the In node's inputs slot-for-slot.output_5carries whatever you plugged intoinput_5, and so on.
There's nothing else to set. If you want a value to come out at a specific slot, plug it into the matching slot on the In node.
Install
Identical to the rest of the pack. ComfyUI Manager → search "PlagueKind-Nodes" → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/PlagueKind/ComfyUI-PlagueKind-Nodes.git
Restart ComfyUI and it's there. No extra Python packages, no model files - the repo has no requirements.txt and the README lists only torch and comfy.utils, which you already have.
Where people get burned
- Positional, not semantic. The mapping is by slot number, so keep your In/Out pair aligned. There's no name-matching safety net - if you expect
output_9to be the mask but it's actually the latent, that's on you, not the node. Noneleaks. Disconnected slots propagateNoneto whatever you connected them to. If a downstream node hard-fails onNone, wire up the slot or don't connect that output.- It's a run-time convenience, not storage. The bundle dies when the queue finishes. Great for legibility and for keeping related values traveling together; useless as a persistence layer.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| bundle | BUNDLE | — |
Outputs (20)
| Name | Type | Description |
|---|---|---|
| output_1 | * | — |
| output_2 | * | — |
| output_3 | * | — |
| output_4 | * | — |
| output_5 | * | — |
| output_6 | * | — |
| output_7 | * | — |
| output_8 | * | — |
| output_9 | * | — |
| output_10 | * | — |
| output_11 | * | — |
| output_12 | * | — |
| output_13 | * | — |
| output_14 | * | — |
| output_15 | * | — |
| output_16 | * | — |
| output_17 | * | — |
| output_18 | * | — |
| output_19 | * | — |
| output_20 | * | — |