Nodes/Smart Resolution Toolkit/Smart Resolution Picker
ComfyUI Node

Smart Resolution Picker

Stop typing 1344x768 — pick a long side and a ratio instead

By buddy-bytes·Created 9 months ago·Updated 9 months ago· 2
Smart Resolution Picker
    • width
    • height
    resolution_presetFullHD_1920x1080
    aspect_ratio16:9_Widescreen

    You know the ritual. You're standing in front of an EmptyLatentImage node and the only thing between you and a workflow is figuring out what width and height give you the 9:16 crop you want without breaking the 64-pixel latent rule. Smart Resolution Picker is a tiny dropdown node that does that arithmetic for you: pick a long side (HD, FullHD, 2K…) and a ratio (16:9, 9:16, 21:9…), and it hands you clean, latent-safe width and height INTs to wire wherever you'd normally type numbers.

    It ships in the Smart Resolution Toolkit from buddy-bytes, and it's about as simple as a node gets. There's no API, no model download, no torch under the hood - it's two dropdowns and some rounding. The catch is that it only does the math; you still feed the result into something that makes the actual image.

    How the "smart" part works

    The secret is that every Resolution Preset is a long side, not a fixed canvas. FullHD-1920px doesn't mean "1920×1080 no matter what" - it means "make the longer edge 1920 and scale the other edge to fit the ratio you picked."

    So the flow is: take the preset's long side, scale it against your aspect ratio, then snap both results to the nearest multiple of 64. FullHD-1920px + 16:9-Widescreen gives you 1920×1088, not 1920×1080 - 1080 isn't a multiple of 64, so the snap rounds it up. Same preset with 9:16-TikTokReel gives 1088×1920. That's the one genuinely confusing thing about this node: the dropdowns say FullHD and 16:9, and it serves you 1088, because the 64-snap - the thing that keeps your latent legal - overrules the marketing numbers. Latent operations quietly break on resolutions that don't divide by 64, and this node guarantees you never produce one.

    One trap the README sets you up for: it lists "2K Cinema 2048×1080" like it's a preset, but there is no 2048×1080 option. 2K-2048px with the 16:9 dropdown actually lands on 2048×1152 (the 64-snap pulls it to a cleaner ratio). Treat the presets as lengths, not exact canvases, and you won't be surprised.

    The inputs and outputs that matter

    Two required inputs, both dropdowns - that's the whole node:

    • resolution_preset - SD-512px, HD-1280px, FullHD-1920px, 2K-2048px, QHD-2560px, 4K-3840px, 8K-7680px. Defaults to FullHD.
    • aspect_ratio - nine options: 1:1-AlbumArt, 4:5-InstagramPortrait, 2:3-ClassicPortrait, 3:4-EditorialPortrait, 9:16-TikTokReel, 4:3-ClassicVideo, 16:9-Widescreen, 21:9-CinemaScope, 32:9-UltraWideBanner. Defaults to 16:9.

    Outputs are just width and height as INTs. Wire them into the width/height inputs of an EmptyLatentImage node, or into any other node that takes INT dimensions (image scaling, tiled upscaling - if it wants a size, this gives it a size).

    Installing it

    Same story as any custom node. Easiest is ComfyUI Manager - search "Smart Resolution Toolkit" and hit install. Or, from the terminal:

    cd ComfyUI/custom_nodes
    git clone https://github.com/buddy-bytes/ComfyUI-SmartResolutionToolkit
    

    Then restart ComfyUI. That's genuinely it - requirements.txt is empty, so there are no pip dependencies to fight, and no model files to download.

    Where people get burned

    The node will happily hand you an 8K width. Your GPU will not. Every model has a native resolution - SD 1.5 lives at 512, SDXL at 1024-ish, Flux at 1024+, and pushing a 4K canvas through a 512-native model gives you duplicated anatomy and stretched limbs, not detail. The standard move is to generate at the model's native range and upscale after with a hires fix or an upscaler. This node is a resolution calculator, not a resolution cheat code.

    Worth a note on trust, too: this is a small, low-traffic pack (12 impressions on this node at the time of writing, which is to say, basically new). There's nothing exotic in the code - it's ~30 lines of pure arithmetic - so it's a low-risk install, but it's not the kind of pack with a big community behind it. For a size calculator, that's fine.

    Categoryutils/latent

    Inputs (2)

    NameTypeDefaultDescription
    resolution_presetCOMBOFullHD_1920x10807 options: SD-512px, HD-1280px, FullHD-1920px, 2K-2048px, QHD-2560px, 4K-3840px, +1
    aspect_ratioCOMBO16:9_Widescreen9 options: 1:1-AlbumArt, 4:5-InstagramPortrait, 2:3-ClassicPortrait, 3:4-EditorialPortrait, 9:16-TikTokReel, 4:3-ClassicVideo, +3

    Outputs (2)

    NameTypeDescription
    widthINT
    heightINT