Nodes/ComfyUI Deploy/External Image Alpha (ComfyUI Deploy)
ComfyUI Node

External Image Alpha (ComfyUI Deploy)

External Image, but the alpha channel survives the trip

By BennyKok·Created 3 years ago·Updated 10 months ago· 1,529
External Image Alpha (ComfyUI Deploy)
  • default_value
  • image
â—„input_idinput_imageâ–º
â—„display_nameâ–º
â—„descriptionâ–º

Look at the regular External Image node and you'll see it forces every image to RGB, quietly discarding alpha. That's fine for most img2img use, and it's a silent disaster for the workflows that actually need transparency - cutout compositing, sprite extraction, anything where a caller uploads a PNG with a meaningful fourth channel. "External Image Alpha" is the variant that doesn't flatten it: it decodes the image and keeps all four channels, so the alpha survives into the tensor.

It's a niche sibling of the workhorse External Image, and it exists for exactly one reason - those workflows. If you're building a deployed pipeline where callers upload transparent PNGs (product shots with clean cutouts, sticker art, layered composites), this is the input node you want. Same shape as its sibling, one meaningful difference: no .convert("RGB") anywhere in the path.

How it works

The mechanism mirrors External Image: if input_id starts with http it fetches the image; if it's a base64 data URI (data:image/png;base64, and friends) it decodes it. It EXIF-transposes, normalizes to 0–1 floats, and returns a tensor - but it skips the RGB conversion, so an RGBA PNG arrives as a 4-channel tensor with the alpha intact. No URL supplied (or a malformed one) means it returns whatever default_value is wired in.

Inputs and output

  • input_id - default input_image. The key callers use; also the URL/base64 source.
  • default_value - an IMAGE fallback for when no valid source arrives.
  • Optional: display_name, description.

Output: image (IMAGE) - potentially 4-channel.

Installing it

Same pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/BennyKok/comfyui-deploy.git

Restart ComfyUI, or install "ComfyUI Deploy" via ComfyUI Manager. No models, no key.

Where people get burned

Here's the trade-off nobody warns you about: a 4-channel IMAGE tensor is not what most nodes expect. Standard ComfyUI image processing assumes 3 channels, so the moment your alpha-carrying tensor hits a node that isn't alpha-aware, you get a shape error or a baffling corruption. The fix is to split the alpha off deliberately - a mask/alpha extraction node reads the 4th channel and hands it to compositing or masking - and only then feed RGB onward. Don't just run an RGBA tensor into a random pipeline node and hope.

Second, this node is stricter than it looks: it only accepts http URLs or base64 data URIs, and anything else raises a ValueError that lands you in the fallback path. A plain local file path won't work here the way it might in other input nodes. And same as its sibling, a failed load returns the default silently - check the console when callers complain their image "didn't come through."

Category🔗ComfyDeploy

Inputs (4)

NameTypeDefaultDescription
input_idSTRINGinput_image—
default_valueoptIMAGE—
display_nameoptSTRING—
descriptionoptSTRING—

Outputs (1)

NameTypeDescription
imageIMAGE—