ComfyUI Node

Resize Down

Downscale by a divisor instead of a target size

By andygill·Created 2 years ago·Updated 6 months ago· 1
Resize Down
  • image
  • IMAGE
resize8
modearea
modulo1

Most resize nodes in ComfyUI make you name a target width and height. Resize Down thinks in divisors: you say "divide by 8" and it divides. Small idea, but it's the right one for depth and 3D pipelines where you want exact, predictable scale factors - and it throws in a modulo snap so results land on sizes your downstream nodes actually like.

Here's how it works. It divides both dimensions by your resize factor, then snaps each one down to the nearest multiple of modulo. The resize input is technically a float, but it's used as an integer divisor, so keep it whole - 8, not 8.5. Resampling uses whichever mode you pick: bilinear, nearest, bicubic, or area, with area as the default. That default is the right call - area averaging is the standard anti-aliased way to shrink an image, and it's what you want for photographs.

Inputs: image, resize (1..32, default 8), mode, and modulo (1..16, default 1). Output is an IMAGE. A nice touch: after it runs, the node prints the resulting output height and width right on the node face, so you can see exactly what your modulo math produced instead of guessing.

Why you'd care: the 3D and stereo workflows this pack targets routinely need dimensions divisible by 8 (or by 2, for side-by-side splitting), and VAE-compatible resolutions are divisibility-sensitive too. One ResizeDown set to modulo 8 guarantees a clean size with no mental arithmetic. It's also just a fast way to make a quick preview or thumbnail of something huge.

A couple of practical notes. Area mode is great for photographic downscaling; reach for nearest when you're shrinking masks or depth maps where you want hard edges preserved, not averaged into mush. The modulo snap only rounds down - 1001 ÷ 8 with modulo 8 gives you 992, not 1000. And don't set resize higher than the image's own dimension, or you'll push it toward a degenerate 1×1 smear (or an error). Keep the factor sensible relative to the input.

It's from andygill's small 3D-visualization pack - the same developer behind ComfyUI-3D-Pack-Lite and a Hunyuan3D wrapper, so the 3D-friendliness is not accidental. Install via ComfyUI Manager (search comfyui-sunflower-nodes) and restart, or clone it:

cd ComfyUI/custom_nodes
git clone https://github.com/andygill/comfyui-sunflower-nodes

Then restart. No models, no pip installs - it's a thin numpy/torch wrapper. Caveat: the repo has been quiet since spring 2025 and is currently offline, so if the clone 404s, grab an archived copy and drop it in custom_nodes.

Categoryimage/transform

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
resizeFLOAT81–32
modeCOMBOarea4 options: bilinear, nearest, bicubic, area
moduloINT11–16

Outputs (1)

NameTypeDescription
IMAGEIMAGE