Nodes/comfyui-cyclist/Save Image (Override)
ComfyUI Node

Save Image (Override)

The fixed-filename save that lets a Cyclist loop reload its own output

By Pos13·Created 2 years ago·Updated 2 years ago· 33
Save Image (Override)
  • image
    filenameForLoop_1

    The regular Save Image node adds a counter to every filename - ComfyUI_00001_, _00002_, and so on - which is great for keeping a gallery and terrible for a loop. Save Image (Override) drops the counter and writes to the same filename every time, overwriting the previous file. That one change is what makes it the disk half of a Cyclist loop: it saves a result the next iteration can reliably find and reload by name.

    Why the fixed name matters

    Cyclist fakes loops by re-queuing the workflow, one iteration per Queue Prompt, and nothing carries over between runs on its own. The disk-based pairing - Save Image (Override) to write, Reload Image to read - is how a picture survives that gap. Because the filename is stable (not a moving counter), Reload Image can grab exactly the file the last run wrote. This is the pattern behind Cyclist's iterative-upscale and "regenerate until it's recognisable" workflows: each pass loads the previous image, works on it, and overwrites it.

    Unlike the memory-based Memorize/Recall nodes, this writes to real disk in your output folder - so it survives a ComfyUI restart. That's the trade: memory is faster and self-clearing, disk persists and is the right choice when the thing you're looping on is an image.

    The inputs that matter

    • filename (STRING, default ForLoop_1) - the fixed name it writes under, no counter appended. The matching Reload Image reads this exact name.
    • image (IMAGE) - the picture to save.

    It's a terminal (output) node with no outputs - it sits at the end of the branch and commits the file to your output folder.

    Install

    • ComfyUI Manager: search comfyui-cyclist, install, restart.
    • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/Pos13/comfyui-cyclist, restart.

    Pure Python, no downloads.

    Where people get burned

    Two real ones. First, image batches aren't supported - the author flags it as a known limitation with "planned" next to it (and given the pack's archived, "planned" means "not happening"). Feed it a single image, not a batch, or it won't behave.

    Second, the "New Cycle" interaction. When you want a fresh loop that doesn't overwrite your finished result, you press "New Cycle," which increments filename widgets so the next run writes to a new name. But it only rewrites the widget (and connected Primitives) - if your filename is coming out of a Recall String or String Const node, "New Cycle" skips it and your new loop clobbers the old file. Keep the filename in a plain widget if you want the increment to work.

    And the pack-wide caveat: Cyclist is archived and unmaintained. Save Image (Override) is dead simple and unlikely to break, but there's no one on the other end if it does.

    Categorycyclist/Write

    Inputs (2)

    NameTypeDefaultDescription
    filenameSTRINGForLoop_1
    imageIMAGE

    Outputs (0)

    No outputs