Pyobjects/Dict Get
Pull one value out of a dict by key
- py_dict
- *
Once you've built up a dict in your graph - with DictCreateNode and DictSetNode, say - you need a way to actually pull a value back out of it somewhere downstream. DictGetNode does the obvious thing: give it a dict and a key, get the stored value back.
It's one of the Dict* nodes in ComfyUI-LogicUtils, a data-manipulation pack from GitHub user aria1th - publicly known as AngelBottomless, the trainer behind Illustrious XL, though this part of the pack has nothing to do with model training. These nodes are essentially Python's built-in dict operations exposed as graph nodes, for people building configuration-driven or loop-based workflows where structured data needs to move around the graph rather than just images and conditioning. It's a fairly niche corner of ComfyUI's ecosystem, and the pack's own README doesn't oversell it: "proper documentation is being prepared, however there are too many nodes."
How it works
You wire in py_dict and type a key, and the node returns whatever value is stored under that key - typed * on the output side, ComfyUI's wildcard type, since a Python dict can hold literally anything. Whatever you connect the output to needs to be able to accept that value's actual type; ComfyUI doesn't validate at this node's boundary that the type will match downstream, so if you're pulling out something a later node can't use, you'll find out when that connection fails or the downstream node errors.
The node is flagged as an output node in ComfyUI's execution model, meaning it runs even without a downstream connection consuming its result - handy if you're using it mid-build to check what's actually in a dict before wiring the rest of the graph around it.
The inputs and outputs that matter
py_dict(DICT, required) - the dict to read from.key(STRING, default"some_key") - the key to look up. Type in the actual key you set earlier withDictSetNode.- Output: a single
*(any type) - whatever value was stored at that key.
How to install it
Via ComfyUI Manager: search ComfyUI-LogicUtils, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/aria1th/ComfyUI-LogicUtils
Restart ComfyUI. No model files needed - pure Python data handling, nothing to download. The README's opt-in auto-install hook (COMFYUI_LOGICUTILS_AUTO_INSTALL=1, disable with COMFYUI_LOGICUTILS_SKIP_INSTALL=1) is for other parts of the pack; the Dict* nodes don't touch it.
Common issues & troubleshooting
Getting an error about a missing key. The key value has to match exactly what was used when the value was set - with DictSetNode, typos are the usual culprit. Double-check the key string is identical, including case, in both places.
Value comes out but the downstream node rejects it. Since the output is typed *, ComfyUI won't stop you from wiring it into a connection that expects a specific type like IMAGE or INT - the mismatch shows up as an error when the graph actually runs, not before. Check what you actually stored at that key with DictSetNode matches what the downstream node expects.
You're not sure the dict has what you think it has. Wire py_dict into a DictKeysNode first to see the full list of keys currently present - cheaper than guessing at key names one DictGetNode at a time.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| py_dict | DICT | — | |
| key | STRING | some_key | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |