Image Scale Down By
Halve it (or quarter it) with one slider
- images
- IMAGE
Image Scale Down By (imageScaleDownBy) from the zsq_prompt pack is the laziest node in the resize family, and I mean that as a compliment. Instead of typing target dimensions, you give it a factor - 0.5, 0.25, whatever - and it halves (or quarters, or whatever-ies) your image while keeping the aspect ratio and center-cropping any remainder. One slider, done.
How it works
You feed it images and a scale_by factor between 0.01 and 1.0. It reads the current width and height, multiplies both by the factor, and calls the pack's imageScaleDown node with those computed dimensions and center crop forced on. That last part is the detail that matters: you never get a squished image out of this node, because it always crops to the target aspect before resizing. A 1216×832 image at 0.5 comes out 608×416, proportionally correct.
Internally it's the same PIL Lanczos resize as its sibling. The "By" version just trades absolute control for speed of use.
Inputs and outputs that matter
- images - the IMAGE batch.
- scale_by - the factor, 0.01 to 1.0 (it's a downscale node, so >1 isn't allowed - go use
imageResizeif you want to grow something). Default 0.5. - Output: IMAGE at the scaled-down size. Nothing else - no width/height INTs, just the image.
Where it fits
The use case is "I don't care about the exact number, just make it smaller." Preparing reference images for img2img or ControlNet is the obvious one: a 2048px render at 0.5 is a 1024 base, which is exactly SDXL's comfort zone. It's also nice when you're chaining a couple of downscales and don't want to track dimensions manually - 1.0 → 0.5 → 0.25 is a clean pipeline.
If you need a specific output size, use imageScaleDown instead. If you need aspect-locked resizing with a max cap, that's imageResize. This node is the quick-and-dirty middle child, and it's the one I'd reach for first when a workflow just needs a smaller image.
Installing zsq_prompt
Shared pack install, as always. ComfyUI Manager → search zsq_prompt → install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/windfancy/zsq_prompt
Restart ComfyUI. The pack's requirements.txt is heavy (transformers, opencv-python, opencv-contrib-python, scikit-image, timm, onnx, ultralytics) even though this node only needs PIL and torch - that's the price of a grab-bag pack. If Manager flags "conflicting with zsq_prompt" on a workflow, it's dependency-overlap noise; ignore it unless the pack is actually installed. No model files needed.
Gotchas
- The minimum is 0.01, so you can't scale up here. If you need to grow an image, this isn't the node.
- The resulting dimensions are computed from integer math, so they may not land on multiples of 8 - usually harmless for image work, occasionally annoying for latent work.
- It center-crops to keep proportions, which means you lose a little edge detail on non-matching aspect ratios. That's the trade-off, and it's a good one.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| scale_by | FLOAT | 0.500.01–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |