ComfyUI Node

Scaler | Sides Unlinked

The stretchy resize rule — and where it bites

By wmpmiles·Created 2 years ago·Updated about a year ago· 5
Scaler | Sides Unlinked
    • scaler
    width_multiplier1.000
    height_multiplier1.000

    Scaler | Sides Unlinked is the pack's one resize rule that can warp your image, and that's not a bug - it's the entire feature. Where its sibling Scaler | Side multiplies both dimensions by a single factor, this one gives width and height each their own multiplier. Same rule applies as with every scaler in wmpmiles/comfyui-some-image-processing-stuff: the node doesn't resize anything itself, it emits a sizing recipe (a SCALER value) that you feed into Resample Image, Resample Mask, or Resample Latent - or Mask-Crop Inpaint | Pre - alongside a resampler that picks the interpolation method.

    Why you'd actually use it

    Anything non-uniform, you use this. The classic case is aspect-ratio correction: you've got a 1024x576 render and want a squarer 1024x768-ish result for a specific canvas or print - bump height_multiplier to ~1.33 and leave width at 1.0. Same trick fixes a letterboxed or oversized dimension without knowing the exact target pixel count; the multiplier is self-relativizing to whatever the input happens to be. It's also handy for stretching latents into a training-friendly shape before a Resample Latent, or nudging an inpainting crop's bounding box toward a resolution your model likes.

    The honest warning up front: a multiplier other than 1.0 on one side is a stretch, and a stretch is distortion. Faces squish, circles become ovals, text blurs in one axis. If you just want a bigger or smaller image with the aspect preserved, you want Scaler | Side (or Scaler | Area / Megapixels for area-based math) - not this node. Reach for Sides Unlinked when you deliberately want to change shape, not accidentally.

    What you actually set

    • width_multiplier (FLOAT, default 1.0, min 0.001, step 0.001) - multiplies the horizontal size only.
    • height_multiplier (FLOAT, default 1.0, min 0.001, step 0.001) - multiplies the vertical size only.

    The output is one scaler value (type SCALER) feeding the scaler socket of a Resample node. Pair it with a resampler - Lanczos if you're upscaling and want it to look decent, nearest-neighbor if you're preserving hard edges.

    One fine-print detail worth knowing if you're precise: unlike Scaler | Side, whose source rounds the scaled size to whole pixels, this node's source multiplies straight through without rounding. Feed it 1.5 and a 512-pixel side becomes 768.0 as a float; the resampler then silently truncates toward an integer size. Harmless at whole multipliers, mildly surprising if you're doing exact-math nerdery at 0.001 steps.

    Install

    Same as the rest of the pack. Via ComfyUI Manager, search for "Some Image Processing Stuff" - it's in the Comfy Registry. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/wmpmiles/comfyui-some-image-processing-stuff
    

    Restart ComfyUI. No model downloads, no declared pip dependencies (torch plus a scipy import that ships with ComfyUI anyway) - it's a lightweight, source-readable pack, MIT-licensed.

    Where people get burned

    • The distortion trap, again. The most common mistake is grabbing this node for a plain upscale and wondering why everything looks like it was hit with a rolling pin. Check your multipliers: anything not 1.0 on exactly one axis is intentional squish.
    • The scaler-only wiring error. It connects to this pack's scaler sockets only; wire it into an IMAGE input and you get a type mismatch. It must sit next to a Resample Image / Mask / Latent node.
    • Silent aspect drift in batches. If you bake a 1.1 width multiplier into a workflow, every downstream model-native resolution changes slightly. Fine deliberately; a slow, invisible creeping squish if you forget it's there.
    Categoryresampling/scaler

    Inputs (2)

    NameTypeDefaultDescription
    width_multiplierFLOAT1.000
    height_multiplierFLOAT1.000

    Outputs (1)

    NameTypeDescription
    scalerSCALER