Nodes/ComfyUI-Pixaroma/Resize Crop Pixaroma
ComfyUI Node

Resize Crop Pixaroma

Force any image to an exact size, no stretching, no bars

By pixaroma·Created 5 months ago·Updated 4 days ago· 357
Resize Crop Pixaroma
  • image
  • mask
  • image
  • mask
  • width
  • height
width1024
height1024

Video latents don't negotiate. If your pipeline needs frames at exactly 704×1280, every frame has to be exactly 704×1280 - not close, not "about," exact. Resize Crop Pixaroma is the blunt instrument for that: it scales the image to completely fill your target width and height, then crops the overflow away from the center, so the result is always precisely the size you set. No stretching, no letterboxing, no aspect-ratio surprises. Small images scale up to fill too, so it's equally happy downscaling a photo and upscaling a thumbnail.

How it works

The mechanism is crop-to-fill, plain and predictable: scale to cover the box, crop the excess from the center. That's the whole node, and its predictability is the point - unlike a "fit inside" resize, the output can never come out at some other aspect ratio that then breaks your latent or your encoder.

  • image - what you're resizing. Works on a single image, a batch, or video frames.
  • width / height - the target size, type them directly or wire them in from another node (a Resolution Pixaroma, a WH node, a Number node - anything producing INTs). The arrow stepping moves by 8, matching the pack's other size nodes and the general rule that diffusion and video models are happiest on multiples of 8; you can still type any exact value.
  • mask - optional, cropped the same way to the same size, with crisp nearest-neighbor edges so your mask stays hard and useful.

Outputs are image, mask (blank when nothing's wired in), and width / height echoing what you asked for. If you're feeding an empty latent, wire those two straight in and everything lines up.

Where you'll actually use it

Two classic spots. Video and image-to-video: forcing every frame to a fixed model-friendly size like 512×896 or 704×1280 before it hits the latent. And batch work: when mixed-source images need to come out uniform for a grid, an animation, or a comparison, this is the node that guarantees it. It also plays well with the pack's Load Video node - resize frames to a consistent canvas as they come in.

Install

Part of the Pixaroma pack:

cd ComfyUI/custom_nodes
git clone https://github.com/pixaroma/ComfyUI-Pixaroma

or ComfyUI Manager → Pixaroma → install, restart. No dependencies; works in both the classic and the new node interface. It's a utility node and it knows it - there's nothing clever to misconfigure beyond the two numbers. If it ever looks off after a pack update, hard-refresh the browser (Ctrl+Shift+R) before anything else.

Category👑 Pixaroma/✂️ Resize & Crop

Inputs (4)

NameTypeDefaultDescription
imageIMAGEThe image (or batch / video frames) to crop to size.
widthINT10248–16384Target width in pixels. Type a value or wire a number from another node. The arrows step by 8 (AI/video sizes are usually multiples of 8) but you can type any value.
heightINT10248–16384Target height in pixels. Type a value or wire a number from another node. The arrows step by 8 but you can type any value.
maskoptMASKOptional mask. Cropped to the same width and height as the image, with crisp (nearest) edges.

Outputs (4)

NameTypeDescription
imageIMAGEThe cropped image, exactly width x height pixels.
maskMASKThe cropped mask, matching the output image size (blank when no mask is wired in).
widthINTThe output width in pixels.
heightINTThe output height in pixels.