YG Direct Image Zipper
Zip whatever images you've got, right now
- images
Sometimes you don't need a batch pipeline at all - you've got an IMAGE tensor in the graph and you just want it handed to you as a ZIP file. YG Direct Image Zipper is the smallest node in the pack and it does exactly one thing: take whatever images arrive on its input, save them, and wrap them into a downloadable archive. No loader, no job_id matching, no is_last protocol. It's the "just zip it" option.
How it works
You feed it an images input - any IMAGE tensor, which covers a single image or a whole batch in one go - plus a zip_name. On execution it dumps each image as a PNG (image_0000.png, image_0001.png, ...) into a temp job folder, then packs them into ComfyUI/output/yg_zip_output/<zip_name>.zip and tells the frontend, which pops a download button. The download hits a /yg/direct_zip_download route the pack registers.
There's one optional input, create_zip (default true): flip it off and the node just saves the PNGs without archiving - a "save, don't zip yet" mode that still leaves them on disk for later.
The inputs that matter
images- wire anything that produces an IMAGE here.zip_name- the archive name without the.zipextension (the tooltip says so, and it's the one field you'll actually type in).
That's the whole thing. It has no outputs - it's an output node, so it always runs and its job is done the moment the files are written.
Installing it
It's one of twelve nodes in comfyui_yg_nodes (MIT, by Mallikarjuna Rao Koliparthi, published as "YG Custom Nodes" v1.0.4). No extra Python dependencies. Get it via ComfyUI Manager (search comfyui_yg_nodes) or:
cd ComfyUI/custom_nodes
git clone https://github.com/mallikarjunaraokoliparthi/comfyui_yg_nodes.git
Restart ComfyUI; it's under YG Custom Nodes.
Gotchas and when to reach for it
Two things worth knowing. First, the ZIP always gets written to output/yg_zip_output/<zip_name>.zip, and running again with the same zip_name overwrites the previous archive - if you want to keep runs, change the name. Second, the files inside are re-encoded PNGs, not your originals: if you zipped a batch straight from a SaveImage output, the PNG metadata (embedded workflow) is gone. For shipping images to someone, nobody cares; if metadata matters, this isn't the node.
Where it earns its place: at the end of any workflow where the output is "a handful of images I want as one file." A grid of LoRA test variants, a batch of upscales, a few poster candidates - wire the batch in, name it, download, done. It's a utility that refuses to overthink its job, and for that exact scenario it beats dragging files out of output/ by hand.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| zip_name | STRING | images | Name for the ZIP file (without .zip extension) |
| create_zipopt | BOOLEAN | true | — |
Outputs (0)
No outputs