Ino Unzip
Extract zip archives from inside a workflow, not a terminal
- success
- message
- rel_path
- abs_path
Most of the time you unzip archives outside ComfyUI, and that's fine. But when a workflow needs to unpack something - a zip of reference images, a dataset dump, a model bundle your pipeline just downloaded - doing it in the graph means the next node can act on the files without you touching the terminal. Ino Unzip is that step: point it at a zip file, tell it where to extract, and it returns the standard file-operation report.
It follows the exact convention this pack uses for every file node: a source_parent_folder / source_folder / source_filename triple describes where the zip is, and parent_folder / folder describes where it goes. The parent folder dropdown is input, output, or temp - the three ComfyUI root directories. Set source_parent_folder to input and source_filename to archive.zip and it looks in your input folder; the destination pair works the same way.
Inputs worth knowing about
source_parent_folder,source_folder,source_filename- where the zip lives.source_filenamedefaults toarchive.zip.parent_folder,folder- the extraction target.folderis the subdirectory created under the parent.enabled- the pack-wide master switch. Off means the node reportsNode is disabledand touches nothing.seed- a bit of pack convention: it's a per-node seed with "control after generate," used so the node behaves predictably when you re-queue. Not something you usually need to think about.dummy_string- an optional input whose only job is to give you a wire for forcing execution order. Connect something to it if you need this node to wait on another one.
The outputs are the pack's standard four: success (BOOLEAN), message (STRING), rel_path, and abs_path of the extraction target. Wire success into a downstream gate so a "zip missing" failure stops the pipeline cleanly instead of letting later nodes run on empty folders.
How it works
Mechanically it's what you'd hope: resolve the source path from the source triple, resolve the target directory from the destination pair, and extract. The pack wraps the actual unzipping in its shared file helper, so errors come back as success: false plus a message you can read in the console rather than a crash.
Installing Ino Nodes
One install gets the whole pack. ComfyUI Manager: search "ComfyUI Ino Nodes", install, restart. Terminal:
cd ComfyUI/custom_nodes
git clone https://github.com/nobandegani/ComfyUI-InoNodes.git
cd comfyui_ino_nodes
pip install -r requirements.txt
Requires the inopyutils dependency in ComfyUI's Python environment; V3-schema pack, keep ComfyUI current. No models involved.
Where people get burned
The parent-folder dropdown is the classic trap. Extract "to output" when you meant "to input" and your files land somewhere you'll spend ten minutes hunting for. Also remember rel_path is relative to the ComfyUI root you chose - if you're chaining another file node onto the result, feed it the same parent so the paths line up.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | — |
| seed | INT | 00–18446744073709550000 | — |
| source_parent_folder | COMBO | 3 options: input, output, temp | |
| source_folder | STRING | — | |
| source_filename | STRING | archive.zip | — |
| parent_folder | COMBO | 3 options: input, output, temp | |
| folder | STRING | — | |
| dummy_stringopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| success | BOOLEAN | — |
| message | STRING | — |
| rel_path | STRING | — |
| abs_path | STRING | — |