Nodes/Shima/Shima ReBNDLer (Model Citizen)
ComfyUI Node

Shima ReBNDLer (Model Citizen)

The 3-wire-to-1-wire trick behind Shima's clean graphs

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima ReBNDLer (Model Citizen)
  • model
  • clip
  • vae
  • modelcitizen.bndl

Shima ReBNDLer (Model Citizen) is one of those plumbing nodes that looks like a waste of space until you see what it buys you. It takes three wires - model, clip, vae - and packs them into a single modelcitizen.bndl wire. That's the entire job. No pixels touched, no settings to fiddle with.

But this is the mechanic that makes Shima's cleaner graphs work at all. Instead of dragging model, clip, and vae across the canvas as three separate noodles to every downstream node, you bundle once and one wire carries the whole loaded model suite. It's the same "context bus" idea rgthree's Context and the Efficiency pipe nodes popularized - bundle the values that always travel together, so the graph stays readable. The BNDL system is Shima's own flavor of that, and the Packer nodes are how you adopt it without adopting the rest of the pack.

The real use case: you've got a standard ComfyUI workflow using a vanilla Checkpoint Loader, and you want to feed Shima's Panel Sampler or a DeBNDLer-style consumer without rebuilding. This node is the adapter - pack your vanilla model/clip/vae into the bundle, and the Shima side accepts it. Or use it alongside a Shima DeBNDLer (Model Citizen) to round-trip a bundle through non-Shima nodes.

How it works

Under the hood it builds a Python dict tagged bndl_type: "modelcitizen" with the three values inside. The Shima consumer reads bndl_type to know what's packed, then pulls out model, clip, and vae. The reverse operation is the DeBNDLer, which unpacks the same dict back into three typed sockets.

The inputs and outputs that matter

Three required inputs, all plain types: model (MODEL), clip (CLIP), vae (VAE). One output: modelcitizen.bndl. Wire the bundle into Shima's Panel Sampler, Panel Master Prompt, or any node that takes a modelcitizen.bndl input, and you're done. If you later need the individual values again, drop a DeBNDLer after it.

How to install it

It ships with the Shima pack - install via ComfyUI Manager (search "Shima") or:

cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima

then restart. The pack auto-installs ComfyUI-Impact-Pack and cg-use-everywhere on first run; this node itself needs nothing extra.

Common issues & troubleshooting

The bundle arrives empty / downstream complains. Packing is all-or-nothing - connect all three inputs. The node won't silently pack a partial bundle; a missing input means the dict is missing a key and the consumer has nothing to unpack.

"BNDL" type doesn't connect to a foreign node. The bundle type is Shima-specific. Non-Shima nodes won't have a socket for modelcitizen.bndl, and Shima bundles won't magically match another pack's pipe type. That's what the DeBNDLer is for.

CategoryShima/Routing

Inputs (3)

NameTypeDefaultDescription
modelMODEL
clipCLIP
vaeVAE

Outputs (1)

NameTypeDescription
modelcitizen.bndlBNDL