ComfyUI Node

Ino Unzip

Extract zip archives from inside a workflow, not a terminal

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino Unzip
    • success
    • message
    • rel_path
    • abs_path
    enabledtrue
    seed0
    source_parent_folder
    source_folder
    source_filenamearchive.zip
    parent_folder
    folder
    dummy_string

    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_filename defaults to archive.zip.
    • parent_folder, folder - the extraction target. folder is the subdirectory created under the parent.
    • enabled - the pack-wide master switch. Off means the node reports Node is disabled and 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.

    CategoryInoFileHelper

    Inputs (8)

    NameTypeDefaultDescription
    enabledBOOLEANtrue
    seedINT00–18446744073709550000
    source_parent_folderCOMBO3 options: input, output, temp
    source_folderSTRING
    source_filenameSTRINGarchive.zip
    parent_folderCOMBO3 options: input, output, temp
    folderSTRING
    dummy_stringoptSTRING

    Outputs (4)

    NameTypeDescription
    successBOOLEAN
    messageSTRING
    rel_pathSTRING
    abs_pathSTRING