Nodes/ComfyUI-Loopchain/ImageStorageImport
ComfyUI Node Runs on cloud

ImageStorageImport

ImageStorageImport, the frame collector

By Fannovel16·Created 3 years ago·Updated 3 years ago· 31
ImageStorageImport
  • image
    key

    ImageStorageImport is a write-only node - no outputs at all, which is rare in ComfyUI and looks like a mistake until you get the idea. It takes whatever IMAGE you feed it and stuffs it into a named slot in the server's memory. That's it. It's the collector half of the pack's storage system; its counterpart ImageStorageExportLoop reads the slot back later, one batch at a time.

    Why you'd use this

    You're building a keyframe pipeline: generate or decode a few frames, then run them back through the graph with different conditioning per iteration. But ComfyUI's graph is stateless - you can't hold frames "between" executions. This node gives you a side channel: every time it runs, it appends the incoming IMAGE to GLOBAL_IMAGE_STORAGE[key], a plain Python list on the server. Run it five times (say, once per VAE-decoded frame), and the key slot now holds five frames. The export loop then slices them up for a second pass.

    It's marked as an output node, so it sits at the end of a branch, typically wired after VAEDecode or wherever your frames come out. The IS_CHANGED method returns float("nan"), which is the author's way of saying "always re-execute, never cache me" - essential, because caching would silently drop frames on a re-run.

    The two inputs

    • key - the name of the storage bucket. Make it descriptive and remember it exactly: it's case-sensitive, spaces count, and the export side does a bare dictionary lookup. "heads" and "Heads" are different buckets.
    • image - the IMAGE tensor to append.

    That's the whole schema. No size limits declared, no batching knobs - every run appends one more entry to the list.

    Realities and gotchas

    The storage lives in the Python process, in RAM. A server restart wipes it, so the import step and the export step must happen in the same ComfyUI session - don't design a workflow that imports one day and exports the next. There's no persistence to disk. And because the list never shrinks unless you clear it, running an import branch twice will double-up your frames; that's what ImageStorageReset is for.

    Install the pack via ComfyUI Manager (search "ComfyUI-Loopchain") or git clone https://github.com/Fannovel16/ComfyUI-Loopchain into custom_nodes, then restart. No pip dependencies, no model files - Fannovel16's Loopchain is one of the lightest installs in the ecosystem, which makes sense given it's a small, mostly-dormant experiment (last commit December 2023) rather than a maintained tool. Worth knowing before you build anything serious on it.

    CategoryLoopchain/storage

    Inputs (2)

    NameTypeDefaultDescription
    keySTRING
    imageIMAGE

    Outputs (0)

    No outputs