How to Upscale AI Images in ComfyUI with an ESRGAN Model
Add an upscale node chain to take a 1024 image up to 2K or 4K cleanly using a model upscaler instead of a blurry pixel resize.
Generating directly at huge resolutions wastes VRAM and often produces duplicated limbs or repeated patterns. The cleaner approach is to render at a normal size, then upscale with a trained model like an ESRGAN variant. This guide adds a model upscale step to any existing workflow.
What you need
- A workflow that already outputs an image
- An upscale model such as 4x-UltraSharp or RealESRGAN_x4plus
- A little extra VRAM headroom for the larger image
Step 1: Install an upscale model
Download an upscale model file and place it in models/upscale_models. The 4x models multiply each side by four, so a 1024 image becomes 4096. You can install one quickly through ComfyUI Manager's Model Manager too.
Step 2: Add the upscale nodes
Add two nodes: Load Upscale Model and Upscale Image (using Model). The first loads the .pth file; the second applies it to an image.
Step 3: Wire the VAE Decode output into the upscaler
Take the IMAGE output from your VAE Decode node and feed it into the Upscale Image node's image input. Connect the Load Upscale Model output into that node's upscale_model input. Then route the upscaled image to a Save Image node.
Step 4: Optionally refine with a second pass
Pure model upscaling sharpens but does not add detail. For best results, route the upscaled image back through a VAE Encode and a second KSampler at low denoise (around 0.3 to 0.4). This lets the diffusion model paint in believable fine detail at the new size.
Step 5: Queue and save
Run the workflow. The upscale step adds a few seconds, and the optional refine pass adds more. Your Save Image node writes the full-resolution file to the output folder.
Result: a crisp high-resolution image built from a fast base render, with none of the duplication you get from generating at huge sizes directly.
Watch related tutorials
26:00
17:00
19:48
20:00
19:00
32:00