List to Accumulation | akatz-loops
Dump a regular list into the accumulation machinery
- list
- ACCUMULATION
ListToAccumulationNode | akatz-loops is a bridge node: it takes an ordinary list and wraps it into this pack's ACCUMULATION type so every other list utility here can chew on it. It's the inverse of Accumulation To List, and it exists because ComfyUI is full of nodes that emit plain Python lists, while the akatz accumulation nodes speak a pack-private {"accum": [...]} object.
How it works
One input, one output:
- list - a
*input that accepts a list. Wire in anything list-shaped:Make List,Integer List Generator, a range from another pack, or the list output of anAccumulation To Listround-trip. - ACCUMULATION (output) - the same contents, now wrapped so
Accumulation Tail,Accumulation Set Item,Accumulation Get Length, and friends can work on it.
Nothing is copied or transformed beyond the wrapper - it's a type shim, which is exactly why it's cheap to throw into a workflow.
When you'd actually use it
Two realistic cases. First, you built a list by hand (or generated one) and want the accumulation utilities on it - pop the tail, swap an item, read the length. Second, you're inside a loop and want to hand the loop's pass-through value a ready-made list that Accumulate can then keep appending to: ListToAccumulation is the seam between "a list I have" and "a list I'm growing."
Honestly, for most workflows you can skip it. The accumulation nodes create their own lists on first use, and Accumulation To List covers the way out. This one is for the edge where a list arrives from outside the pack and needs to be treated as an accumulation without re-creating it element by element.
Installing it
Same pack, same drill:
cd ComfyUI/custom_nodes
git clone https://github.com/akatz-ai/ComfyUI-Execution-Inversion
# restart ComfyUI
Or ComfyUI Manager, search "Akatz-Loop-Nodes". opencv-python is the only dependency; nothing to download.
Gotchas
The input must actually be a list. Feed it a single float and you'll get a type validation error, not a one-element accumulation - the * socket still gets checked against the SmartType the pack registers. And remember the wrapper is pack-private: the ACCUMULATION output plugs into akatz list nodes, not into other packs' list utilities. If you cross the boundary the other way, Accumulation To List unwraps it again.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| list | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ACCUMULATION | ACCUMULATION | — |