Shima Multi Pass
Nine wires in, nine wires out — the bundle-carrying passer
- image
- mask
- latent
- model
- vae
- clip
- positive
- negative
- sdxl tuple
- image
- mask
- latent
- model
- vae
- clip
- positive
- negative
- sdxl tuple
Shima Multi Pass is the everything-pass: nine typed sockets in, the same nine out, nothing altered. image, mask, latent, model, vae, clip, positive, negative, and sdxl tuple all cross the node unchanged. It's the biggest of the pack's Passer family, and its job is the same as its small siblings - a stable, typed anchor for signals at the edge of a Shima island - just for the whole payload of a sampling pipeline at once.
That's the key difference from the single-type passers. An image-only pass anchors one wire; this anchors the full set that a generation island produces and a sampler island consumes. When the Use Everywhere broadcast system is auto-connecting islands, Multi Pass gives it nine correctly-typed landing pads in one place, so a model wire can't drift into a latent socket and your conditioning doesn't end up in the VAE. The implementation is a loop: execute walks a fixed list of names and returns whatever landed, in order, with None for anything unwired. All inputs are optional, so a partially-connected pass is fine - which is exactly what a broadcast target needs.
The interface
The nine inputs (image, mask, latent, model, vae, clip, positive, negative, sdxl tuple) mirror the nine outputs one-to-one. Wire in only what your graph has; the rest pass None. Because they're all standard ComfyUI types, anything downstream that accepts those types can connect without conversion.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf
then restart, or ComfyUI Manager → search "Shima". No models, no extra dependencies.
The honest take
If you're hand-wiring a normal graph, this node is nine reroutes wearing a trench coat - you can do the same with stock nodes and you should. Its value is entirely inside Shima's island system, where UE broadcasts need a predictable typed target. And there's a real decision to make here: you have two ways to carry a full pipeline across an island. Multi Pass keeps every signal as an individual typed socket (nine wires, but each one clean), while the MultiPipe nodes squash the same payload into a single PIPE_LINE wire (one wire, but you need a matching output node to unpack it). Multi Pass is the right choice when you want other nodes to grab individual signals out of the bundle; the pipe is right when you want maximum wire hygiene. Also worth noting: Multi Pass doesn't cover the refiner slots that the XL variant does, so if you're running a base+refiner SDXL setup, reach for Multi Pass XL instead. Don't use either one outside the island system - that's my one-line verdict.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| imageopt | IMAGE | — | |
| maskopt | MASK | — | |
| latentopt | LATENT | — | |
| modelopt | MODEL | — | |
| vaeopt | VAE | — | |
| clipopt | CLIP | — | |
| positiveopt | CONDITIONING | — | |
| negativeopt | CONDITIONING | — | |
| sdxl tupleopt | SDXL_TUPLE | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |
| latent | LATENT | — |
| model | MODEL | — |
| vae | VAE | — |
| clip | CLIP | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| sdxl tuple | SDXL_TUPLE | — |