vlo Memory Load Image
Feed ComfyUI an image that was never written to your input folder
- IMAGE
- MASK
The boring way to get an image into ComfyUI is to drop it in ComfyUI/input and load it with the standard Load Image node. That works great until the thing feeding your graph is another app generating dozens of short-lived images per run - and then your input folder is a graveyard of one-use files. vlo Memory Load Image is the fix for that: it loads an image straight out of an in-memory registry by id, so the file never touches disk at all.
It exists for vlo, the local open-source video editor this pack bridges to. vlo is a timeline-based editor with ComfyUI as its generation backend - you cut, mask, and arrange in the editor, and it hands frames to ComfyUI over the wire. The memory loaders are the "receiving end" of that handshake: vlo uploads the image into the registry via a small HTTP route, and this node pulls it back by its registry id. Nothing written to input, no cleanup, no orphan files.
What you actually touch
The interface is two inputs:
- image - a dropdown. When connected to vlo, it lists media ids currently held in the registry (the web extension behind this pack swaps that list in live). The dropdown's refresh button re-pulls it.
- disable_in_memory (boolean, default false) - the escape hatch. Flip it and the dropdown switches to listing real files from your normal
ComfyUI/inputdirectory. This is how you test the same workflow by hand, without vlo running at all.
Outputs match the standard Load Image: IMAGE (the pixels) and MASK (the alpha channel as a mask, when the image has one). Wire them wherever you'd wire any Load Image.
How it behaves under the hood
The registry is exactly as simple as it sounds: a dict of id → bytes with a size cap (512 MB per item, 2 GB total) and a TTL. Unread items live two hours; once ComfyUI has accessed an item, it lingers only ten minutes. The node also fingerprints its input so ComfyUI's cache doesn't skip re-runs when the media actually changes - that's a class of bug ("I replaced the image but nothing updated") you never see with this node.
The gotchas
- Expired id errors. If a run says "Unknown media id," the item aged out of the registry - re-send it from vlo. It's not a disk problem, so checking your files won't help.
- The registry dies with ComfyUI. It's in-memory, so a restart wipes it. Any workflow that references old ids fails until vlo re-uploads.
- Keep
disable_in_memoryoff in production runs and use it only for hand-testing - that's literally what it's for.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/PxTicks/ComfyUI-vlo.git
Restart ComfyUI (or install via ComfyUI Manager as "ComfyUI-vlo"). The web extension registers itself, no models to download, nothing extra to pip install on a current ComfyUI.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png | |
| disable_in_memory | BOOLEAN | false | When true, load the selected image from ComfyUI's normal input directory instead of the vlo in-memory registry. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| MASK | MASK | — |