Nodes/Enigmatic Nodes/Video Resolution Picker
ComfyUI Node

Video Resolution Picker

Stop doing the aspect-ratio math

By enigmatice·Created 2 months ago·Updated 7 days ago· 1
Video Resolution Picker
    • width
    • height
    • label
    aspect_ratio16:9
    longest_side1280

    Every video-generation node asks you for a width and a height, and every video workflow eventually needs you to compute one from the other. "I want 1280 on the long side at 16:9" - that's 720, but you shouldn't have to reach for a calculator (or a mental-math breakdown) every time you change it. Video Resolution Picker takes an aspect ratio and a longest side, does the multiplication, snaps the result to a model-friendly grid, and hands you width, height, and a readable label. One node, three wires, done.

    It's the simplest node in Enigmatic Nodes, a small utility pack by the individual dev enigmatice. Pure local Python, no models, no downloads. It's the kind of plumbing node the ComfyUI ecosystem is full of - and the kind that quietly removes a repetitive annoyance from a graph you build constantly.

    How it works

    The mechanism is three lines of math, which is exactly what you want from a node like this. It supports three aspect ratios - 1:1, 16:9, and 9:16 - and treats longest_side as the longer dimension. The shorter side is computed as longest_side times the ratio, then floored down to a multiple of 8. So 16:9 at 1280 gives you 1280×720, 9:16 at 1080 gives you 608×1080, and 1:1 just squares it. The label output formats the result as "1280 x 720 (16:9)", which is handy for a display node or a filename.

    The multiple-of-8 snapping is the part that actually matters. Video models are picky about resolution grids, and a bare 1280 * 9 / 16 can come out non-divisible. The 8-step snap keeps most pipelines happy without you thinking about it.

    The inputs that matter

    • aspect_ratio - 1:1, 16:9, or 9:16. That's the whole menu, which is worth knowing up front: if your model needs something exotic like 4:3, this isn't the node for it.
    • longest_side (default 1280, step 8) - the longer dimension; the shorter is calculated.

    The outputs

    width and height as INTs, plus label as a STRING - wire the ints into whatever video node takes resolution, and drop the label on a display or into a filename.

    Installing it

    Same for every node in the pack:

    • ComfyUI Manager - search Enigmatic Nodes, install, restart.
    • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/enigmatice/comfyui-enigmatic-nodes, then restart.

    No model files to fetch. The pack declares torch, numpy, scipy, Pillow, opencv-python; ComfyUI core already ships all but opencv-python (which you almost certainly have from another pack), and Manager installs deps for you.

    Common issues

    • My model rejects the resolution. The 8-step snap is a generic safety net, but different models have different hard rules - Wan wants multiples of 16, and newer LTX models want width and height divisible by 32. If the model errors on the output, this node's 8-grid isn't the grid you need; round up or use a model-specific picker. It's a convenience node, not a compatibility guarantee.
    • I need 4:3 or ultrawide. Not supported - the three ratios are the three ratios. If you need something else, do the division yourself or swap in a node with a ratio input.

    One honest take: this is the least essential node in the pack. The mask and trim nodes solve problems you can't trivially do elsewhere; this one just saves you mental math, which is nice but not life-changing. Still, if you're building a video-gen template you'll reuse, wiring this in means the resolution is defined in one obvious place instead of scattered across widgets - and that's a real quality-of-life win. It's a young pack with no community footprint yet, but this node does exactly what it says and nothing more.

    Categoryenigmatic

    Inputs (2)

    NameTypeDefaultDescription
    aspect_ratioCOMBO16:93 options: 1:1, 16:9, 9:16
    longest_sideINT128064–8192The longer dimension. The shorter side is calculated automatically.

    Outputs (3)

    NameTypeDescription
    widthINT
    heightINT
    labelSTRING