Tea: Save & Reload Image
The save-to-disk round trip that rescues small GPUs from OOM
- image_in
- reloaded_image
If you've ever had a workflow that runs fine in isolation but OOMs the moment you chain two models together - upscale, then img2img, with both models' worth of tensors alive at once - this is the hack for you. The idea is almost embarrassingly simple: it saves the image to disk and immediately loads it back as a brand-new tensor. That round trip severs the tensor lineage, and once the graph can't trace back through it, ComfyUI drops the upstream model's cached output. The README puts it plainly: many workflows pass images straight from one model to another, which causes out-of-memory errors on the first run. This node forces the unload.
It's a detacher, not a fix - but for the specific "image passthrough chain" case it genuinely works, which is more than most VRAM advice can claim.
Two jobs, one node
The node doubles as a normal image loader, which is the part that makes it pleasant to keep in a graph:
- Detacher mode: connect
image_in, and it saves the tensor totemp_folder/filename(defaultsoutput/tempandTeafault.png), then reloads it. - Loader mode: leave
image_inunconnected and it behaves like the stock Load Image node - picker with preview, upload button, EXIF orientation handling, multi-frame support.
Mechanically it's tensor → PIL → save PNG → reopen → fresh [1,H,W,3] float tensor in [0,1]. The default filename is Teafault.png, which is the exact kind of in-joke that tells you this pack knows what it is.
Inputs that matter
image_in- the tensor to detach. Leave it unconnected for loader mode.temp_folder/filename- where it writes and what it calls the file. It appends.pngif you leave the extension off.also_save_perm/perm_folder- optionally keep a second copy inoutput/savedso the file survives temp-folder cleanups.
One output: reloaded_image (an IMAGE tensor). In detacher mode it only uses filename for both the temp and permanent copies, and it always overwrites - there's no overwrite toggle on that path, so if you want a keeper, that's what also_save_perm is for.
Installing it
Same as the rest of the pack, and it has zero extra dependencies:
- ComfyUI Manager → Custom Nodes → search "SuiteTea", or Manager → Install from URL →
https://github.com/teepunkt-esspunkt/ComfyUI-SuiteTea.git - Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/teepunkt-esspunkt/ComfyUI-SuiteTea
Restart ComfyUI and it shows up under SuiteTea / IO.
Be honest about what it is
This is duct tape, and it's good duct tape. It doesn't add VRAM - it breaks the chain so the graph frees the upstream tensors, which is exactly what you want when a workflow passes a big image tensor from one model straight into another. If your pipeline still OOMs after the detach, the real fix is a smaller model, GGUF quantization, or ComfyUI's own low-VRAM settings, not more clever hacks.
The one trap to avoid: dropping this node into a graph out of superstition and leaving it there. It works because it forces a disk round trip every run, which costs you a little time. Reach for it when the OOM message actually appears, wire image_in in, and move on.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png | |
| temp_folder | STRING | output/temp | — |
| filename | STRING | Teafault.png | — |
| also_save_perm | BOOLEAN | false | — |
| perm_folder | STRING | output/saved | — |
| image_inopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| reloaded_image | IMAGE | — |