Accumulation to List | akatz-loops
The Bridge From Loop Internals to Normal ComfyUI Lists
- 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| accumulation | ACCUMULATION | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |