Ard 4Latent Upscale
Four latents, one scale factor, zero math on your part
- latent1
- latent2
- latent3
- latent4
- LATENT
- LATENT
- LATENT
- LATENT
If you're doing the four-tile thing - crop a latent into quadrants, detail each one, stitch back - then Ard 4Latent Upscale is the node that upscales all four tiles in one go. What it does under the hood is embarrassingly simple: it runs ComfyUI's standard common_upscale on each of the four latent inputs, scaled by a single scale_by factor, and hands back four latents. That's it. It's literally four built-in LatentUpscaleBy nodes wearing one trench coat, with the minor convenience that you set the factor once instead of four times.
The inputs are latent1 through latent4, plus upscale_method (nearest-exact, bilinear, area, bicubic, bislerp) and scale_by (default 1.5, range 0.5 to 4). One detail that trips people reading the source: the node defines upscale_method four times, once next to each latent, but the UI surfaces a single shared dropdown - so all four tiles get the same method whether you like it or not. Fine in practice, just don't hunt for a per-tile method selector.
Outputs are four LATENTs, one per input, in the same order. Wire them into four KSamplers (at low denoise, to add the detail the upscale only made room for) or into the pack's Ard 4Vae Decode.
Now the honest compare-and-contrast with its sibling, Ard Latent Upscale By. That node takes one latent, rounds the result up to a clean multiple of divx, and outputs the new width and height as integers. This node does none of that - no dimension rounding, no width/height outputs, and a tighter scale_by ceiling of 4. So if your downstream needs to know the resulting size (like feeding an empty latent or a control box), this node forces you to compute it yourself, and you might genuinely be better off with four instances of the other node or the built-in. The whole appeal here is just tidiness on the canvas.
Gotchas: keep scale_by sane (1.5–2× for a detail pass; past that you're making mush for the sampler to clean up), and remember the tiles should all be the same size going in - the node won't resize them to match each other. Also note it operates in latent space, so the 8×-per-side compression is still in effect; you're upscaling the latent, not the final pixels.
Install is the standard pack route - ComfyUI Manager → search ComfyUI-Ardenius, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ArdeniusAI/ComfyUI-Ardenius
then restart ComfyUI. Pack-wide notes apply as usual: civitai and moviepy install with the pack, and a single console import error at startup is the Save Image node wanting comfyui_controlnet_aux - harmless to the rest of the pack.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| latent1 | LATENT | — | |
| upscale_method | COMBO | 5 options: nearest-exact, bilinear, area, bicubic, bislerp | |
| latent2 | LATENT | — | |
| latent3 | LATENT | — | |
| latent4 | LATENT | — | |
| scale_by | FLOAT | 1.500.5–4 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |
| LATENT | LATENT | — |
| LATENT | LATENT | — |
| LATENT | LATENT | — |