Nodes/ComfyUI Studio Prompt Director/Studio Resolution & Aspect Master (Resolution, Latent & Safe Snap)
ComfyUI Node

Studio Resolution & Aspect Master (Resolution, Latent & Safe Snap)

The Resolution & Latent Node That Replaces Half Your Setup

By nexusfinancial-dev·Created 24 days ago·Updated 24 days ago· 3
Studio Resolution & Aspect Master (Resolution, Latent & Safe Snap)
    • width
    • height
    • empty_latent
    • aspect_ratio
    • megapixels
    • target_upscale_w
    • target_upscale_h
    • info_text
    preset_aspect16:9 Cinema Landscape (1344x768)
    orientationStandard (As Defined)
    scale_multiplier1.0x (Native Resolution)
    divisibility_snapMultiple of 16 (Universal Safe)
    latent_typeflux / flux2 (16-channel)
    batch_size1
    custom_width1024
    custom_height1024

    Here's the thing nobody tells you about the ComfyUI-StudioPromptDirector pack: the prompt-building nodes are fine, but this one is the keeper. StudioResolutionMaster is a resolution controller and empty-latent generator in one, and it quietly replaces the pile of manual Empty Latent Image setups and "wait, why is my resolution not divisible by 8?" math that eats beginners' evenings. If you install this pack and only ever use one node, make it this one.

    It does four jobs that are normally four separate nodes. It holds calibrated presets, flips orientation, snaps to safe multiples, and - the genuinely useful part - generates the latent tensor itself, in the right channel depth for whatever model you're running. Eight outputs: width, height, empty_latent, aspect_ratio, megapixels, target_upscale_w, target_upscale_h, and info_text. The upscale targets are pre-computed 2x values, which is a small thing that saves you an extra multiply node when you chain into an upscaler.

    The preset table

    preset_aspect has 21 entries spanning the normal stuff (1:1 1024, 16:9 1344x768, 9:16, 4:5, 3:2, anamorphic 2.39:1, 21:9, 32:9, 720p/1080p) plus the HiDream-O1 4MP native presets - 2560x1440, 2048x2048, 2304x1728, 3104x1312, 1440x2560. Those 4MP presets are worth having because HiDream-O1 forces high resolution; the model is baked to prefer 2048x2048 and generates noise if you try to sneak 1024 through it. There's also a "Custom Resolution" mode that activates the custom_width / custom_height sliders.

    The three settings that matter

    • latent_type - the trap, and the reason this node exists. FLUX/FLUX.2 uses a 16-channel latent, standard SD/SDXL/Wan/Krea/LTX uses 4-channel, and HiDream-O1 is a 3-channel pixel-space tensor (it has no VAE at all - the latent is pixels at full resolution). Pick the wrong one and your sampler feeds the VAE nonsense it can't decode.
    • divisibility_snap - snaps dimensions to multiples of 8/16/32/64. This is the "VAE-safe" guard in the README, and it's legitimately useful: VAE decode shape errors are the most common resolution failure in ComfyUI, and the community standard is multiples of 16 universally, 64 for FLUX/Wan strict.
    • orientation - a one-click width↔height swap for portrait/landscape, and scale_multiplier from 0.5x draft up to 4x "8K" - though for a beginner, 0.5x for fast drafts and 1.0x for real work covers most of it. The snap and scale math is applied in the right order (scale, then snap), so a 0.5x 1344x768 draft snaps to a clean 672x384, not 671x384.

    Install

    Pure Python, no dependencies, no model files - this is the rare ComfyUI pack that installs clean with nothing else to download:

    cd ComfyUI/custom_nodes
    git clone https://github.com/nexusfinancial-dev/ComfyUI-StudioPromptDirector.git
    

    Or search "ComfyUI-StudioPromptDirector" in ComfyUI Manager and restart. It lands under the StudioPromptDirector category.

    Wiring and gotchas

    Wire width and height into your conditioning (and any width/height-aware nodes), and empty_latent into the sampler's latent input - it replaces the Empty Latent Image node outright. The info_text output is a plain-string status readout ("16:9 Cinema Landscape | 1344x768 (1.032 MP) | Scale: 1.0x | Snap: 16x | Latent: flux") that's handy to pipe into a text display so you know what the graph is doing. The failure modes are all downstream of the dropdowns: choose latent_type to match your checkpoint (16ch for FLUX, 4ch for SDXL/Wan/LTX, 3ch pixel-space for HiDream), and if a VAE throws a shape error, snap harder - that's exactly what the guard is for. It's not flashy, but it's the node that stops a whole class of beginner meltdowns.

    CategoryStudioPromptDirector

    Inputs (8)

    NameTypeDefaultDescription
    preset_aspectCOMBO16:9 Cinema Landscape (1344x768)Select a calibrated cinematic or photographic aspect ratio preset
    orientationCOMBOStandard (As Defined)1-click toggle to swap width and height for instant portrait/landscape switching
    scale_multiplierCOMBO1.0x (Native Resolution)Resolution scale factor for draft previews or 4K/8K super-resolution targets
    divisibility_snapCOMBOMultiple of 16 (Universal Safe)Automatically snaps pixel dimensions to safe multiples, completely preventing VAE decode shape errors
    latent_typeCOMBOflux / flux2 (16-channel)Channel depth for the built-in empty latent generator
    batch_sizeINT11–64Batch size for the generated empty latent
    custom_widthoptINT102464–8192Custom width used when 'Custom Resolution' preset is selected
    custom_heightoptINT102464–8192Custom height used when 'Custom Resolution' preset is selected

    Outputs (8)

    NameTypeDescription
    widthINT
    heightINT
    empty_latentLATENT
    aspect_ratioFLOAT
    megapixelsFLOAT
    target_upscale_wINT
    target_upscale_hINT
    info_textSTRING