Nodes/Shima/DeBNDLer (Latent Maker)
ComfyUI Node

DeBNDLer (Latent Maker)

The Latent Maker DeBNDLer

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
DeBNDLer (Latent Maker)
  • bndl
  • latent
  • s33d
  • width
  • height
allow_external_linkingfalse

The whole point of Shima's "bundle" system is that your image doesn't need six wires sprawled across the canvas. A Panel Latent Maker hands you one latentmaker.bndl wire carrying your latent, your seed, and your width and height together. This node is the other half of that deal: give it a bundle and it hands you back the plain, standard-typed sockets that every non-Shima node can actually connect to. If you've imported a Shima workflow or built one around the Panel system and found yourself staring at a BNDL wire with nothing to plug into, this is the node you were missing.

Mechanically it's boring in the best way. The bundle is just a Python dict - the BNDL registry defines latentmaker as a latent (LATENT), plus the s33d, width, and height integers the panel tracked for you. The DeBNDLer reads the dict and hands each value out its own socket. It's the ComfyUI version of unpacking a context object: the pattern that exists purely so a legible one-wire graph can talk to the plain typed world (see comfyui-node-plumbing.md for how that whole family works).

The inputs that matter are just two. bndl is the bundle itself - connect the output of a Shima Latent Maker / Panel Latent Maker (or a ReBNDLer). allow_external_linking is the Shima switch you'll see on most of its nodes: flip it on and this node broadcasts and receives outside its island group via Use Everywhere, ignoring the group's scope. Leave it off unless you specifically want cross-island auto-connect.

The four outputs are what a KSampler and friends actually want:

  • latent (LATENT) - feed this to a sampler's latent_image.
  • s33d (INT) - the seed the panel used, "s33d" being Shima's spelling to dodge the auto-control widget.
  • width / height (INT) - the dimensions from the panel, handy if you're feeding a different latent-maker or a resolution-dependent node.

One thing to know before you hunt for a "DeBNDLer" with a dropdown: there isn't one anymore. Earlier Shima had a single dynamic DeBNDLer whose ports changed based on a type selector, and the node reference is refreshingly honest that it got abandoned because dynamic ports kept dropping their connections when you reloaded a workflow. These fixed, per-type nodes are the stable replacement. If you're loading an old workflow with the dynamic version, expect to re-wire it.

Installation is the pack install: ComfyUI Manager, search "Shima", or

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

then restart ComfyUI. This node itself is pure routing - no models, no downloads. On first start the pack's install.py does try to pull in ComfyUI-Impact-Pack and cg-use-everywhere for the wider Island system, so don't be surprised if those appear next to it.

Where people get burned: forgetting that a DeBNDLer is an output node, so it always executes and shows a small "used values" readout - harmless. And if your latent output comes back None, the bundle you fed it was built by a ReBNDLer that had nothing wired into it, not a problem with the unpacker itself.

CategoryShima/Routing

Inputs (2)

NameTypeDefaultDescription
bndlBNDLLatent Maker BNDL
allow_external_linkingBOOLEANfalse

Outputs (4)

NameTypeDescription
latentLATENT
s33dINT
widthINT
heightINT