Nodes/ComfyUI-MaxedOut/Resolution Selector MXD
ComfyUI Node

Resolution Selector MXD

Hand your graph a width and height, not a latent

By Maxed-Out-99·Created about a year ago·Updated 29 days ago· 9
Resolution Selector MXD
    • width
    • height
    aspect_ratioSquare (1:1)
    megapixels1.0
    verticalfalse
    multiple8

    Sometimes you don't want an empty latent - you want the numbers, so you can size an image, a latent, a conditioning input, or three other nodes all from the same source of truth. Resolution Selector MXD is the compute-only cousin of the pack's Empty Latent Image MXD: pick an aspect ratio and a megapixel target, get back a width and a height, and feed those integers anywhere. It's the same math as core ComfyUI's Resolution Selector, minus the separate portrait/landscape dropdown entries - the vertical toggle handles that.

    How it works

    The calculation is identical to its empty-latent sibling: total_pixels = megapixels × 1024², scaled against the ratio's proportions, rounded to the nearest multiple (default 8). If vertical is on, width and height swap. The ratio set is the same five presets - Square (1:1), Standard (4:3), Landscape (3:2), Widescreen (16:9), Ultrawide (21:9) - and the two nodes share that list deliberately, so "what I picked in the selector" and "what the empty latent actually made" always agree. That shared-source-of-truth detail is the kind of thing that only bites you when it's not there.

    Inputs that matter

    • aspect_ratio - five presets, default Square (1:1).
    • megapixels - target total, 0.1–16, default 1.0.
    • vertical - portrait swap.
    • multiple (optional, advanced) - rounding step, default 8.

    Outputs: width and height as plain integers, with the pack's tooltips spelling out that these are pixel values.

    Wiring it in

    The INT outputs go wherever you need pixel dimensions: an image scaler, a latent resize, a controlnet preprocessor, or the width/height inputs of a custom empty latent from another pack. Because it's pure numbers with no latent involved, you can reuse one selector to drive several nodes and change the whole graph's resolution from a single widget. It also composes cleanly with the empty-latent version - one selector can feed a latent and an image-scaled pipeline at the same resolution.

    Installing

    ComfyUI Manager → search "Maxed Out" → install, restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Maxed-Out-99/ComfyUI-MaxedOut.git
    

    No pip dependencies, no model downloads.

    Common issues

    The main thing to remember is the rounding: at low megapixel targets, two ratios can round to the same width/height, and that's not a bug, it's the multiple doing its job. If you need exact non-rounded pixels, a bare calculator node is more honest about it. And since this is the compute node, feeding its output into a node that expects a latent is a wiring mistake - it outputs INTs, full stop.

    CategoryMXD/Latent

    Inputs (4)

    NameTypeDefaultDescription
    aspect_ratioCOMBOSquare (1:1)5 options: Square (1:1), Standard (4:3), Landscape (3:2), Widescreen (16:9), Ultrawide (21:9)
    megapixelsFLOAT1.00.1–16Target total megapixels. 1.0 MP ≈ 1024x1024 for square.
    verticalBOOLEANfalse
    multipleoptINT88–128Round the calculated resolution to the nearest multiple of this value.

    Outputs (2)

    NameTypeDescription
    widthINTCalculated width in pixels.
    heightINTCalculated height in pixels.