Aspect Ratio (SDXL)
The Nine SDXL Resolutions, In One Dropdown
- width
- height
SDXL is picky about aspect ratio. It was trained at roughly 1024×1024, and the moment you drag an Empty Latent to some arbitrary size like 1000×1400, you're off the training distribution and you get stretched limbs and weird crops. Aspect Ratio (SDXL) exists to keep you honest: one dropdown with the nine native SDXL resolutions, two integer outputs - width and height - that you wire straight into an Empty Latent. That's the whole job, and it's worth it because it's the difference between output that looks like SDXL and output that looks like a mutation.
The nine options
The dropdown maps 1:1 to the resolutions SDXL actually knows:
| Label | Pixels | |---|---| | 1:1 | 1024×1024 | | 2:3 | 832×1216 | | 3:4 | 896×1152 | | 16:9 | 1344×768 | | 9:16 | 768×1344 | | 3:2 | 1216×832 | | 4:3 | 1152×896 | | 9:21 | 640×1536 | | 21:9 | 1536×640 |
Those are the SDXL-native sizes and their rotations - the same list every SDXL workflow ends up memorizing. The node just makes the memory optional. Pick the label, get clean width/height integers on the output, plug them into an Empty Latent (or a resolution node), done.
How it works and why you'd use it
Mechanically it's a lookup table - the node maps each label to a (width, height) pair and returns them as two INT outputs. But the point is a bit deeper: because width and height come out as wires, you can feed them anywhere - into an Empty Latent's dimensions, into a text prompt via a primitive, into a size-calc node - without retyping numbers in several places. Change the dropdown and every consumer updates. That's the same "one source of truth" pattern the rest of the RvTools settings nodes push, and for aspect ratio it genuinely prevents a whole class of bad-output complaints (the classic "why are my people stretched?" posts are almost always off-native resolutions).
Where it differs from Aspect Ratio (All)
This node is deliberately narrow: nine SDXL-only presets, plus nothing else. The pack also ships Aspect Ratio (All) with 33 presets covering Flux, HiDream, and Qwen-friendly sizes alongside the SDXL ones. If you only run SDXL, this one is the cleaner dropdown; if you switch models, the All version keeps you from re-adding nodes when you jump to Flux.
Installing it
Part of ComfyUI-RvTools_v2 - Manager → search "ComfyUI-RvTools_v2", or:
cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2
# restart ComfyUI
No dependencies beyond ComfyUI's own, and no model files.
Gotchas
The only real trap is treating it as universal - these nine sizes are for SDXL and its finetunes (Illustrious, Pony, NoobAI, WAI all inherit them). Flux and other architectures want different sizes, which is exactly what the All version's preset names (768×1280 Flux, 1024×2048 Qwen) are flagging. And the pack-level caveat applies: RvTools_v2 is unmaintained in favor of ComfyUI_Eclipse, and the [RvTools] node-name suffix is what old shared workflows trip over in Manager.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| resolution | COMBO | 9 options: 640x1536 (9:21), 768x1344 (9:16), 832x1216 (2:3), 896x1152 (3:4), 1024x1024 (1:1), 1152x896 (4:3), +3 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |