Nodes/Akatz-Loop-Nodes/Accumulation to List | akatz-loops
ComfyUI Node

Accumulation to List | akatz-loops

The Bridge From Loop Internals to Normal ComfyUI Lists

By akatz-ai·Created about a year ago·Updated 8 months ago· 23
Accumulation to List | akatz-loops
  • accumulation
  • *

Every loop pack has one awkward boundary: the thing its loops accumulate is a special internal type, but half the nodes in ComfyUI want a plain list. AccumulationToList is that boundary crossing. It takes an ACCUMULATION - the pack's growing per-iteration list - and emits it as a real, list-typed output that any list-aware node downstream can consume.

That matters more than it sounds. Inside a ForLoopOpen/ForLoopClose pair, values accumulate through AccumulateNode as ACCUMULATION objects. That type is only understood by the pack's own list nodes. The moment you want to hand all your per-iteration results to something outside the pack - a batch-processing node, a comparison, a file saver that iterates a list - you need them as a standard list first. This node is that conversion: one required input (accumulation), one output marked as a list, and nothing to configure.

How it works

Mechanically it's the shallowest possible wrapper: it returns the accumulation's internal "accum" list directly (accumulation["accum"]). No copying, no reordering, no deduping - the list comes out in the order the loop appended it, which is iteration order. The node sets OUTPUT_IS_LIST, so downstream nodes that support list inputs (like the pack's own GetIntFromList, or any INPUT_IS_LIST node elsewhere in the ecosystem) see a proper list of values.

The practical flow in the pack's own example workflow: a loop accumulates results, AccumulationToList converts them, and then everything past that point works on a normal list. If you're looping and you don't need the ACCUMULATION type anymore - you're past the last loop body - convert as early as you can. Keeping values in the internal type past that point just limits what you can plug them into.

What to watch

The output is a list of whatever the loop accumulated - images, latents, ints, strings. If you expected a batched image tensor and got a list of individual tensors, that's not a bug; it's the honest shape of "one thing per iteration." Reach for AccumulationGetItem or GetIntFromList to pull a single element out of the converted list by index.

Install

Ships in Akatz-Loop-Nodes (akatz-ai). Install via ComfyUI Manager (search "Akatz-Loop-Nodes") or:

cd ComfyUI/custom_nodes
git clone https://github.com/akatz-ai/Akatz-Loop-Nodes

Restart ComfyUI. The pack's only dependency is opencv-python, no model downloads. Listings may show the module as custom_nodes.ComfyUI-Execution-Inversion - that's the pack's lineage from BadCafeCode's execution-inversion demo, not a separate package you need.

CategoryAkatz Loop Nodes/Lists

Inputs (1)

NameTypeDefaultDescription
accumulationACCUMULATION

Outputs (1)

NameTypeDescription
**