Load Image (Temp) [darkilNodes]
Use a reference image without permanently squatting in ComfyUI/input
- image
- mask
- width
- height
- aspect_ratio
- aspect_ratio_text
- format
- info
- help
Every image you upload to the stock Load Image gets copied into ComfyUI/input/ and stays there. Forever. That's fine when it's a public checkpoint preview you'll reuse, and it's the reason your input folder turns into a landfill after a few months of img2img, controlnet scribbles, and that one face-swap source you'll never touch again.
Load Image (Temp) is the version that doesn't do that. Uploads go to ComfyUI/temp/darkil_temp_images/<bucket>/ instead - and ComfyUI wipes its entire temp folder both when the server starts and when it stops. Your images live exactly as long as the session does, then vanish without you doing anything. If you're feeding reference material into an inpaint or controlnet workflow and don't want it lingering on disk (or just don't want your input folder to rot), this is the loader for you. It's one of the few genuinely privacy-minded image-loading ideas in the ecosystem, and it fits the same theme as the pack's other I/O nodes.
How it behaves day to day
Each node instance owns its own bucket - a named folder under the temp dir, created the first time you upload into it. Copy the node and the copy shares the same bucket, so original and copy see one set of images and clearing one clears both. The image widget is a combo box of what's in your bucket; you can also drag files onto the node, or paste from the clipboard (ctrl+v or the Paste Image entry in the node menu - pasted pictures arrive as image.png, so they're renamed pasted_<date>_<time>.png on the way in).
The widget value is written the way ComfyUI writes image values: darkil_temp_images/<bucket>/<name> [temp]. That [temp] on the end matters more than it looks - it's the annotation that tells the rest of ComfyUI which folder to look in. Without it, the mask editor and anything else that re-derives the file from this string would go hunting in input/.
Outputs are the stock loader's plus a pile of free metadata: image, mask (inverted alpha, zeros if none), width, height, aspect_ratio (a float), aspect_ratio_text (the readable 16:9 form), format, info (the one-line summary drawn on the node), and help. Wire image and mask exactly as you would a stock Load Image - every node downstream is none the wiser.
The two gotchas that'll bite you
Restart = re-upload. After a server restart the temp files are gone and the node tells you so - IS_CHANGED checks the file's size and mtime, and validation fails with "upload it again" if the file's missing. This also means a saved workflow that references a temp image won't have that image when you (or someone else) load it later. This is a live-session tool, not an archiving one. If a workflow and its input images need to travel together, use the stock loader.
The mask editor breaks the promise, deliberately. ComfyUI's own mask editor saves what you paint into ComfyUI/input - that's its behavior, not something the node controls. The node handles it gracefully: it points at that input-folder copy and labels it edited copy, from the input folder, so the one image you masked does outlive the session. Everything else you uploaded stays ephemeral; only the edited copy is kept, and you can delete it like any input file.
The per-node info line is a nice touch - size, aspect ratio, format, color mode, file size right on the node, so you can sanity-check your reference at a glance. Animated files get stacked into a batch and EXIF rotation is applied, same as the stock loader.
Installing it
It's one node in the comfyui-darkil-nodes pack by pytraveler. Zero dependencies, zero model downloads, pure Python on top of PIL and ComfyUI's own server:
cd ComfyUI/custom_nodes
git clone https://github.com/pytraveler/comfyui-darkil-nodes.git
Restart ComfyUI (or via Manager, search comfyui-darkil-nodes). Look for Load Image (Temp) [darkilNodes] under darkilNodes/images - it's the one with "Temp" in the name, not to be confused with the encrypted loader in the same menu. The pack's a big grab bag and you're installing all of it either way, but the code is tidy and the documentation is genuinely better than most one-person packs. For "reference image that leaves no trace," it does exactly what it says.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |
| width | INT | — |
| height | INT | — |
| aspect_ratio | FLOAT | — |
| aspect_ratio_text | STRING | — |
| format | STRING | — |
| info | STRING | — |
| help | STRING | — |