MiniMax H3 Resolutions
Your MiniMax H3 frames land on the right grid — without doing the math
- image
- width
- height
MiniMax H3 is a 33B omni-modal video model, and a 33B model at the wrong resolution is how you burn through a weekend. H3's transformer runs on a 32-pixel grid, so a "close enough" 16-aligned size can throw an error or quietly wreck your frames, and manually computing the area for each aspect ratio is exactly the kind of arithmetic that eats a workflow. This node is a dropdown that does it for you: pick an aspect ratio, pick a quality tier, and you get width and height that are guaranteed legal for H3. Nothing else. No API calls, no model downloads, no key.
It's one of four nodes in the boobkake22/ComfyUI-WanResolutions pack (the same author ships WanResolutions and LTXResolutions for the sibling models). You'll find it under the MINIMAX category in the node menu.
How it works
Under the hood it's just arithmetic. The node holds eight area buckets - 0.25 MP up to 2K - and for each of H3's six official aspect ratios (1:1, 3:4, 4:3, 9:16, 16:9, 21:9) it has a precomputed size that's divisible by 32. Select 16:9 + High Detail (1.00 MP) and you get 1344×768, the H3 base-quality anchor you'll see in official ComfyUI workflows; Preview (0.40 MP) gives 864×480, the fast-preview anchor for rough drafts before you commit to a slow pass. The same tier keeps its pixel area across aspect ratios, so switching 16:9 to 9:16 doesn't silently change your quality budget.
The 2K tier deserves a caveat. MiniMax's real 2K result comes from a separate in-context regeneration stage that isn't open-sourced; this node's 2K entry is just a 32-aligned canvas for local experimentation, not a reproduction of that process. Fine for testing, don't expect magic.
The inputs that matter
Only three things touch this node, and two of them you can usually leave alone:
aspect_ratio- one of H3's six official T2V ratios, default16:9.resolution- the eight-tier quality ladder, fromDraft (0.25 MP)up to2K. This is the one you'll actually fiddle with as you iterate.image(optional) - the interesting one.
Wire an IMAGE in and the node switches to adaptive I2V sizing: it ignores your aspect ratio, preserves the source image's exact ratio, targets the pixel area of the tier you picked, and rounds both dimensions to the nearest multiple of 32. This is the feature that saves you from the classic "my reference image is 3:2 but H3 wants 16:9" mess.
Outputs
Two INT outputs, width and height. They plug straight into whatever your H3 workflow uses to set the latent/VAE size - in ComfyUI's native H3 setup that's typically the sampler's latent input or an empty latent node.
Install
No dependencies, no model files - this is pure math, so it's the easiest install in the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/boobkake22/ComfyUI-WanResolutions.git
Restart ComfyUI. Or skip all that and search "ComfyUI-WanResolutions" in ComfyUI Manager. The pack is Apache-2.0 and pure stdlib Python, so there's nothing to break.
Where people get burned
- The alignment thing is real. H3 wants multiples of 32. The whole point of this node is that every preset already is one - the failure mode you're avoiding is feeding a 16-aligned (or worse, arbitrary) size and getting a crash or garbled output. When you're typing sizes by hand, verify before you render.
- Don't fight the image input. Connect an
IMAGEand the aspect dropdown stops mattering - the source ratio wins. If your portrait reference keeps coming out landscape-sized, it's because the node is preserving its ratio, not your dropdown. Disconnect the image (or use theimage_bypassstyle logic the pack's LTX node offers) if you want the preset instead. - The licence, not the node. H3's open weights are geofenced - the community licence excludes the US, EU, UK and South Korea. If you're in one of those regions you're not licensed to run the local weights, so the node can't help you legally even though it technically can. The hosted Hailuo API remains available. Worth knowing before you get excited.
Start with Preview to iterate, jump to High Detail (1344×768) for the real pass, and let the node handle the math.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| aspect_ratio | COMBO | 16:9 | 6 options: 1:1, 3:4, 4:3, 9:16, 16:9, 21:9 |
| resolution | COMBO | Draft (0.25 MP) — 672×384 | 8 options: Draft (0.25 MP) — 672×384, Preview (0.40 MP) — 864×480, 1K (0.56 MP) — 1024×576, 720P Class (0.90 MP) — 1280×736, High Detail (1.00 MP) — 1344×768, 1.5K (1.27 MP) — 1536×864, +2 |
| imageopt | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |