Save Folder as ZIP
Archive an output folder without leaving ComfyUI
- zip_path
Your workflow just wrote two hundred frames, or a batch of sprite exports, or a folder full of variations, and now you want one file to grab instead of hundreds of loose ones. Save Folder as ZIP does exactly that: point it at an existing folder and it zips the contents in place, no separate archiving step outside ComfyUI required.
What it's for
This is the "I already have files on disk" half of a pair - its sibling Save to ZIP (also in this pack) builds an archive straight from image/mask tensors without a separate save step first. Reach for this one whenever a batch-save node, Spritesheet Builder, or anything else has already written a folder's worth of output and you just need it packaged into a single downloadable archive.
The inputs and outputs that matter
Just one required field:
folder_path(STRING, no default) - the path to the folder you want zipped. This needs to be a real, existing folder that ComfyUI's process can actually read - typically somewhere under your output directory, though it can be any path the executor has filesystem access to.
Output: zip_path (STRING) - the path to the archive it just wrote. is_output_node is true, so this node does its work (writing the zip to disk) as a side effect, but it still hands you the resulting path so you can chain it - wire it into Preview as Markdown to display it, or into whatever download step your setup uses.
How to install it
Search "Link Comfy Nodes" in ComfyUI Manager and install from there. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/Mister-Link/link-comfy-nodes
pip install -r link-comfy-nodes/requirements.txt
Restart ComfyUI. No extra models or heavy dependencies for this node specifically.
Common issues & troubleshooting
Path doesn't exist, or is left blank. folder_path has no default and no validation short of the folder actually being there - a blank field or a typo'd path fails outright rather than quietly producing an empty archive. Double-check the exact path, including case, before running.
Only sees files from the run that produced them. If you're running on a hosted or containerized setup, remember the filesystem your workflow can see is typically scoped to that run - this node zips whatever exists on disk right now, in this environment, not files from an earlier, separate run unless your setup specifically persists them between runs.
Large folders are slow and memory-heavy. Zipping is a single-pass operation over everything in the folder - a few hundred full-resolution frames can take real time and real memory to compress. If your workflow saves a lot of output before reaching this node, budget accordingly rather than assuming it's instant.
Relative vs absolute paths. If the folder isn't found even though you're sure it exists, check whether you're giving a path relative to ComfyUI's working directory versus an absolute one - mixing the two up is an easy, common mistake with any file-path field in ComfyUI.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| folder_path | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| zip_path | STRING | — |