H3 Studio • Advanced Resolution
The canvas calculator that keeps you inside H3's native area
- source_image
- width
- height
- resolution_info
H3 does not like arbitrary canvas sizes. Like most video-trained models it expects dimensions aligned to a grid multiple, and it has a native pixel area (roughly 768×1344) it's happiest near. Type 1345×1337 into a bare empty latent and you're asking for a generation that wastes memory and behaves unpredictably. H3StudioResolution is the calculator that does the math for you - aspect ratio in, aligned width/height out.
The inputs are clean and the defaults are sensible. aspect_ratio gives you the standard ladder (1:1, 4:5, 3:4, 2:3, 9:16, 16:9, 3:2, 4:3, 21:9) plus two special entries: source image, which copies the ratio of an image you connect to source_image, and custom dimensions, which uses custom_width/custom_height directly.
The two settings that matter
- megapixels - your target area, using ComfyUI's convention that 1 MP = 1024². Default 1. It's ignored when you use custom dimensions.
- multiple - rounds both axes to this grid multiple (32 or 64). Keep 32 unless you have a specific reason; H3's compatibility geometry likes multiples of 32.
- native_area_cap - this is the interesting one. When enabled (default), it caps total pixels near H3's native 768×1344 area while preserving your requested ratio. So you can ask for a 21:9 canvas and get one that's wide but stays inside the pixel budget H3 was trained around. Disable it when you genuinely want the full megapixels you asked for.
When you'd use this over the Preset node
This is the "I want to be specific" version. The Resolution Preset node gives you quick named profiles (fast preview, balanced, native detail, ultra). This one gives you exact megapixels, custom dimensions, the grid multiple, and the native-area cap as a first-class toggle - which makes it the one to reach for when you're doing the 4MP/8MP experimentation the README is careful to call experimental. The honest warning applies here: H3 isn't a dedicated super-resolution model, and large canvases raise attention cost, decode time, RAM, VRAM and failure risk without proportional detail gains. The cap being on by default is the pack gently holding your hand.
Outputs
Three outputs, all plain values: width (INT), height (INT), and resolution_info (STRING) - a report of what was calculated, including whether the cap clamped your request. Wire the width/height into a prepare node or empty latent and keep resolution_info attached to a text display if you want to see what it actually did. Note that it does accept stale legacy resolution kwargs and ignores them, so an old workflow won't hard-crash - just check the info string if something looks off.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/thaakeno/ComfyUI-MiniMax-H3-Studio.git
cd ComfyUI-MiniMax-H3-Studio
python -m pip install -r requirements.txt
Restart and hard-refresh the frontend. No extra dependencies.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| aspect_ratio | COMBO | Canvas aspect ratio. "source image" requires source_image; custom dimensions uses the custom_width/custom_height widgets. | |
| megapixels | FLOAT | 1.00.1–64 | Target megapixels using ComfyUI's 1 MP = 1024² convention. Ignored for custom dimensions. |
| multiple | COMBO | 32 | Rounds both canvas axes to this H3-compatible grid multiple. |
| native_area_cap | BOOLEAN | true | When enabled, caps total pixels near H3's native 768×1344 area while preserving the requested ratio. |
| custom_width | INT | 204832–16384 | Used only when aspect_ratio is "custom dimensions". |
| custom_height | INT | 204832–16384 | Used only when aspect_ratio is "custom dimensions". |
| source_imageopt | IMAGE | Required only when aspect_ratio is "source image". |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| width | INT | Calculated canvas width in pixels, rounded to the selected H3-compatible multiple. |
| height | INT | Calculated canvas height in pixels, rounded to the selected H3-compatible multiple. |
| resolution_info | STRING | Human-readable size, aspect-ratio source, pixel-area and native-cap summary. |