Archive Output
The node that tames your ComfyUI output folder (without touching a pixel)
- trigger
- status
If you've ever opened your ComfyUI/output folder after a long session and stared at 4,000 PNGs in one flat pile, this is the node for you. ArchiveOutputWorkflow - displayed as "Archive Output" - sweeps your output directory clean by moving files into date-structured folders like Archive/2025-11-09, preserving whatever subfolder structure you had. It doesn't delete anything, it doesn't touch the image data, and it costs you one wire.
It's part of a pack that also does PNG-to-JPEG/WebP compression from a settings panel, but this node is the automation half: drop it into a graph, connect anything to it, and every time the workflow runs, the output folder gets tidied. The author calls it "backward compatible," which is pack-speak for "this was the original feature and the fancier UI button came later." Both work; the node exists so archiving can live inside a workflow instead of needing a button click.
How it works
When the node fires, it walks the entire output directory and moves each file into Archive/YYYY-MM-DD/, where the date is the file's modification date, not creation date. Files that already live in subfolders keep their relative path inside the date folder - so output/portraits/run_a/img.png becomes Archive/2025-11-09/portraits/run_a/img.png. A few things never make the trip:
- hidden files (anything starting with
., on by default) - the extensions in
skip_extensions- default.py,.js,.bat,.sh,.json,.yaml,.yml - any folder named
database, and anything starting with_(unconditionally) - the archive folder itself, so it can't recursively archive its own contents
It moves files rather than copying, and if a file with the same name already exists in the archive, it's skipped rather than overwritten. Afterward it walks back and deletes the now-empty directories it left behind. Nice touch for a housekeeping node.
The inputs that matter
There are only two you'll realistically touch:
trigger(required, any type) - connect anything here to fire the archive. It's a pure execution trigger; the value is ignored.enabled(defaulttrue) - flip this off to mute the node in a workflow without deleting it. Handy for re-running old graphs where you don't want files re-sorted.
The rest - archive_folder_name (default "Archive"), skip_hidden_files, skip_extensions, skip_folders - mirror the settings you'd set in the UI panel anyway.
The single output, status, is a STRING summary of the run ("Archive complete. Moved: X, Skipped: Y, Errors: Z..."). It's not an image or a model; you'd wire it into a text display node if you want to see the count in the graph, or just read it in the console.
The other half of the pack
Worth knowing, because you'll find it in the same repo: the pack's headline feature is actually the compression tool, reached through ComfyUI's settings gear ("Archive Output" → "Compression Settings"), not through this node. It converts PNGs to WebP/JPEG at 70–100% quality and embeds the workflow into EXIF - that metadata trick is lifted from ComfyUI-Image-Saver, which you need installed to drag a compressed image back onto the canvas and restore the graph. The workflow-saved-in-the-file convention is the ecosystem's load-bearing wall: a PNG carries the whole node graph in text chunks, and re-encoding to JPEG/WebP normally throws it away. This pack's whole bet is that you can have the disk savings and keep the workflow, via EXIF.
Where people get burned: the README's "compress" is really convert - it's lossy, so a 5MB PNG becomes a ~0.5MB JPEG and the original is gone if you tick "Delete Original PNG." Leave that box off until you've confirmed a compressed image still loads its workflow in your setup.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/jonstreeter/comfyui-archive-output.git
cd comfyui-archive-output
pip install -r requirements.txt
then restart ComfyUI. That's piexif>=1.1.3 and Pillow>=9.0.0 - Pillow usually ships with ComfyUI, so it's light. You can also try ComfyUI Manager (search "Archive Output") or comfy node install archive-output, but one caveat: in the pack's own release thread, a user reported Manager couldn't find it by search - the registry lagged the release. If Manager comes up empty, the git clone above is the reliable path. If the settings panel doesn't show up after installing, restart ComfyUI and hard-refresh the browser (Ctrl+Shift+R).
One honest limitation: there's no AVIF output, which a commenter on the release thread noted often compresses even harder than WebP. For the 90%-off default use case, WebP at 90% quality is fine - and if you ever hit the JPEG EXIF 65KB ceiling on big workflows (those Load Image nodes bloat metadata fast), switch to WebP and it goes away.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| trigger | * | — | |
| enabledopt | BOOLEAN | true | — |
| archive_folder_nameopt | STRING | Archive | — |
| skip_hidden_filesopt | BOOLEAN | true | — |
| skip_extensionsopt | STRING | .py,.js,.bat,.sh,.json,.yaml,.yml | — |
| skip_foldersopt | STRING | database | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |