Fat Mex Upscaler
Bigger images, one node, and the 4x-then-halve trick
- image
- image
Upscaling is three different jobs wearing one name, and this node does the first two. It's the classic UpscaleModelLoader + ImageUpscaleWithModel + ImageScale chain in a single box: load an upscale model, run it over your image with tiled processing so it doesn't OOM, then optionally resize the result to a target. No diffusion, no ControlNet tile, no 10-minute wait - this is the "more pixels" family, the ESRGAN-style pass that sharpens and enlarges what's already there.
That matters because the most common mistake is reaching for the wrong tool: if you need the model to invent detail that isn't there (rescuing a soft or damaged image), you want the generative/restoration lineage (SUPIR, SeedVR2) - not this. If your source is already sharp and you just need it bigger for print or a closer crop, this is the correct, fast, free answer.
How it works
- Loads your upscale model from
ComfyUI/models/upscale_models/via Spandrel, which understands most ESRGAN-family.pthfiles. Models are cached, so the second run is quick. - Tiled upscaling - the image is processed in 512px tiles with 32px overlap. This is what lets it handle images too big for one shot. If you hit an out-of-memory error, it automatically halves the tile size and retries, down to a floor of 128px, before giving up. Nice touch that usually just works.
- Optional final resize - where the good tricks live:
rescale_factor- scale down after upscaling. A 4x model at 0.5 rescale = effective 2x, which is a genuinely clever way to get the model's quality boost at a smaller size.max_dimension- cap the longest side (0 = no cap), preserving aspect ratio. Handy when you upscale a 1024 image 4x and need it to fit a 4K or social-size target.resize_method- lanczos default; bicubic/bilinear/nearest-exact are there if you prefer.
The one required input is image; output is image. That's the whole node.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/FatMex/ComfyUI-FatMex-Nodes.git FatMex-Nodes
pip install -r FatMex-Nodes/requirements.txt
Or ComfyUI Manager → search "Fat Mex Nodes" → Install → restart.
Then drop an upscale model into ComfyUI/models/upscale_models/. The community favorites for general use are 4x-UltraSharp and Remacri; for faces specifically, 4xFaceUpDAT (the same model the pack's face swap uses). These come from the usual upscale-model repos - the pack doesn't bundle them.
Where people get burned
- No model = no upscale. The
upscale_modeldropdown shows(no models found)when yourupscale_models/folder is empty, and the node silently returns your original image with a warning in the console. It doesn't error - it just does nothing. Install a.pthand it springs to life. - Expecting detail invention. Run it on a blurry face and you'll get a larger blurry face. This is not restoration; pair it with the Inpaint Sampler or a face-detail pass if you need the model to rebuild detail (and keep recognizable faces out of generative restoration - they get rewritten into plausible strangers, per the KB).
rescale_factoronly goes down (0.1–1.0). You don't use it to upscale further; the upscale model's own scale factor does that.- Big batches on little GPUs. Tiled processing helps a lot, but upscaling a batch of 4K images still takes memory. The auto-tile-halving saves you from the hard crash, not from the wait.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Image to upscale. | |
| upscale_modelopt | COMBO | (no models found) | Upscale model to use. Place .pth files in ComfyUI/models/upscale_models/. |
| rescale_factoropt | FLOAT | 1.000.1–1 | Scale down after upscaling. 1.0 = keep full size, 0.5 = half the upscaled size. E.g. 4x model + 0.5 rescale = effective 2x. |
| resize_methodopt | COMBO | lanczos | Interpolation method for final resize. |
| max_dimensionopt | INT | 00–16384 | Cap the longest side to this value (0 = no cap). Preserves aspect ratio. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |