MiniMax H3 Canvas Planner / 画布规划
Plan MiniMax H3's canvas, frame count, and token load before you queue
- width
- height
- frames
- latent_t
- audio_t
- video_tokens
- est_sit_seconds
- est_total_minutes
- report
MiniMax H3 has a habit of not doing what you asked. Ask for a 5-second clip and the frame count silently snaps up to the model's 17k+5 grid (5, 22, 39, 56, 73…), so your "5 seconds" becomes 124 frames - 5.17 seconds. Ask for a canvas and ComfyUI will happily build one far outside the 768×1344 area the model was trained on, and you'll discover the problem fifteen minutes later when the render comes back weird. The Canvas Planner exists to settle all of that before you queue, so you're never surprised by what lands on the sampler.
This node is part of the MiniMax-H3 Tools pack, a compatibility layer for H3 (MiniMax's 33B open-weight video model that generates synchronized stereo audio in a single pass). It ships with no LLM and no API - pure math, running locally.
What it does
You give it an aspect ratio, a target area, and a duration. It returns the exact numbers that matter:
width/heighton ComfyUI's 32-pixel canvas gridframessnapped up to H3's 17k+5 temporal gridlatent_tandaudio_t- the video and audio latent lengthsvideo_tokens, which is what actually decides how long the render takes (latent_t * (height//32) * (width//32))
It also returns a report string you can dump into a ShowText node. That report is the real deliverable. Read the WARNING lines: "canvas is above H3's trained cap," "frames below the documented trained range of 124–362," "short edge exceeds the documented 768px native short edge." These are the failure modes H3 normally lets you walk into blind.
The inputs that matter
- aspect_ratio - presets from 21:9 ultrawide down to 9:16 portrait.
- megapixels - target area in ComfyUI's 1024×1024 megapixel unit. 0.4 MP is a sane default and lands around 864×480 in 16:9.
- seconds - duration at 24 fps, snapped up to the grid.
- clamp_to_trained_cap - the interesting one. Off (default) reports the canvas ComfyUI will actually create, even if it's over the trained area. On, it shrinks over-cap requests down to H3's documented 768×1344.
Everything else only matters if you want runtime estimates. steps and vram_budget_gib are used solely by the cost profile, and runtime estimation is disabled by default: est_sit_seconds and est_total_minutes return -1.0 until you explicitly pick a cost_profile.
That's deliberate, not a bug. The one bundled profile is labelled "Single RTX 3090 24 GiB, Windows 11, ComfyUI 0.30.0, torch 2.8.0+cu128, xformers, int8_convrot." It's a measurement of one machine, fitted to a token-count curve - useful as a rough shape for "how long will this take," worthless as a promise for your card. If you pick it, you're accepting that exact stack as an approximation.
Install and gotchas
Install is shared with the rest of the pack: ComfyUI 0.30.0 or later, then search "MiniMax H3 Tools" in ComfyUI Manager, or clone manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Rinne414/ComfyUI-MiniMaxH3-Tools.git
Restart ComfyUI and you'll find the nodes under MiniMax H3. This node needs no extra Python dependencies and no model files - it's pure planning, so you can run it before you've even downloaded weights.
The common trap: a beginner wires the report output to nowhere, ignores the warnings, and queues anyway. Wire it to a text preview node and actually read it. And don't add your own hardware profile to calibration_profiles.json unless you know the schema - a malformed profile fails at startup with the exact field and reason, which is safer than silently disabling estimates, but it will stop your ComfyUI from booting.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| aspect_ratio | COMBO | 16:9 (Widescreen) | 8 options: 21:9 (Ultrawide), 16:9 (Widescreen), 3:2 (Photo), 4:3 (Standard), 1:1 (Square), 3:4 (Portrait Standard), +2 |
| megapixels | FLOAT | 0.400.1–1.2 | Target area using ComfyUI's 1024*1024 megapixel unit. / 使用 ComfyUI 的 1024*1024 百万像素单位设置目标面积。 |
| seconds | FLOAT | 5.00.2–20 | Duration at 24 fps, snapped up to H3's 17k+5 frame grid. / 按 24 fps 设置时长,并向上对齐到 H3 的 17k+5 帧网格。 |
| steps | INT | 201–200 | Used only when a hardware cost profile is selected. / 仅在选择硬件成本配置时使用。 |
| cost_profile | COMBO | none (report tokens only) | No runtime estimate is made by default. Profiles are machine-specific and must be selected explicitly. / 默认不估算运行时间;配置仅适用于特定机器,必须明确选择。 |
| vram_budget_gib | FLOAT | 24.04–192 | Compared only with thresholds from the selected profile. / 仅与所选配置中的阈值比较。 |
| clamp_to_trained_cap | BOOLEAN | false | Off reports the canvas ComfyUI will actually create. On shrinks over-cap requests to H3's documented trained area. / 关闭时报告 ComfyUI 实际创建的画布;开启时将超限请求缩小到 H3 文档中的训练面积。 |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |
| frames | INT | — |
| latent_t | INT | — |
| audio_t | INT | — |
| video_tokens | INT | — |
| est_sit_seconds | FLOAT | — |
| est_total_minutes | FLOAT | — |
| report | STRING | — |