Load Image (Passthrough)
ComfyUI's Load Image, wearing a party hat
- image_in
- image
- mask
Honestly? This node is a dressed-up Load Image. You pick a file from your input folder, it hands you an IMAGE tensor and a MASK tensor pulled from the file's alpha channel, exactly like the built-in one. What makes it worth reaching for is the "Passthrough" in the name and the automation bolted around it.
The passthrough: there's an optional image_in input. If you connect an image there, it overrides the selected file - the node returns whatever you fed it while preserving the mask that came from the file on disk. That's a genuinely handy trick: content from one image, masking from another, in a single node.
The automation is the real reason it exists in this pack. When the pack's Load Video (Extract Frame) node pulls a frame, it fires a signal that flips every Load Image (Passthrough) node to that newly-saved frame automatically. So the workflow is: extract frame → node auto-selects it → right-click → Open in Mask Editor → draw your white/black mask → Save to node. That mask feeds straight into the pack's Gemini inpaint and Veo inpaint modes, which both want a MASK with white = edit, black = keep.
Outputs
image- the IMAGE tensor (from the file, or fromimage_inif connected).mask- the MASK tensor from the file's alpha channel, inverted the same way ComfyUI's native Load Image does it.
Install
It ships inside the Nano Banana pack, so installing the pack gets you this node:
cd ComfyUI/custom_nodes
git clone https://github.com/PATAGONIABIM/comfyui-NanoBananaPro_3DeLAB.git
cd comfyui-NanoBananaPro_3DeLAB
pip install -r requirements.txt
Restart ComfyUI, or grab it from ComfyUI Manager under comfyui-NanoBananaPro_3DeLAB. No extra dependencies - it's just image loading with the pack's JS hook layered on.
Gotchas
- The mask only exists if your PNG actually has an alpha channel; without one you get a blank mask tensor, and an inpaint node will then reject it as empty.
- If you're not using the video-extract automation, a stock Load Image does the same job with fewer moving parts. This node earns its place when the frame-flip automation or the
image_inoverride is actually in your path.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png | |
| image_inopt | IMAGE | If connected, this image overrides the selected file. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |