Nodes/ComfyUI-SaveAnimatedGIF/SaveAnimatedWEBPRevise
ComfyUI Node

SaveAnimatedWEBPRevise

The core node with a GIF escape hatch bolted on

By MakkiShizu·Created 2 years ago·Updated about a year ago· 1
SaveAnimatedWEBPRevise
  • images
    filename_prefixComfyUI
    fps6.00
    losslesstrue
    quality80
    method
    format

    SaveAnimatedWEBPRevise is the second node in MakkiShizu's ComfyUI-SaveAnimatedGIF pack, and the "Revise" in the name is doing real work: it's the author's fork of ComfyUI core's Save Animated WEBP node, revised to add a format switch that lets one node write either an animated WEBP or a GIF. Core's own animated saver has been WEBP-only in the newer IO-schema refactor, so if your workflow wants the option of a small, shareable GIF and a high-quality WEBP without swapping nodes, this is the one-stop version.

    Same terminal-node deal as its sibling: image batch in, file out, no graph outputs. The preview shows what you saved, the actual file lands in ComfyUI/output with the counter-suffixed filename.

    How it works

    Mechanically it's the standard animated-save dance: each IMAGE tensor becomes a PIL frame, frame zero saves with save_all=True and append_images for the rest, and fps sets the per-frame duration (1000/fps ms) with infinite looping. It also embeds the prompt and workflow into the file's EXIF, so shared outputs stay reconstructable.

    The difference from the plain GIF node is that everything here is real - but only when format is webp. On that path, lossless, quality, and method are all passed through to Pillow and genuinely change the output. Flip format to gif and you get one optimized GIF, with lossless, quality, and method silently ignored (they're WEBP-only knobs and the GIF branch never uses them).

    The inputs that matter

    • format (webp or gif) - the whole reason this node exists. Default is webp.
    • quality (0–100, default 80) - WEBP-only. 80 is a reasonable starting point; nudge to 90–95 when compression artifacts annoy you.
    • method (default/fastest/slowest) - WEBP-only compression effort. default is fine; slowest shrinks files at the cost of encode time.
    • lossless (default true) - WEBP-only; keep it on for sharp, artifact-free animation at the price of size.

    The remaining trio - images, filename_prefix, fps - behaves exactly like the pack's SaveAnimatedGIF node. Honestly, if you only ever want GIFs, the plain node is simpler and you can ignore this one entirely.

    Installing it

    ComfyUI Manager - search "SaveAnimatedGIF" (pack title ComfyUI-SaveAnimatedGIF) - or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MakkiShizu/ComfyUI-SaveAnimatedGIF
    # restart ComfyUI
    

    Only dependencies are Pillow and numpy, both already inside ComfyUI; no models, no heavy installs.

    The catch that applies to the whole pack: the GitHub repo currently 404s (author's account is active, repo deleted or private), so installs will fail until it's republished. Already installed? It keeps running. The same code is preserved in ComfyUI's PR archive (ComfyNodePRs/PR-ComfyUI-SaveAnimatedGIF-…) if you need to resurrect it.

    Common issues

    • quality and method don't seem to do anything. Check your format - if it's gif, they're no-ops by design.
    • Colors shift on GIF output. 256-color palette tax, same as any GIF; WEBP is the better-looking format anyway.
    • Breaks after a ComfyUI update. Unmaintained legacy-style save nodes are exactly the ones that snap when core changes - expect the occasional breakage and have a fallback (core Save Animated WEBP or VideoHelperSuite) ready.

    If you already know you want WEBP with the occasional GIF option, this is a tidy single node for it. Just be aware you're betting on a two-year-old, unmaintained fork.

    Categoryimage/animation

    Inputs (7)

    NameTypeDefaultDescription
    imagesIMAGE
    filename_prefixSTRINGComfyUI
    fpsFLOAT6.000.01–1000
    losslessBOOLEANtrue
    qualityINT800–100
    methodCOMBO3 options: default, fastest, slowest
    formatCOMBO2 options: webp, gif

    Outputs (0)

    No outputs