Nodes/Comfyroll Studio/⌨️ CR Load GIF As List
ComfyUI Node Runs on cloud

⌨️ CR Load GIF As List

Split an animated GIF into frames you can process

By Suzie1Β·Created 3 years agoΒ·Updated 2 years agoΒ· 1,294
⌨️ CR Load GIF As List
    • IMAGE
    • MASK
    • show_help
    β—„input_folderβ–Ύβ–Ί
    β—„gif_filenametextβ–Ί
    β—„start_frame0β–Ί
    β—„max_frames1β–Ί
    β—„input_pathβ–Ί

    Got an animated GIF and want to run each frame through a workflow - vid2vid, per-frame restyle, upscale every frame, extract a mask sequence? CR Load GIF As List cracks the GIF open and hands you its frames as an image list. From there each frame flows through your graph independently, exactly like any other image list.

    It's the input side of frame-by-frame animation work in Comfyroll. Pull the frames in here, process them, then stack them back into a batch or an output video downstream.

    How it works

    It reads a GIF file and decodes its frames (Pillow handles the GIF under the hood), emitting them as a ComfyUI list of images plus a matching list of masks. A list means one execution per frame, which is what you want for processing each frame on its own. You point it at a file in ComfyUI's input area (or an explicit path), and choose which frames to grab with a start point and a max count.

    The inputs and outputs that matter

    • input_folder - dropdown of subfolders inside ComfyUI's input directory.
    • gif_filename (STRING) - the GIF's filename within that folder.
    • input_path (optional STRING) - an explicit path if the GIF lives elsewhere; overrides the folder dropdown.
    • start_frame (INT, default 0) - skip to a frame.
    • max_frames (INT, default 1) - how many frames to load. Raise this - the default of 1 gives you a single frame, which is the most common surprise with this node.

    Outputs: IMAGE (frame list), MASK (mask list), and show_help. Feed the images into your per-frame chain.

    Installing it

    Comfyroll Studio (Suzie1 / RockOfFire) is a large, established utility pack. Via ComfyUI Manager: search "Comfyroll Studio," install, restart. Or clone it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git
    

    then restart. No models needed.

    Common issues

    Two things account for most trouble. First, max_frames on its default of 1 - you loaded "the GIF" and got one frame; bump the count. Second, the file has to actually be where the node looks: the filename must exist in the chosen input folder, or you use input_path to point at it directly. On a hosted or serverless ComfyUI your local files aren't visible, so upload the GIF to the environment's input directory or supply a path the runner can read.

    Long GIFs are a lot of frames, and a list runs the whole graph per frame - so a 200-frame GIF through a heavy workflow is 200 generations. Trim with start_frame/max_frames while you're testing. If the pack won't load at startup with a traceback, reinstall it cleanly through Manager.

    Category🧩 Comfyroll Studio/✨ Essential/πŸ“œ List/⌨️ IO

    Inputs (5)

    NameTypeDefaultDescription
    input_folderCOMBO1 options: 3d
    gif_filenameSTRINGtextβ€”
    start_frameINT00–99999β€”
    max_framesINT11–99999β€”
    input_pathoptSTRINGβ€”

    Outputs (3)

    NameTypeDescription
    IMAGEIMAGEβ€”
    MASKMASKβ€”
    show_helpSTRINGβ€”