Brekel Resolution Selector
Stop googling SDXL resolution presets
- width
- height
- num_frames
Every time you start an SDXL workflow you have to remember whether "portrait 4:5" is 896×1152 or 832×1216, and every time you switch to Flux you throw that out and learn a new table. This node is just a dropdown of the resolutions everyone actually uses - Flux/Qwen, SDXL, SD 1.5, and video - that spits out width and height as integers. Nothing more, nothing less. If you've ever typed 896×1152 into an Empty Latent by hand, you know why it exists.
It's a quality-of-life node, not a creative one. No image processing, no model loading. You pick a preset, optionally flip the orientation, set a frame count, and you get three integers you can wire into whatever wants them.
How it works
The node has a hardcoded table of presets (19 of them), grouped by the model family they're tuned for:
- Flux/Qwen - square 1024×1024 plus 3:4, 4:3, and 16:9 variants
- SDXL - the full spread from square through ultrawide 21:9
- SD 1.5 - 512×512, 512×768, 768×512
- Video - 480p, 540p, 720p, 1080p at 16:9
resolution picks the base pair, then orientation (Landscape/Portrait) swaps width and height if the preset's natural orientation disagrees with what you asked for. Squares stay put. The third input, num_frames, is just passed straight through - it exists so video workflows have a single home for their frame count instead of a separate node.
The inputs that matter
- resolution - the preset dropdown. Start from your model family: Flux/Qwen presets are what those models were trained at, SDXL presets are the classic ratios.
- orientation - the swap switch. Worth remembering it modifies the preset rather than listing every orientation separately - that's why there are 19 options instead of 38.
- num_frames - frames for video, default 121 (a reasonable short-clip default for LTX and friends). Ignore it for stills.
The outputs
Three integers: width, height, and num_frames. Wire width and height into an Empty Latent (or Empty SD3 Latent, or whatever your model's latent node is called), and num_frames into your video sampler. That's the entire integration surface - no batched outputs, no conditioning, just numbers.
Installing it
Part of the ComfyUI-Brekel pack. ComfyUI Manager → search "Brekel" → install → restart, or:
cd ComfyUI/custom_nodes/
git clone https://github.com/Brekel/ComfyUI-Brekel.git
No dependencies for this node; the pack's requirements.txt only matters for the LLM Prompt Enhancer. It sits in the Brekel category.
Where people get burned
The short answer: you probably don't need it, and that's fine - this is a convenience you reach for on the days you're switching between model families. Two honest caveats. First, the preset list is fixed in code: there's no way to add your own custom resolution, so if you live in an oddball aspect ratio (say, 9:16 for short-form video), this node won't do it - you'll still be typing numbers by hand. Second, remember the aspect ratio rule the presets encode: on SDXL the native training resolutions cluster around 1024 total pixels, on Flux/Qwen it's the full 1024×1024, and on SD 1.5 you're at 512 - pick from the wrong family's section and you're effectively upscaling at generation time, which costs speed for no quality gain.
If it does fit your workflow, it's the kind of node that quietly removes a recurring little chore. That's the whole job, and it does it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| resolution | COMBO | Video 480p (832 x 480) | Select a common resolution preset for images or video. |
| orientation | COMBO | Landscape | Choose the orientation. This will swap width and height if needed. |
| num_frames | INT | 1211–10000 | Number of frames to generate. Primarily for video workflows. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |
| num_frames | INT | — |