Nodes/ComfyUI_SamplingUtils/Any List (Primitive)
ComfyUI Node

Any List (Primitive)

Bundle a pile of anything into one wire

By silveroxides·Created 11 months ago·Updated 3 months ago· 20
Any List (Primitive)
  • input
  • output

ComfyUI has a quiet plumbing problem: lots of nodes can accept a batch or list, but getting three images from three different branches onto one wire is awkward. That's the job of Any List (Primitive) from silveroxides' ComfyUI_SamplingUtils pack. You add items - images, latents, strings, conditioning, whatever - and it collects them onto a single output socket typed * (ANY). It's the "grab bag" node: no filtering, no type checking, no opinions about what you put in it.

How it works

The node is an autogrow node, which is the ComfyUI V3 API's answer to "how many inputs should I have?" Instead of a fixed list of sockets, it has one input socket that spawns copies of itself - input0, input1, input2 - as you add items. The author's tooltip says it plainly: "Add items of any type. The list will grow to accommodate all items added." Source caps the growth at 100 items.

At execution the node gathers everything, flattens any nested lists, and forwards the result as one list through an ANY-typed output. That's the entire mechanism. It's written against the newer backend authoring API (io.ComfyNode / io.Schema), so there's no NODE_CLASS_MAPPINGS dictionary - that reads as "new-style," not "broken," per the KB's plumbing notes.

When you'd actually reach for it

Any time a downstream node eats a list and your items come from different places. Classic case: you have a model that generates per-tile or per-seed variations from separate branches, and you want to feed them to one node as a batch. It's also handy for strings - collecting a set of prompts or tags into one list for a node that loops over them. It lives in the same plumbing family as the primitive and switch nodes that keep one value authoritative across a graph.

Where people get burned

The ANY output is a double-edged sword. The socket will happily connect to anything, but the receiving node has to actually accept a list - wire it into a socket expecting a single IMAGE and you'll get either a type error or silent weirdness downstream. Also, because the output is a list even when you add one item, some consumers treat it as a batch and others don't; test with one item before you trust it at scale.

One honest caveat about the pack: the README now opens with "DEPRECATED - install ComfyUI-UtilsCollection instead." This node still installs and runs fine (the pack is on the Comfy Registry at v0.5.15), but don't build a workflow that depends on this exact node living forever - if you're starting fresh, the successor pack is where the author's energy is.

Install

Via ComfyUI Manager (search ComfyUI_SamplingUtils), or:

cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI_SamplingUtils

Then restart ComfyUI. Real dependencies from requirements.txt: kornia, scipy, pilgram, opencv-python, unifiedefficientloader>=0.5.0. The README's dependency list only mentions the first three - the actual install pulls all five, so a first run may spend a minute compiling while Manager resolves them.

Categoryadvanced

Inputs (1)

NameTypeDefaultDescription
inputCOMFY_AUTOGROW_V3Add items of any type. The list will grow to accommodate all items added.

Outputs (1)

NameTypeDescription
output*