ComfyUI Extension: ComfyUI-FrameIO

Authored by room3dev

Created

Updated

0 stars

Run ComfyUI workflows without the setup

No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

High-performance frame IO nodes (WEBP)

Looking for a different extension?

Custom Nodes (0)

    README

    ComfyUI-FrameIO

    preview

    High-performance frame input/output nodes for AI video pipelines in ComfyUI.

    ComfyUI-FrameIO focuses on efficient frame storage, loading, and reuse for long video generation workflows, solving common problems like massive PNG sizes, duplicate frames, and fragile filename-based loading.


    ✨ Features

    🧩 Frame Saving

    • Save batch IMAGE tensors as WebP
    • Lossy or Lossless WebP
    • Skip identical frames using hash-based deduplication
    • Massive disk space reduction vs PNG
    • Returns STRING_LIST (ComfyUI list-native)

    šŸ“„ Frame Loading

    • Pattern-based frame loading
    • STRING_LIST → IMAGE loader (no filename guessing)
    • Frame range selector (start, end, step)
    • Auto-detect frame count (set frame_count=0)
    • Execution Trigger node for flow control
    • List Video Files node to scan input directory
    • Safe with duplicate paths (from deduplication)

    ⚔ Optimized for AI Video

    • Multi-threaded IO for high-speed saving & loading
    • Direct PyTorch normalization (avoids slow CPU/NumPy conversions)
    • Designed for long sequences
    • Works with WebP / PNG / JPG
    • Preserves exact frame ordering
    • Security restricted (saves only to ComfyUI output directory)

    šŸ“¦ Included Nodes

    šŸ”¹ Batch Save Image Sequence (WebP)

    Save an image batch efficiently to disk.

    Inputs

    • images (IMAGE)
    • path_pattern (STRING)
    • start_index (INT)
    • lossless (true / false)
    • quality (INT)
    • skip_identical (true / false)
    • overwrite (true / false)

    Outputs

    • paths (STRING_LIST)
    • count (INT)

    šŸ”¹ Batch Load Image Sequence

    Load images from disk using a filename pattern.

    Inputs

    • path_pattern (STRING) - e.g., ./frame{:06d}.webp
    • start_index (INT)
    • frame_count (INT) - Set to 0 to auto-detect all available frames
    • ignore_missing_images (true / false)

    Outputs

    • images (IMAGE)
    • count (INT)

    šŸ”¹ Batch Load Image Sequence (Trigger)

    Same as the standard sequence loader, but includes an optional trigger input. Useful for forcing ComfyUI to wait for a previous node (like a video render) to finish before loading.


    šŸ”¹ Batch Load Image List (Advanced)

    Load images directly from a STRING_LIST.

    Inputs

    • paths (STRING_LIST)
    • start (INT, optional)
    • end (INT, optional)
    • step (INT, optional)

    Outputs

    • images (IMAGE)
    • count (INT)

    This is the recommended loader when using frame deduplication.


    šŸ”¹ List Video Files (Input Dir)

    Scans your ComfyUI input folder for video files.

    Inputs

    • subfolder (STRING) - Subfolder within the input directory.
    • filter (STRING) - Wildcard filter (default *).
    • load_cap (INT) - Maximum number of files to return (default 100, 0 for no limit).
    • deep_search (true / false) - Search subdirectories recursively (default false).

    Outputs

    • paths (STRING_LIST) - List of absolute paths.
    • count (INT) - Number of files found.

    🧠 Why ComfyUI-FrameIO?

    | Problem | Solution | |------|------| | PNG sequences too large | WebP (5–10Ɨ smaller) | | Duplicate frames | Hash-based skip | | Filename guessing | STRING_LIST loader | | Partial re-render | Frame range selector | | Long videos | Optimized IO |


    šŸŽ¬ Recommended Workflows

    šŸ”„ Best Practice (Long Videos)

    
    KSampler
    ↓
    Batch Save Image Sequence (WebP)
    ↓ STRING_LIST
    Batch Load Image List (Advanced)
    ↓ IMAGE
    Video Combine / FFmpeg
    
    

    šŸŽÆ Partial Reload

    • start = 300
    • end = 900
    • step = 2

    Perfect for re-encoding or post-processing sections.


    āš™ļø Recommended Settings

    | Use Case | Settings | |-------|---------| | Final video | Quality 95, Skip Identical = true | | Iteration | Quality 90 | | Dataset / archival | Lossless = true | | Static shots | Skip Identical = true |


    šŸ“„ Installation

    cd ComfyUI/custom_nodes
    git clone https://github.com/room3dev/ComfyUI-FrameIO.git
    

    Restart ComfyUI.

    Nodes will appear under:

    FrameIO
    

    šŸ“„ License

    MIT

    Run ComfyUI workflows without the setup

    No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

    Learn more