Nodes/ComfyUI Easy Use/Image Scale Down
ComfyUI Node Runs on cloud

Image Scale Down

Shrink an image to an exact size, with optional center crop

By yolain·Created 3 years ago·Updated 12 days ago· 2,647
Image Scale Down
  • images
  • IMAGE
width512
height512
crop

Sometimes you just need an image smaller. Not "upscaled with a model," not "resized to a multiple of 8 for latent math" - genuinely scaled down to a size you specify. easy imageScaleDown does that one job cleanly: give it images and a target width and height, get a smaller image out.

It's an unglamorous utility, but a workflow full of these little QoL nodes is exactly what the Easy-Use pack is for. You reach for it constantly once you have it: making a preview thumbnail, downsizing a huge input before it hits a slow node, fitting an image to a fixed frame before compositing.

How it works

Standard image resample down to the dimensions you set. The only real decision is what happens when the target aspect ratio doesn't match the source - that's the crop control.

The inputs and outputs that matter

  • images - the image (or batch) to shrink.
  • width / height (both default 512) - the target size in pixels. Set them to whatever you actually want out.
  • crop - disabled scales to fit and will squash the aspect ratio if width:height doesn't match the source; center crops from the middle to hit the exact dimensions without distortion. If you care about not stretching faces, use center.

Output is a single IMAGE. Wire it wherever you'd use any image.

How to install it

ComfyUI Manager: search ComfyUI-Easy-Use, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use

then install.bat / pip install -r requirements.txt, restart. No models, no dependencies - this is a pure pixel op.

Common issues & troubleshooting

Your image looks stretched. That's crop: disabled doing exactly what it says - forcing the source into your width×height regardless of aspect ratio. Switch to center if you'd rather crop than squash.

It's not for enlarging. The name is honest: this scales down. If you feed it a target larger than the source it'll technically upsample, but you'll just get a soft, blurry result - there's no detail-adding model here. For actual upscaling you want a model-based upscaler (ESRGAN-family, or a latent hires pass), not this node. Use imageScaleDown to reduce, and a real upscaler to grow.

Downscaling before a detailer throws off your masks. If this sits upstream of a face-detailer or mask op, remember the coordinates change with the size. Scale first, then detect - not the other way around.

Handy as a VRAM/speed pressure valve. A common real use: an input image is enormous (a phone photo, a 4K render), and every downstream node chokes on it. Drop easy imageScaleDown right after the load to bring it to a sane working size, do your work, and upscale at the end if you need the resolution back. Processing at the size you actually need instead of the size you happened to get is one of the easiest speedups there is.

Feeding IP-Adapter or CLIP vision. Those encoders resize internally anyway, so a giant reference image is wasted memory. Scaling references down to something modest before an adapter node costs you nothing in quality and saves the encode some work.

CategoryEasyUse/Image

Inputs (4)

NameTypeDefaultDescription
imagesIMAGE
widthINT5121–16384
heightINT5121–16384
cropCOMBO2 options: disabled, center

Outputs (1)

NameTypeDescription
IMAGEIMAGE