ComfyUI Node

FEAnyToDict

Stuff any value into a dictionary, no schema required

By fexli·Created 3 years ago·Updated about a year ago· 3
FEAnyToDict
  • input
  • prev
  • output
fieldfield_name

ComfyUI has always been bad at passing anything that isn't an image, a model, or a string around the graph. FEAnyToDict is a small band-aid for that: it takes any value - a string, an int, an image tensor, a list, whatever - and wraps it in a dictionary under the field name you give it. One input in, one dict out. That's the whole node.

The value in it only shows up once you start chaining dictionary-based data through your workflow. Say you're collecting a prompt, a seed, and a LoRA name to stash into a saved file's metadata. You could hard-wire each into a text-join node, or you could push each one into a dict with a field name and then merge the dicts downstream. The prev input is what makes the chaining work: feed the output of one FEAnyToDict into the prev of the next and it does prev.update({field: input}), so you build up one growing dict one key at a time instead of juggling separate wires.

The inputs that matter

  • input - any type. The value you're putting in the box.
  • field - the key. Defaults to field_name; you'll rename it every single time, so treat that default as a reminder.
  • prev (optional) - a previous dict to merge into. Omit it and the node just returns {field: input}.

Output is a single output of * type - a plain Python dict on the wire.

Two caveats. First, the node is marked OUTPUT_NODE, so it counts as an output endpoint: it forces itself to run even when nothing downstream consumes it. That's by design (the pack's nodes are built to always re-execute), just don't be surprised it lights up. Second, because the output type is * (the "any" type this pack uses everywhere), ComfyUI won't loudly complain if you plug it into a mismatched socket - a nice escape hatch, but also a great way to build a workflow that silently does nothing. Verify what you're actually passing in.

It's the kind of node you won't miss until the day a workflow needs a dict and core ComfyUI gives you nothing to build one with. Pair it with FEDictCombine or FEExtraInfoAdd and it slots into a real data pipeline. For a one-trick node, that's a fair return.

Categoryfexli/utils

Inputs (3)

NameTypeDefaultDescription
input*
fieldSTRINGfield_name
prevopt*

Outputs (1)

NameTypeDescription
output*