Nodes/Comfy-Pack/Image Output
ComfyUI Node

Image Output

SaveImage that the pack will actually serve

By bentoml·Created 2 years ago·Updated 10 months ago· 217
Image Output
  • images
    filename_prefixcpack_output_

    Image Output is Comfy-Pack's version of the official SaveImage node, and in a normal workflow that's exactly what it behaves like: it takes an IMAGE tensor, writes PNGs to your ComfyUI output folder, and embeds the workflow's prompt and metadata into the files. The difference is the tag. It's a ComfyPack/output node, which is what tells the pack "this image is an output of the served API" - so when you deploy the workflow, this is what comes back from POST /generate.

    That deployment angle is the whole reason the pack exists. Comfy-Pack, from BentoML, is a toolkit for making ComfyUI workflows shareable: you annotate a graph with CPack input and output nodes, then either package the entire environment (Python package versions, ComfyUI and custom-node revisions, model hashes) into a .cpack.zip, or serve the workflow as a REST API at http://127.0.0.1:3000/generate. Image Output is the canonical final node for image workflows, the same way SaveImage is the canonical final node for a plain local graph.

    How it works

    It saves each image in the batch as a separate PNG in your output directory, auto-numbering files so you never overwrite (that's the _NNNNN_ counter you'll see in the filenames). It writes the full workflow prompt plus any extra PNG info into each file's metadata - the same mechanism that lets you drag a ComfyUI output image back into the canvas and get the whole graph back, which the ecosystem treats as a sharing norm. You can even set the compression level, though the default is sensible.

    The inputs that matter

    • images - the IMAGE tensor to save. The tooltip from the pack's own source is just "The images to save." Wire this from your VAE decode (or however you got pixels).
    • filename_prefix - default cpack_output_. Give it a real name and your outputs become readable: cpack_output_00001_.png becomes portraits_00001_.png.

    No outputs - it's a terminal node.

    Install

    Standard pack install:

    • ComfyUI Manager: search comfy-pack, Install, restart, refresh.
    • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/bentoml/comfy-pack, restart.

    Heavier than the average node - BentoML and comfy-cli come along - but it's the price of a workflow-deployment toolkit.

    Where people trip up

    The most common mistake is expecting it to do something LoadImage's cousin doesn't. Locally it is SaveImage with a different label; the serving magic only appears once you hit the /generate endpoint. The other gotcha: Comfy-Pack refuses to serve a workflow without at least one CPack input and one CPack output node. An image-in, image-out workflow is the textbook setup - CPackInputImage at the front, this node at the back - and once you've got that, a single curl sends a prompt and gets back a PNG. That's a surprisingly satisfying moment.

    CategoryComfyPack/output

    Inputs (2)

    NameTypeDefaultDescription
    imagesIMAGEThe images to save.
    filename_prefixSTRINGcpack_output_

    Outputs (0)

    No outputs