๐ผ Upscale Image with Transparency (with model)
Upscale with an ESRGAN model and keep the alpha
- upscale_model
- image
- IMAGE
This node upscales an image using an upscale model (an ESRGAN-family model like 4x-UltraSharp or RealESRGAN) while preserving transparency. That last part is the whole point. ComfyUI's built-in "Upscale Image (using Model)" node runs the upscaler on RGB and drops the alpha channel, which is a problem the moment you're working with cutouts - a subject with the background removed comes out of a normal upscaler as a solid rectangle again. This node keeps the alpha intact.
So it's a niche tool, but a genuinely useful one if your pipeline involves transparent PNGs: logos, stickers, rembg'd subjects, green-screened cutouts. Upscale them and still have them be cutouts.
How it works
It's a pixel upscaler, the non-generative kind. It runs your chosen upscale model over the image to add resolution without inventing new content - fast, predictable, no hallucination, no face-rewriting. The twist is that it handles the alpha channel alongside the color channels so transparency survives the upscale. It doesn't add detail the way a generative upscaler (SUPIR, SeedVR2) would; it makes the image bigger and cleaner, which is exactly what you want for already-sharp graphics and cutouts.
The inputs and outputs that matter
There are only two inputs, and both are required:
upscale_model- the ESRGAN-style model to use, loaded via a standard "Load Upscale Model" node. The upscale factor (2x, 4x) is baked into whichever model you pick - this node doesn't have a scale slider.image- the image to upscale, ideally one with a transparency channel.
Output is a single IMAGE, upscaled and still carrying its alpha.
How to install it
ComfyUI Manager: search Bjornulf_custom_nodes, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/justUmen/Bjornulf_custom_nodes
Restart ComfyUI. You'll also need an actual upscale model file (e.g. 4x-UltraSharp) in ComfyUI/models/upscale_models - that's separate from this node. Grab one from the usual upscale-model repositories if you don't have any yet.
Common issues
The most common confusion is expecting this to "enhance" a soft or low-quality image. It won't - it's a pixel upscaler, so it adds pixels, not detail. If the source is blurry, upscaling it just gives you a bigger blurry image. For genuine detail recovery you want a generative upscaler, and for a recognizable face you want to give the face its own pass rather than trusting any upscaler with it.
The other thing: if your input has no alpha channel, this node still works, it just has nothing transparent to preserve - at which point the plain built-in upscaler would've done the same job. Use this specifically when transparency matters. And remember the scale factor comes from the model, so if you want 2x versus 4x, load a 2x versus 4x model.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| upscale_model | UPSCALE_MODEL | โ | |
| image | IMAGE | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | โ |