Nodes/ComfyUI-QING/文件打包丨输出
ComfyUI Node

文件打包丨输出

Collect a run's output files into one archive and get a download link

By sheengoa·Created about a year ago·Updated 19 days ago· 16
文件打包丨输出
    • 结果信息
    • 下载地址
    • 数量
    archive_formatzip
    archive_nameoutput_pack
    include_timestamptrue

    Fifty generated images, all sitting in ComfyUI's output folder, and you need to hand them to someone as one file. That's the job: OutputFilePack is a QING pack node that lets you browse your output directory from inside the node, check the files you want, and pack them into a zip, 7z, or tar - then it gives you a download link that works in your browser.

    The important thing to know first

    This is a frontend-driven node, which trips people up. The backend pack_output_files function doesn't actually build anything - it just returns "use the node's checkboxes and click the 打包并下载 (pack & download) button." The real work happens in the node's custom UI: it calls ComfyUI's server API at /api/qing/output-pack/create, and the archive download is served from /api/qing/output-pack/download/{token}. So don't execute this node via the API and expect a file; it's meant to be used with its UI panel in the canvas.

    Your inputs are simple: archive_format (zip / 7z / tar), archive_name (default output_pack), and include_timestamp (default true, so you get output_pack_20260826_143000.zip instead of collisions). Outputs: a result message, the download address (the token URL), and the item count.

    How it behaves

    It works inside ComfyUI's output directory only - a deliberate security choice: paths are resolved and verified to stay under the output root, so you can't use it to exfiltrate arbitrary files. The download link expires after 10 minutes (the token cache cleans up expired archives), so grab the file while the link is hot. Timestamps are baked into the name to keep reruns from overwriting. For zip and tar there are no extra dependencies; for 7z you need py7zr, which is not in the pack's requirements.txt - install it yourself (pip install py7zr) or just use zip and skip the headache.

    Where you'd reach for it

    Batch deliveries, sharing, or just emptying a crowded output folder without touching the terminal. It pairs naturally with the pack's QING_SaveImage (which writes named files into the output dir) - generate a batch, save with a naming scheme, then pack the results. Think of it as the "workflow output lives in the file" culture from the KB, but with a zipper stapled on the end.

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/GAO-SHIQING/ComfyUI-QING
    cd ComfyUI-QING
    python install_dependencies.py
    

    Restart ComfyUI after. The custom UI (including this node's panel) lives in the pack's js/ directory, so make sure the frontend reloads - a hard refresh after restart is the usual fix if the panel doesn't show. And yes, the README's clone URL has a GAOSHI-QING typo; the repo is GAO-SHIQING/ComfyUI-QING, which is also what ComfyUI Manager finds under "ComfyUI-QING."

    Things to know

    If the node's UI panel doesn't appear or the button errors, check that you restarted ComfyUI after installing (the server routes register at startup). include_timestamp off means a fixed filename - handy if you want the archive to always have the same name, infuriating if you forget and wonder why your new pack has the old content. And 10-minute token expiry: if your download stalls, just pack again rather than hunting the temp file.

    CategoryQING/文件工具

    Inputs (3)

    NameTypeDefaultDescription
    archive_formatCOMBOzip3 options: zip, 7z, tar
    archive_nameSTRINGoutput_pack
    include_timestampBOOLEANtrue

    Outputs (3)

    NameTypeDescription
    结果信息STRING
    下载地址STRING
    数量INT