Nodes/ComfyUI-LogicUtils/Pyobjects/Create Dict
ComfyUI Node

Pyobjects/Create Dict

Start a Python dict from scratch, right inside your graph

By aria1th·Created 3 years ago·Updated 7 months ago· 116
Pyobjects/Create Dict
    • DICT

    If you're building anything programmatic in ComfyUI - passing configuration around, accumulating state across a loop, assembling metadata to dump out later - you need somewhere to start, and that somewhere is an empty dictionary. DictCreateNode is that starting point: no inputs, one output, a fresh Python dict.

    It's the first of a whole family of Dict* nodes in ComfyUI-LogicUtils - DictGetNode, DictSetNode, DictMergeNode, DictRemoveKeyNode, DictKeysNode, DictValuesNode, DictItemsNode, and DictPointer all build on the dict this node produces. The pack comes from GitHub user aria1th, publicly AngelBottomless, the trainer behind Illustrious XL - but this corner of LogicUtils has nothing to do with model training directly. It reads like general Python-dict operations wrapped as graph nodes: dict.get, dict.keys, dict[k] = v, exposed as wireable nodes for people building logic-heavy workflows rather than straight prompt-to-image pipelines. Fitting, given the pack's README describes a big, loosely documented grab-bag rather than a focused tool: "proper documentation is being prepared, however there are too many nodes."

    How it works

    There's nothing to configure - DictCreateNode takes no inputs at all and produces one empty DICT output. You'd wire that into DictSetNode to start populating it with key/value pairs, or into DictMergeNode to combine it with data from elsewhere.

    One detail worth knowing: this node is marked as an output node in ComfyUI's execution model. Normally, ComfyUI only runs a node if its output eventually feeds into something like a Save or Preview node - anything not connected to a final output gets pruned from execution entirely. Nodes flagged as output nodes are the exception: they run regardless of whether anything downstream consumes their result. That's a deliberate choice across this whole Dict* family, and it matters once you start chaining several dict operations together, since you don't have to route the final result to a visible output just to make sure the earlier steps actually execute.

    The inputs and outputs that matter

    • No inputs - this node has none.
    • Output: a single DICT, empty, ready to be built up with DictSetNode or combined via DictMergeNode.

    How to install it

    Via ComfyUI Manager: search ComfyUI-LogicUtils, install, restart. Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/aria1th/ComfyUI-LogicUtils
    

    Restart ComfyUI. No model downloads - this whole pack is pure Python data handling, nothing GPU-related. The README mentions an opt-in auto-install hook (COMFYUI_LOGICUTILS_AUTO_INSTALL=1, force-disabled with COMFYUI_LOGICUTILS_SKIP_INSTALL=1) for heavier parts of the pack; the Dict* nodes don't need it.

    Common issues & troubleshooting

    You expected an option to pre-fill some keys and there isn't one. Correct - this node is deliberately bare. If you need a dict with values already in it, chain a DictSetNode (or several) right after this one, or use ConvertAny2Dict if you already have source data elsewhere in the graph that should become the dict.

    Not sure if the node actually ran. Since it's an output node, it executes whether or not you've wired its result anywhere yet - useful during early graph-building when you're not ready to consume the output but want to confirm the node itself works.

    Can't find the pack in Manager. It's a small, low-visibility repo - use "Install via Git URL" in Manager and paste https://github.com/aria1th/ComfyUI-LogicUtils directly if search doesn't turn it up.

    CategoryData

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    DICTDICT