Resolution Presets (Advanced)
Same resolution presets, plus a scale knob that keeps the math divisible by 8
- ratio
- width
- height
- model_name
- total_pixels
Resolution Presets (Advanced) is the same cheat-sheet node as its basic sibling - pick a model, pick an aspect ratio, get the native dimensions - with one extra knob: a scale multiplier that lets you nudge the resolution up or down and still get sane, model-friendly numbers out the other end. Same pack, same four model families (Qwen Image, SDXL, Flux, SD 1.5), same trained-ratio tables. The difference is what you can do with them.
What the scale multiplier actually does
The base preset is the model's native resolution, which is where you should usually stay. But sometimes you want a bit more headroom - a portrait at 1.25x, a faster draft pass at 0.5x - and that's what scale_multiplier is for. It's a slider from 0.25x to 4.0x (step 0.05, default 1.0). The node multiplies the base width and height by that factor, then rounds both down to the nearest multiple of 8, because diffusion models are happiest when their latent dimensions divide cleanly.
That rounding matters, and it's worth knowing which way it goes: down, always. SDXL at 16:9 is 1344x768; at 0.5x you get 672x384, not 673. The reason is the model's latent space - a latent image is a downscaled 8x8 grid of the pixels, so odd dimensions silently chop off data.
The inputs and outputs that matter
model- Qwen Image, SDXL, Flux, or SD 1.5.aspect_ratio- the ratio you want, e.g. "16:9" or "3:4".scale_multiplier- the one new thing, a 0.25–4.0 slider. Most people live between 0.5 and 1.5.
Outputs: ratio and model_name (STRING), width and height (INT), and a bonus total_pixels (INT) - literally width × height. Wire width/height into Empty Latent Image as usual. The total_pixels output is genuinely useful for VRAM budgeting: if your card comfortably does ~1MP, the number popping out at 2.5MP is your warning before you hit Queue and watch the OOM error.
Where people get burned
Two things, and neither is fatal.
First, the same trap as the basic node: the aspect ratio dropdown is the union across all four models, so you can select a ratio the model doesn't actually have (SD 1.5 doesn't do 21:9). The node throws an error at queue time listing the valid options - annoying but explicit, and now you know.
Second, "multiple of 8" is not "multiple of 64." Flux officially wants dimensions divisible by 64, and the presets all are - but scale an SDXL/Flux preset to an arbitrary multiplier and you can land on something that's a multiple of 8 yet not of 64 (e.g. 1.5x of 1344x768 gives 2016x1152, and 2016 doesn't divide by 64). In practice ComfyUI and most Flux checkpoints shrug and render fine; it's only worth caring about if you're chasing maximum coherence.
The bigger conceptual trap: this scales, it doesn't hires-fix. Cranking Flux to 4x gives you a 4096-wide generation at a resolution the model wasn't trained at - expect soft degradation, tiling, and a meltdown on VRAM. The community-standard approach is still: generate at native resolution, then upscale with a proper second pass. Use the multiplier for small headroom tweaks, not as a cheap way to fake an upscale.
Installing it
It ships in the same pack as the basic node - CypherNaught-0x/ComfyUI_resolution_presets - so if you already have that one, this node is already sitting next to it. Otherwise:
cd ComfyUI/custom_nodes
git clone https://github.com/CypherNaught-0x/ComfyUI_resolution_presets
then restart ComfyUI. ComfyUI Manager can also find it by searching "ComfyUI_resolution_presets", though the pack is new enough that a manual clone is the most reliable route. Zero dependencies, zero model downloads, pure Python math.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | Qwen Image | 4 options: Qwen Image, SDXL, Flux, SD 1.5 |
| aspect_ratio | COMBO | 1:1 | 11 options: 9:21, 1:2, 9:16, 2:3, 3:4, 1:1, +5 |
| scale_multiplier | FLOAT | 1.000.25–4 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| ratio | STRING | — |
| width | INT | — |
| height | INT | — |
| model_name | STRING | — |
| total_pixels | INT | — |