ComfyUI Node

Resolution Master

Resolution Master

By Azornes·Created 12 months ago·Updated 20 days ago· 296
Resolution Master
  • input_image
  • width
  • height
  • rescale_factor
  • batch_size
  • latent
mode
latent_typelatent_4x8
width512
height512
auto_detectfalse
auto_detect_sourcebackend
auto_detect_width0
auto_detect_height0
auto_fit_on_changefalse
auto_resize_on_changefalse
auto_snap_on_changefalse
smart_fitfalse
use_custom_calcfalse
preserve_scaling_ratiofalse
selected_category
snap_value64
upscale_value1.00
target_resolution1080
target_megapixels2.00
auto_detect_presets_json{}
rescale_moderesolution
rescale_value1.000
batch_size1

If you've ever generated an image with a stretched body, two heads, or a weirdly repeated horizon, you already know the problem this node solves. Every model was trained at a native resolution and a handful of aspect ratios, and when you wander off those, it falls apart. The most-upvoted answer to a thousand "why does my person look melted" posts is blunt: "You are using a model trained on 1024x1024 images trying to make images with ridiculously different aspect ratios." Resolution Master is a visual, all-in-one dimension picker that keeps you inside the lines - and hands you an empty latent on the way out so you can delete one node from your graph.

What it actually does

Here's the thing to get straight up front: Resolution Master does not touch your pixels. It's a calculator with a nice interface. You drag a dot around a little 2D canvas or pick a preset, and it outputs numbers - a width, a height, a rescale factor, and a ready-made latent. Those numbers go into the nodes that do the real work. The README says it plainly, and it's worth repeating because people trip on it: "Resolution Master doesn't process images directly - it calculates dimensions." If you want to actually resize an image, you still wire its width/height into a Resize Image node.

Where it earns its keep is the preset library and the model-specific math. It ships buckets for SDXL, Flux, Flux.2, WAN video, Qwen-Image, Z-Image Turbo, plus print, social, and cinema ratios. SDXL's real trained ratios - 1024×1024, 1152×896, 1216×832, 1344×768, 1536×640 and their rotations - are baked in as presets, so you stop guessing. Turn on Custom Calc and it'll clamp whatever you've got to something the model is happy with: Flux mode, for example, forces 32px increments and caps you at 4 megapixels. It's the difference between "I think 1216×832 is legal for SDXL?" and just clicking the button.

The inputs and outputs that matter

Most of the controls live in the on-node widget - the canvas, the preset dropdowns, the buttons - so you rarely type into fields directly. The handful worth knowing:

  • input_image (optional) + auto_detect: connect a Load Image and flip Auto-Detect on, and the node reads that image's dimensions as your starting point. This is the resize-workflow entry point.
  • batch_size: how many latents to make (1–4096). Bump it if you want a batch at one resolution.
  • latent_type: leave it at the default latent_4x8 for SD, SDXL, and Flux. Only switch to latent_128x16 if you're on Flux.2, which uses a 128-channel latent.

On the output side you get five slots. width and height go to your checkpoint/sampler (or a resize node). latent is the sleeper feature - it's a correctly-sized empty latent built from your width, height, batch, and type, so you can wire it straight into KSampler and drop the separate Empty Latent Image node entirely. batch_size passes through. And rescale_factor feeds an upscaler.

One gotcha on rescale_factor: it is not the ratio between your input and current size. It's your scaling intent for downstream upscalers. Set a 1080p target and swap in a different input image, and the factor recalculates so you still land on 1080p. That's by design - it makes your workflow resolution-independent - but it surprises people who expect it to reset to 1.0.

Installing it

Easy one. In ComfyUI Manager, search Comfyui-Resolution-Master and hit Install, then restart. Or do it by hand:

cd ComfyUI/custom_nodes/
git clone https://github.com/Azornes/Comfyui-Resolution-Master.git

Restart ComfyUI and it's there under utils/azToolkit. No models to download, no heavy Python dependencies - it's a JavaScript widget plus a bit of backend math, so the install is genuinely painless.

When it breaks

Two known issues, both from the author and both quick fixes. If the node shows up completely blank on the canvas, that's a conflict with comfyui-mixlab-nodes - mixlab overrides a drawing method other nodes rely on. Disable or uninstall mixlab and it renders fine (there's a one-line manual patch in the README if you can't live without mixlab). Second, it does not work with ComfyUI's newer Vue Nodes rendering; if the node looks broken, go to Settings, search "Vue Nodes," and turn off "Modern Node Design (Vue Nodes)."

And the recurring confusion, not a bug: it outputs numbers, not images. If your picture didn't change size, check that you actually wired width/height into a resize node downstream.

Categoryutils/azToolkit

Inputs (24)

NameTypeDefaultDescription
modeCOMBOChoose how to control the output size. Manual mode uses the Resolution Master canvas.
latent_typeCOMBOlatent_4x8Choose the latent type. Use 4x8 for most models, or 128x16 for Flux.2.
widthINT5120–32768Final output width in pixels.
heightINT5120–32768Final output height in pixels.
auto_detectBOOLEANfalseDetect the size from the connected input image.
auto_detect_sourceSTRINGbackendTechnical setting used by the Resolution Master interface.
auto_detect_widthINT00–32768Detected input width used by auto-detect.
auto_detect_heightINT00–32768Detected input height used by auto-detect.
auto_fit_on_changeBOOLEANfalseWhen a new image is detected, fit it to the closest preset automatically.
auto_resize_on_changeBOOLEANfalseWhen a new image is detected, resize it automatically using the selected scaling mode.
auto_snap_on_changeBOOLEANfalseWhen a new image is detected, round its size to the selected snap step.
smart_fitBOOLEANfalseFit to the closest preset aspect ratio while keeping the size close to the current resolution.
use_custom_calcBOOLEANfalseWhen a new image is detected, apply the selected model or category size rules automatically.
preserve_scaling_ratioBOOLEANfalseKeep the image proportions while scaling.
selected_categorySTRINGSelected preset category.
snap_valueINT641–32768Snap step used when rounding width and height.
upscale_valueFLOAT1.000–100Manual scale multiplier.
target_resolutionINT10801–32768Target p-resolution used for scaling.
target_megapixelsFLOAT2.000–1000Target megapixels used for scaling.
auto_detect_presets_jsonSTRING{}Technical preset data used by auto-detect.
rescale_modeSTRINGresolutionScaling mode used for the Rescale Factor output.
rescale_valueFLOAT1.0000–100Current Rescale Factor value shown by the interface.
batch_sizeINT11–4096How many latent images to create in one batch.
input_imageoptIMAGEOptional image used for auto-detecting width and height.

Outputs (5)

NameTypeDescription
widthINTFinal output width in pixels.
heightINTFinal output height in pixels.
rescale_factorFLOATScale factor calculated from the selected scaling mode.
batch_sizeINTNumber of latent images created in one batch.
latentLATENTEmpty latent created with the selected size, batch size, and latent type.