Nodes/ComfyUI-HeresyNodes/⛧Save Image Batch (For Loops)
ComfyUI Node

⛧Save Image Batch (For Loops)

No metadata, no output-node baggage, no bloat

By heresyCoder·Created 3 months ago·Updated 3 months ago· 2
⛧Save Image Batch (For Loops)
  • images
  • filename_prefix
filename_prefixComfyUI
include_workflowfalse
enabledtrue

The name does the marketing for you: this is a batch image saver built to sit inside loops, and it deliberately leaves the workflow out of your PNGs. Both halves of that are choices, and both are the point.

ComfyUI's stock SaveImage is an output node - which in engine terms means it always runs, and the graph's execution is anchored on it. That's normally fine. But drop an output node in the middle of a loop-style workflow and it starts forcing re-execution and generally behaving like a terminus where you wanted a pass-through. This node sets OUTPUT_NODE = False on purpose, so it runs when its inputs change and otherwise stays out of the way. The tradeoff, spelled out in the source: it "may require the assist of another output node" - you still need a real output node somewhere in the graph (a preview, a final saver) or ComfyUI has nothing to anchor the run on.

Inputs that matter

  • images - an IMAGE batch. Every frame in the batch becomes its own PNG, numbered prefix_00001_.png, prefix_00002_.png, and so on.
  • filename_prefix - the usual template string; slashes create subfolders, exactly like the built-in saver.
  • include_workflow - default false. On, it embeds the workflow/prompt PNG metadata; off, files are bare pixels.
  • enabled - default true. Set it off and the node returns without touching disk, which is how you mute a save branch without deleting it.

The output is the filename_prefix string itself, returned so you can chain - a neat trick that keeps the save node in the data flow instead of ending it.

Why no metadata is the right default here

Embedding the workflow is how ComfyUI makes every PNG a rebuildable project file - drag it back in and the whole graph reconstructs. That's genuinely useful for final output, which is why the default saver does it. But inside a loop you may be writing hundreds of intermediate frames, and those text chunks are pure overhead: bigger files, slower writes, and completely useless metadata on what are effectively cache frames. Leave include_workflow off for intermediates and it costs you nothing. Just remember the flip side - a frame saved without metadata will not reconstruct a workflow if you drag it back in, so don't use this node for your deliverables if you want the shareable-file behavior.

Install

It's part of ComfyUI-HeresyNodes, heresyCoder's small personal pack for Wan video loop workflows:

cd ComfyUI/custom_nodes
git clone https://github.com/heresyCoder/ComfyUI-HeresyNodes

Restart ComfyUI, or use Manager and search "ComfyUI-HeresyNodes". No model downloads, no extra dependencies.

The honest take

This node exists because stock ComfyUI isn't great at "save in the middle of a loop." The no-metadata default keeps intermediate frames light, and the non-output-node design keeps the loop semantics sane. If you're only ever saving final images, you don't need it. If you're saving per-section frames from a chunked Wan render - which is exactly what the rest of this pack's save flow does - this is the one that doesn't fight you. One caveat to carry: because it's not an output node, verify you have an actual output node elsewhere in the graph, or your "it did nothing" moment will be the workflow finishing with no files at all.

Category⛧Heresy Nodes/image

Inputs (4)

NameTypeDefaultDescription
imagesIMAGE
filename_prefixSTRINGComfyUI
include_workflowBOOLEANfalse
enabledBOOLEANtrue

Outputs (1)

NameTypeDescription
filename_prefixSTRING