Convert to Set
Turn a wired value into a Python set
- input1
- SET
Sets don't come up as often as lists or dicts in a typical ComfyUI graph, but the moment you need one - deduplicating a collection of values, or feeding a node that specifically expects a SET type - you need one exactly, and there's no built-in way to produce it. ConvertAny2Set covers that gap: whatever's wired in gets coerced into a Python set.
It's part of ComfyUI-LogicUtils, a data-plumbing pack from GitHub user aria1th - publicly AngelBottomless, the trainer behind Illustrious XL. This particular corner of the pack (the ConvertAny2* family alongside ConvertAny2Dict, ConvertAny2Int, ConvertAny2List and ConvertAny2Tuple) exists for people building loop-based or programmatic workflows, where ComfyUI's normal node outputs don't line up with the Python container type some downstream logic node is expecting. It's a small, low-traffic corner of the ecosystem - the pack's own README concedes "proper documentation is being prepared, however there are too many nodes," and community usage of these conversion nodes tends to be tied specifically to loop-construct workflows (the Easy-Use "for loop" system being the example people actually build with) rather than everyday image generation.
How it works
input1 is typed *, ComfyUI's wildcard type, so it takes a connection from any other node's output regardless of type. That value gets coerced into a Python set - note that sets are unordered and drop duplicates, which is different behavior from ConvertAny2List or ConvertAny2Tuple on the same input, so don't reach for this one interchangeably with those if order or duplicate values matter to you downstream.
The pack doesn't document exactly how every possible input type gets coerced, so the safe approach is to test it directly: wire it up, run it, and look at what actually comes out before building further logic that depends on the result.
The inputs and outputs that matter
input1(*, default0) - the only input, accepts anything.- Output: a single
SET- wire it to whatever node downstream is expecting that specific type.
How to install it
Through ComfyUI Manager: search ComfyUI-LogicUtils, install, restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/aria1th/ComfyUI-LogicUtils
Restart ComfyUI. No model files involved - pure Python type conversion, nothing that needs downloading. The README mentions an opt-in auto-install hook (COMFYUI_LOGICUTILS_AUTO_INSTALL=1, force-disable with COMFYUI_LOGICUTILS_SKIP_INSTALL=1) for other parts of the pack; this node has no extra dependencies that would need it.
Common issues & troubleshooting
Order got scrambled, or duplicate entries vanished. That's expected - it's a Python set, which is unordered and unique-only by definition, not a bug in the node. If you need order preserved or duplicates kept, you want ConvertAny2List instead.
A node you expected isn't installed. LogicUtils's node set has grown over time via pull requests, sometimes after workflows referencing the new nodes were already shared publicly. Check the GitHub repo itself for the current node list if something a shared workflow expects isn't showing up in your copy.
Not sure whether you actually need this node. If nothing downstream explicitly requires a SET type, you don't - this is a narrow conversion utility, not something to add by default. Most everyday workflows will never touch it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| input1 | * | 0 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SET | SET | — |