Nodes/ComfyUI Web Viewer/IMAGE Saver @ vrch.ai
ComfyUI Node

IMAGE Saver @ vrch.ai

Save your frames with your own filename — the archivist's node

By VrchStudio·Created 2 years ago·Updated about a month ago· 358
IMAGE Saver @ vrch.ai
  • images
    filenameweb_viewer_image
    pathweb_viewer
    extensionjpeg
    quality_jpeg_or_webp85
    optimize_pngfalse
    lossless_webptrue
    enable_previewfalse

    ComfyUI's built-in Save Image names files with timestamps and counters, which is fine for a one-off and useless when you're capturing a realtime session frame by frame. The IMAGE Saver node from the ComfyUI Web Viewer pack gives you the filename - literally. You pick the name, the folder, and the format, and it writes exactly that. It's the archivist's node in a pack built for performance, and it's the natural partner for the channel loader when you want to record exactly what the audience saw.

    What it is

    The three required inputs are the whole point: filename (default web_viewer_image), path (default web_viewer), and extension - your pick of jpeg, png, or webp. It writes into a web_viewer subfolder under ComfyUI's output directory by default, so your captures don't get lost in the same bucket as everyone else's generations. Then the optional knobs refine the encode: quality_jpeg_or_webp (default 85) sets compression for the lossy formats, optimize_png squeezes PNGs at the cost of a little CPU, and lossless_webp (default on) forces lossless encoding when you've picked webp. enable_preview shows the image as it's saved.

    The workflow that makes this shine: wire an IMAGE Web Viewer Channel Loader into the images input, and the saver becomes a "record what's on screen" button for your interactive setup. Every frame the display lands on gets written with a predictable name, in a predictable folder, in the format you chose - the exact opposite of hunting through ComfyUI's output for the right timestamp. In an instant-queue loop it doubles as a frame grabber: point it at the live output, let it run, and you walk away with a clean sequence you can turn into video.

    It's a terminal node - no outputs, it just writes and ends. That's the entire contract, and it's refreshingly simple in a pack full of moving parts.

    How to install

    Install is the pack-standard one:

    cd ComfyUI/custom_nodes
    git clone https://github.com/VrchStudio/comfyui-web-viewer
    cd comfyui-web-viewer
    pip install -r requirements.txt
    

    restart ComfyUI. Manager users search "ComfyUI Web Viewer". Windows portable: python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\comfyui-web-viewer\requirements.txt. No models.

    Common issues

    Two things to know before you lean on it. First, it overwrites - a fixed filename with no counter means each save clobbers the last one, which is exactly what you want for a "current frame" capture and exactly what you don't want if you expected a sequence. If you want an archive, script the filename to vary. Second, webp is the default-favorite here for a reason: at lossless_webp on with quality at 85 you get near-PNG fidelity at a fraction of the size, which matters when you're capturing a long realtime session. JPEG is the sensible default for throwaway frames where speed and size beat fidelity.

    Categoryvrch.ai/image

    Inputs (8)

    NameTypeDefaultDescription
    imagesIMAGE
    filenameSTRINGweb_viewer_image
    pathSTRINGweb_viewer
    extensionCOMBOjpeg3 options: jpeg, png, webp
    quality_jpeg_or_webpoptINT851–100
    optimize_pngoptBOOLEANfalse
    lossless_webpoptBOOLEANtrue
    enable_previewoptBOOLEANfalse

    Outputs (0)

    No outputs