ComfyUI Node

Any List

Seven inputs, one list — how to build a grid axis by hand

By kenjiqq·Created 3 years ago·Updated about a year ago· 76
Any List
  • input_a
  • input_b
  • input_c
  • input_d
  • input_e
  • input_f
  • input_g
  • LIST

Any List is the most boring-looking node in kenjiqq's pack and one of the most used, because it's how you hand-roll the row and column lists that XY Grid Helper sweeps. You type or wire up to seven values, it hands you one LIST. That's the entire feature.

Why does a list need its own node? Because ComfyUI has no built-in way to say "these seven disconnected values are one list." Most pack authors end up inventing string-with-delimiter hacks; this is the clean version. It takes any type - models, floats, text, whatever - so a row can even mix types (though you'll usually want them uniform).

Inputs

  • input_a (required) - the first value.
  • input_b through input_g (optional) - six more, seven total.

All inputs accept anything (AnyType with forceInput), so you can wire a CLIP in one slot and a string in another without complaining. The output LIST is the bundle, in order.

The typical shape: three or four of these feed the row_list input on XY Grid Helper, another couple feed column_list, and the grid materializes.

The gotcha nobody warns you about

The node builds its list with truthiness checks - each optional input is only appended if it's truthy. That means 0, "", False, and None get silently dropped. Sweep a list of numbers and a 0 value vanishes without an error; sweep prompts and an empty string disappears too. If your grid is mysteriously short by one row, this is why.

Two workarounds: don't put falsy values in the list (use a non-zero stand-in), or generate the list elsewhere - Load Lines From Text File and Text Splitter don't have this problem because they build lists from text, not truthiness.

Where it fits

You'll use Any List in a few places:

  • Building row_list / column_list for XY Grid Helper - its main job.
  • Bundling values to feed Any List Iterator when you want to step through them one at a time.
  • Accepting a PACK output from Axis Pack - axis packing exists precisely so you can bundle a multi-value combo into one slot of a list, and Any List is where that slot lives.

Installing it

Part of kenjiqq/qq-nodes-comfyui - no pip dependencies, just the clone:

cd ComfyUI/custom_nodes
git clone https://github.com/kenjiqq/qq-nodes-comfyui

Restart ComfyUI, or install qq-nodes-comfyui through ComfyUI Manager. You'll find Any List under the QQNodes/List menu.

CategoryQQNodes/List

Inputs (7)

NameTypeDefaultDescription
input_a*
input_bopt*
input_copt*
input_dopt*
input_eopt*
input_fopt*
input_gopt*

Outputs (1)

NameTypeDescription
LISTLIST