CascadeResize
The name's a lie — it resizes nothing, and that's exactly the point
- Width
- Height
CascadeResize doesn't touch a single pixel. It takes two integers and hands you back two different integers. That sounds useless until you've fought Stable Cascade for an afternoon and discovered the model has opinions about what resolutions you're allowed to use.
Stable Cascade is Stability's Würstchen-architecture model: a three-stage pipeline that compresses the latent space way harder than SDXL, then decompresses it back at the end. It was genuinely good at prompt adherence - community comparisons had it matching DALL-E 3 on some prompts - but it launched with a non-commercial license, got leapfrogged by the SD3 announcement, and mostly became a "what could have been" entry in the history books. If you're running it today, you're running it in a ComfyUI workflow that looks suspiciously like the one from the launch week.
And here's the thing people hit immediately: feed it a "normal" resolution and the output turns blurry, with duplicated outlines around edges. The famous fix is a one-number change. In a widely-upvoted r/comfyui thread, a user's renders were garbage at 1600×904 - the exact fix was dropping to 1600×896. The difference? 904 isn't a clean multiple of 16/64; 896 is. Stable Cascade's stages need dimensions on a safe step, and the community convention is multiples of 64.
That's the whole job of this node. You type the resolution you want - 1217×843, whatever - and it snaps to the nearest multiple of 64 that keeps your aspect ratio and your total pixel count intact. It's the "resolution presets" node that doesn't force you into a fixed list.
How it actually works
The implementation is a brute-force scan, and it's small enough to read in one sitting. It loops every width from 64 up to your input in steps of 64, does the same for height, and scores each candidate on two things: how far its total pixel count (W×H) is from yours, and how far its aspect ratio is from yours. It picks the closest pixel count, using aspect ratio to break ties.
The behavior that surprises people: it only snaps downward. The search range stops at the value you typed, so you'll never get an output larger than your inputs. Ask for 1100×800 and you'll get something ≤ that, not a round-up. And each dimension caps at 2048 - that's a hard max baked into the node.
The inputs and outputs
There are exactly two inputs, and both are INT:
- width - default 1024, range 64–2048
- height - default 1024, range 64–2048
That's it. No optional params, no model files, no VRAM. Outputs are Width and Height as INTs. Wire them into ComfyUI's core StableCascade_EmptyLatentImage node, which takes final-image dimensions on a step of 8 - your 64-multiple values fit it perfectly.
Installing it
ComfyUI Manager: search "StableCascadeResizer" and install. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/angeloshredder/StableCascadeResizer
Then restart ComfyUI. There's no requirements.txt, no torch/torchvision dance, no model downloads - it's pure Python standard library. It's the rare custom node that literally cannot break your environment. It registers under the image category as CascadeResize.
Where you'll trip
- Extreme aspect ratios. It preserves total pixels rather than rounding to a tidy megapixel, so a very wide request can snap to a ratio a few percent off. Read the two numbers it outputs before you hit Queue.
- The 2048 ceiling. Want 2500px wide? This node won't give it to you.
- Display-name quirk: the source maps a display name that doesn't match the class, so the menu just shows "CascadeResize". Harmless, but it explains why the docs and the UI don't quite line up.
Honest verdict: if you're on Flux or SDXL you don't need this. It exists because early Cascade workflows offered a tiny preset list and people wanted arbitrary sizes without the blur. It's a 100-line utility for a niche model - but when you're in that niche, it's exactly the tool that saves you from the 904-vs-896 trap.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 102464–2048 | — |
| height | INT | 102464–2048 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| Width | INT | — |
| Height | INT | — |