ComfyUI Node

Save_as_webp

The WebP saver whose own README says not needed

By Kaharos94·Created 3 years ago·Updated 2 years ago· 41
Save_as_webp
  • images
    filename_prefixComfyUI
    mode
    compression80

    Let me save you the suspense: the entire README for this pack is one sentence - "This is in Base comfy, and not needed." The author gave up on their own node. So why are you here? Because someone's shared workflow contains a node called Save_as_webp, ComfyUI threw a "missing node" error at you, and you just need it to stop. That's the honest reason 99% of people will ever install this.

    What it actually does

    Save_as_webp is a drop-in clone of ComfyUI's core SaveImage node, except it writes a .webp file instead of a .png. Same pattern: feed it an image, it writes to ComfyUI/output/, auto-increments the filename so it never overwrites, and hands the result to the frontend as a preview. Core ComfyUI's SaveAnimatedWEBP already covers the animated case (and will happily write a single-frame webp too), which is presumably what the author meant by "not needed."

    Where it goes a step beyond core: it does the same trick ComfyUI does with PNGs - embedding the workflow JSON into the file so it can be dragged back and reconstructed. Only it uses EXIF instead of a PNG text chunk, wedging the prompt into tag 0x010f and the workflow into 0x010e. The pack's JS extension then patches the frontend so dropping a .webp back into the browser reloads the whole graph. Same "workflow included" culture the ecosystem runs on, just for a smaller file format.

    The inputs that matter

    All four inputs are required, but you'll touch two of them:

    • images - the IMAGE tensor you want saved.
    • filename_prefix - default ComfyUI. Like core, it accepts %width% and %height% placeholders, and a subfolder path, so webp/%seed%-style naming works.
    • mode - lossy or lossless. Pick lossy for photos-style outputs at smaller sizes; lossless if you're archiving and hate artifacts.
    • compression - 1–100, default 80. In lossy mode this is the quality knob; 80 is a sensible starting point.

    There are no data outputs - it's an output node, its job is writing the file.

    Installing it

    Easiest route is ComfyUI Manager: search ComfyUI-Saveaswebp and install. Or the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Kaharos94/ComfyUI-Saveaswebp
    

    Then restart ComfyUI. Good news: there's no requirements.txt and no model downloads - it only needs Pillow and numpy, both already in base ComfyUI. The install does copy a webpinfo JS file into ComfyUI/web/extensions/, which is how the drag-drop workflow loading works.

    The gotcha that actually bites

    The real failure mode isn't the node crashing - it's the node being missing. People share workflows that use this exact node name, and when you open one without the pack installed, ComfyUI refuses to load and reports the missing class. The fix is simply installing the pack; the error clears and the workflow imports. So even though the README calls it redundant, there are workflows in the wild that will not open without it. If that's your situation, install it, load the workflow, and feel free to swap the node out for core's SaveImage or SaveAnimatedWEBP before you generate anything.

    Verdict

    A fine little node, mildly redundant on day one and actively disowned by its author since. Zero risk to install, genuinely useful only if you want webp outputs that carry their own workflow metadata, and otherwise just the missing puzzle piece for importing someone else's graph. Install it, unblock yourself, move on.

    Categoryimage

    Inputs (4)

    NameTypeDefaultDescription
    imagesIMAGE
    filename_prefixSTRINGComfyUI
    modeCOMBO2 options: lossy, lossless
    compressionINT801–100

    Outputs (0)

    No outputs