Nodes/Shima/Shima CommonParams
ComfyUI Node

Shima CommonParams

The unpacker that turns Shima's shared config into plain wires

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima CommonParams
  • shima.commonparams
  • shima.commonparams
  • s33d
  • WIDTH
  • HEIGHT
  • PROJECT_NAME
  • SAVE_PATH
  • COLLISION_ID
  • TIMESTAMP
  • CONTROL_AFTER_GENERATE
allow_external_linkingfalse

Shima CommonParams (class Shima.Passer) is the un-bundler for Shima's shared configuration. Shima's whole Panel system runs on a shima.commonparams dictionary - one bundle that carries the seed, target dimensions, project name, save path, collision ID, and timestamp so every panel and saver stays in sync. This node takes that one bundle and unpacks it into plain, typed outputs: SEED, WIDTH, HEIGHT, PROJECT_NAME, SAVE_PATH, COLLISION_ID, TIMESTAMP, and CONTROL_AFTER_GENERATE. It's the bridge from Shima's bundle world back to the vanilla wire world.

You'd reach for this the moment you're mixing Shima panels with non-Shima nodes. Shima's Panel Sampler reads dimensions and seed from the bundle internally; a vanilla KSampler, a standard Save Image, or a filename node cannot. Wire your Commons bundle into this passer, and those values become ordinary INT and STRING sockets that anything can read. It's also the "stable landing pad" the pack's FAQ describes: an optional-input passer that keeps Use Everywhere broadcasts from auto-wiring mismatched types into the wrong sockets.

One detail worth internalizing: it passes the entire shima.commonparams bundle through as its first output, so you can un-bundle for one consumer and still hand the intact bundle to the next. Unpacking doesn't destroy the source - the bundle keeps flowing.

How it works

Mechanically it's a dictionary read. The input bundle is expected to carry keys like seed, width, height, project_name, save_path, collision_id, timestamp, and control_after_generate. Each becomes an output. If a key is missing, it falls back to a default (seed → 0, width/height → 1024, empty strings for the rest) rather than erroring, so an incomplete bundle won't crash your graph - you'll just get defaults you can spot-check. That's a sensible safety behavior, but it's also a silent one: an empty bundle quietly produces 1024×1024 and seed 0, which may or may not be what you intended.

The inputs and outputs that matter

  • shima.commonparams (DICT) - required. Connect your Commons bundle here.
  • allow_external_linking (BOOLEAN, optional) - the Use Everywhere toggle; on means it broadcasts outside its island group.

Outputs: shima.commonparams (the full bundle, passed through), then s33d (INT), WIDTH (INT), HEIGHT (INT), PROJECT_NAME (STRING), SAVE_PATH (STRING), COLLISION_ID (STRING), TIMESTAMP (STRING), and CONTROL_AFTER_GENERATE (STRING). Wire the INTs into a latent maker or resize node, the strings into a file saver's prefix, and the bundle on through to the panels.

How to install it

In the Shima pack - ComfyUI Manager, search "Shima", or:

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

restart. No extra dependencies.

Common issues & troubleshooting

Outputs are all defaults (seed 0, 1024×1024). The bundle you connected is empty or missing the keys. If you used the Params Placeholder instead of the real Commons node, that's exactly what you'll get - the placeholder returns an empty dict on purpose. Connect the actual Shima.Commons node.

WIDTH/HEIGHT don't match the generated image. If the panel you're reading from uses use_commonparams off, its local size wins and the bundle never saw the real values. Check the panel's sync toggle, not just the passer.

CategoryShima/Utilities/Passers

Inputs (2)

NameTypeDefaultDescription
shima.commonparamsDICTConnect Shima.Commons bundle here.
allow_external_linkingoptBOOLEANfalseIf ON, this node broadcasts/receives OUTSIDE the Island (ignores group regex)

Outputs (9)

NameTypeDescription
shima.commonparamsDICT
s33dINT
WIDTHINT
HEIGHTINT
PROJECT_NAMESTRING
SAVE_PATHSTRING
COLLISION_IDSTRING
TIMESTAMPSTRING
CONTROL_AFTER_GENERATESTRING