Vertical Resolution Selector
What Vertical Resolution Selector is actually for
- scanlines
Here's the whole node: you pick something like 1080p from a list of 20 values and it hands that same string back out the other side. That's it. No math, no tensor, no resizing. If you stopped reading there you'd be forgiven - but the reason it exists is that a resolution you only get to type once is a resolution your graph can't disagree with itself about.
What it actually is
The pack's author built ResolutionHelper because ComfyUI's existing resolution pickers wanted width/height pairs or a megapixel float, and they wanted to think in scanlines - 720p, 1080p, the way displays are described. That thinking has one structural consequence: the numbers live in a dropdown, and if you have three nodes that all need the same vertical target, you're now maintaining three dropdowns.
This node is the one place to set it. You pick the tier in the selector, then link its output into the scanlines input of the pack's calculating nodes - Resolution from Scanlines, Resolution from Dimensions, or Resolution Calculator. Change one dropdown, all three passes re-plan together.
Why "720p" isn't 1280x720
This is the part that surprises people, and it's the author's own framing: a tier is a pixel budget, not a shape. 720p means "720p's worth of pixels," spread across whatever aspect ratio you chose. The math downstream is pixels = height² × 16/9, so:
720p≈ 0.88 MP - 1280x704 at 16:9 with the default rounding, 960x960 at 1:11080p≈ 1.98 MP - 1920x1056 at 16:9, 1440x1440 at 1:11440p≈ 3.52 MP - 2560x1440 at 16:9
That's the whole trick, and it's also why the pack exists at all: 16:10 is one of the aspect ratios you get here, and most other resolution nodes skip it.
Inputs and outputs that matter
One required input, scanlines - an enum of 20 presets: 240p, 360p, 480p, 544p, 640p, 720p, 768p, 864p, 1024p, 1080p, 1200p, 1440p, 1600p, 1800p, 2160p, 2400p, 2880p, 3200p, 3456p, 4320p.
One output, also called scanlines, typed as that same list. In current ComfyUI frontends you drag it onto a scanlines widget and it converts to a socket; the option lists are identical on both ends, so the values line up. If your frontend refuses the link, don't fight it - set the dropdowns by hand and treat this node as a sticky note that happens to be executable.
Note what it is not: it outputs a string, not dimensions. Real width and height come from Resolution from Scanlines. And it can only emit one of those 20 presets - no custom value field, so "1100p because it fits my VRAM" isn't a thing here.
Installing it
Nothing to download. No model files, no API key, and - verified in the pack's own pyproject.toml - zero dependencies, which means no pip install step and no requirements file waiting to break on a torch version.
ComfyUI Manager → search ResolutionHelper → install, then restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/AlfredSartan572/ComfyUI-ResolutionHelper
Restart ComfyUI and the nodes show up under Resolution Tools.
Where people get burned
The multiple input on the downstream nodes will eat pixels. Every calculating node floors width and height down to a multiple, and the default is 32. So 1080p + 16:9 comes out as 1920x1056, and 720p + 16:9 as 1280x704 - not 720. The author's tooltip on that field is the actual guidance: MiniMaxH3=32, Illustrious/Pony=8, other=16. For SDXL-family checkpoints set 8 and you'll get the round numbers back.
Pick a tier that matches your model, not your monitor. SDXL and Illustrious want roughly 1024-class buckets; most 2026 models (Z-Image, Flux 2 Klein, Anima) live in a 1–2 MP band that 864p to 1080p sits inside nicely. 1440p is 3.5 MP and lands past that band for most of them, where the failure mode is soft degradation - you'll wonder why faces got mushy. HiDream-O1 is the exception that insists on 2048². On SD 1.5, you want 480p or 544p, not 1024p.
Node missing after install? Because the pack has no dependencies, a no-show is essentially always a path problem or a missing restart - the folder must be ComfyUI/custom_nodes/ComfyUI-ResolutionHelper with __init__.py at its root. Check the console output at startup; ComfyUI prints import errors there instead of failing loudly in the UI.
Zero community footprint. Nobody on reddit is talking about this pack or this author. For a 350-line file of math.floor calls you can read in five minutes that's fine - just know that you're the QA department.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| scanlines | COMBO | 20 options: 240p, 360p, 480p, 544p, 640p, 720p, +14 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| scanlines | 240p,360p,480p,544p,640p,720p,768p,864p,1024p,1080p,1200p,1440p,1600p,1800p,2160p,2400p,2880p,3200p,3456p,4320p | — |