Parameters Unpacker
Unpack the app's parameters into wires
- parameters
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
AppBuilderAdv packs everything the app's user set into one parameters bundle. ParametersUnpacker is the other half of that handshake: it takes the bundle and splits it back into individual output slots you can wire anywhere in the graph. Think of it as the "un-packer" at the end of the round-trip - the app collects values on one side, and this node hands them to the prompt encoder, the KSampler's seed, the upscaler, wherever they need to land.
How it works
The single input is parameters - the custom bundle type that AppBuilderAdv emits. At execution it reads the bundle's data and config, then emits one value per configured widget, in config order. That's the whole mechanism: the order and the types come from the upstream config, not from anything you set here.
The frontend keeps the output slots in sync with the upstream AppBuilderAdv. Add a widget in the config panel and the unpacker grows a new slot; remove one and the slot disappears. Each slot gets a label from the widget's name and a real type mapping - SEED becomes INT, LORA_STACK becomes STRING, UPLOADER becomes a COMBO, and the rest keep their declared type. If you only renamed a widget, the node updates labels and types in place without severing your existing wires; only when the config actually adds or removes entries does it rebuild the outputs (and it reconnects what it can).
You can see up to 32 output slots on the node, but in practice it only shows as many as the upstream config defines - non-widget controls like buttons and bypass toggles don't get a slot.
Where it fits
Typical chain:
AppBuilderAdv (parameters) → ParametersUnpacker → prompt / seed / steps / cfg inputs
You expose "prompt", "negative", "seed", "steps", "cfg" in the config panel, and the unpacker feeds them into the CLIP Text Encode and KSampler widgets. If the app runs but your outputs are frozen, the wiring upstream is the suspect: the unpacker only reflects what AppBuilderAdv actually declares.
Install
Same pack as the rest of the family:
cd ComfyUI/custom_nodes
git clone https://github.com/lihaoyun6/ComfyUI-PowerPanel
Restart ComfyUI (or use Manager - search "PowerPanel"; older docs call the pack "ComfyUI-AppBuilder"). Dependencies are just pynvml and psutil, auto-installed.
Gotchas
This is a pack-internal helper, not a general-purpose JSON unpacker. Its parameters input only matches what AppBuilderAdv produces - wire it to anything else and it won't do anything useful. And it's paired with the one-builder rule: since the pack allows a single AppBuilder-family node per workflow, you'll either use AppBuilderAdv here (typed values out, no graph-side bypassers) or the plain AppBuilder (bypassers in, no typed output). Pick your builder before you build the graph.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| parameters | parameters | — |
Outputs (32)
| Name | Type | Description |
|---|---|---|
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |
| * | * | — |