◎ Radiance AI Upscale
A real upscaler collection — with the HDR mode most upscalers are missing
- image
- image
- info
Upscaling has two very different jobs, and the upscaling literature is emphatic about not confusing them: more pixels (ESRGAN-family models, instant, add nothing) versus more detail (SUPIR, which is generation and will rewrite your faces). RadianceAIUpscale bundles both families into one node - RealESRGAN, ESRGAN, SwinIR, HAT, and SUPIR - with tiled processing and, the thing nobody else has, HDR-aware modes that don't shred your highlights on the way up.
The model list is the story. RealESRGAN_x4plus (default) and the anime 6B variant are the pixel-multiplication workhorses; 4x-UltraSharp is the community favorite for clean general upscales; SwinIR and HAT are the more surgical modern architectures; and the two SUPIR variants (fp16) are the heavy hitters for genuinely damaged, low-res sources - at the cost of being ~6GB downloads that genuinely generate detail. The node itself warns on download for those.
The HDR modes (the differentiator)
- Standard - direct upscale, what every other upscaler does.
- Refine (HDR) - log-compresses highlights before the model sees them, so super-whites don't get blown out by an upscaler that expects SDR input. This is the mode to use on float/HDR data, and it's why this node lives in an HDR pack.
- Normalize (HDR) - scales to a safe range before processing, for when your upstream values have drifted.
If you're upscaling ordinary SDR generations, Standard is right and you don't need to think about the rest. The HDR modes only matter if your input is actually carrying float range.
The inputs
- model_name - the 10-model menu above. RealESRGAN_x4plus for general use, 4x-UltraSharp when you want the community's sharpening taste, SUPIR when you're restoring something genuinely broken (and have the VRAM/patience).
- mode - Standard / Refine (HDR) / Normalize (HDR).
- tile_size (128–1024, default 512) - smaller = less VRAM, slower. Drop it on a 6GB card.
- tile_overlap (0–128, default 32) - the seam-fighting overlap between tiles. If you see tile boundaries, raise it.
- auto_download (default true) - fetches models on first use from the official sources (Real-ESRGAN GitHub releases, Kijai's pruned SUPIR). Leave on; the alternative is a manual hunt for the right .pth.
- unload_model (default false) - frees VRAM after the pass; useful when you upscale infrequently and want the memory back.
Outputs: image (upscaled) and info (a STRING with what ran and how).
The honest advice
For "more pixels" on already-sharp output, the KB's guidance applies: an ESRGAN model here is fine and instant, but plain Lanczos is also fine and free. Reach for this node when you want the HDR-preserving path or one stop for all your models - and remember that any upscaler that adds detail is rewriting the image, so keep recognizable faces out of the SUPIR pass unless that's the plan.
Install
Part of Radiance - ComfyUI Manager → search Radiance, or:
cd ComfyUI/custom_nodes
git clone https://github.com/fxtdstudios/radiance.git
cd radiance
pip install -r requirements.txt
Restart. Under FXTD Studios/Radiance/Image.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Input image to upscale. | |
| model_name | COMBO | RealESRGAN_x4plus | AI upscaling model. RealESRGAN_x4plus is recommended for general use. |
| mode | COMBO | Standard | Processing mode. 'Standard' = direct upscale. 'Refine (HDR)' = log-compression for highlights. 'Normalize (HDR)' = scales to safe range. |
| tile_size | INT | 512128–1024 | Tile size for processing. Smaller = less VRAM, slower. |
| tile_overlap | INT | 320–128 | Overlap between tiles to avoid seams. |
| auto_download | BOOLEAN | true | Automatically download models if not found. |
| unload_modelopt | BOOLEAN | false | Unload model from VRAM after processing to free memory. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | Upscaled image. |
| info | STRING | Information about the upscaling process. |