FEDictCombine
Merge several dictionaries into one
- input
- output
FEDictCombine merges dictionaries: wire in two or more dicts, get one combined dict out. It's the dictionary-flavored cousin of FEDataPacker, and like that node it's dynamic - the pack's frontend script grows an input socket every time you connect a dict wire and removes sockets when you disconnect. The code loops over every connected input and does output.update(v), so later inputs win when two dicts share a key.
It's a small node with one genuinely useful role: collecting metadata from scattered places into a single dict for downstream use. A workflow that has a prompt in one branch, a seed in another, a LoRA name in a third - each wrapped as a dict by FEAnyToDict - can funnel them all into FEDictCombine and end up with one tidy structure to hand to FEExtraInfoAdd (to stamp into the saved PNG's metadata) or to a save/display node.
The inputs
- input - optional,
*-typed, defaults tonull. The first socket; connect more dict wires and the node adds more.
The default: null on the input is a hint about how it's meant to be used: if a branch has nothing to contribute, leave that input unwired and it's ignored. Because the merge is dict.update() under the hood, key collisions resolve to the last connected input's value. If order matters for overrides, connect in the order you want precedence - later wins.
The output is output, type *, a single merged dict (not a list). Wire it into anything that consumes a dict: FEDictUnpacker to pull named fields back out, FEExtraInfoAdd to embed, or another combine to keep growing.
Watch the usual any-typed caveats: the node won't complain if you feed it something that isn't a dict - the update() will likely throw or silently do the wrong thing once the value hits the graph, and the error may surface far from this node. Also note it merges one level deep; nested dicts are replaced wholesale, not recursively merged. If you're building one giant metadata bag it's perfect; if you're doing deep config surgery, this isn't the tool. Simple, dynamic, and the natural gathering point for dict-shaped data.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| inputopt | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | * | — |