MiniMax H3 Ultimate Upscale Params (VRGDG)
Not an upscaler — the settings card MiniMax H3's Ultimate Upscale actually trusts
- latent_upscale_param
This node doesn't upscale a single pixel, and once you stop expecting it to, it all clicks. VRGDG_MiniMaxH3UltimateUpscaleParams is a parameter node: it packages your upscale settings into an H3_UPSCALE_PARAM blob that the upstream MMH3UltimateUpscale node from bbaudio-2025/Comfyui-MMH3-UltimateUpscale consumes to actually run the job. It exists because the upstream node has a real wart - its own settings node only scans one model directory at import time, so the checkpoint you carefully dropped somewhere else never shows up. VRGDG's version scans every registered latent_upscale_models folder at execution time and hands the processor an absolute path. Same job, minus the "where the hell is my model" phase.
What it does under the hood
The model_name dropdown is built by filtering ComfyUI's latent_upscale_models folder for filenames containing minimax_h3_latent_upscaler (.safetensors or .pth). When you hit Queue, the node resolves the selected name to its full absolute path right then, rounds width and height down to the nearest multiple of 32, and packs everything into a dict:
{
"model_name": "<absolute path>",
"width": 1280, "height": 704,
"device": "cuda", "precision": "bf16"
}
That dict is the output. The MMH3UltimateUpscale node reads it, loads the checkpoint through the LBH MiniMax H3 latent-upscaler backend, and scales your video in latent space before the VAE decode - the classic latent-upscale move, but with a learned 3D resizer tuned for H3 rather than a dumb bilinear stretch. In the VRGDG AI Video Builder this is what powers the two-pass H3 workflow: cheap low-res generation first, then the learned upscale plus a low-denoise refinement pass (around 0.2 denoise, a handful of steps) to land at 1080p/2K.
The inputs that matter
Only five widgets, and you'll touch maybe three:
- model_name - dropdown of detected H3 upscale checkpoints. The pack expects
minimax_h3_latent_upscaler_3d_bf16.safetensorsinComfyUI/models/latent_upscale_models/. - width / height - target resolution (defaults 1280×704). Auto-rounded to multiples of 32, so don't fight the slider.
- device (
cuda/cpu) and precision (bf16/fp16/fp32) - leave them alone. bf16 on cuda is the sensible default.
Output: latent_upscale_param (H3_UPSCALE_PARAM), which wires straight into the corresponding input on MMH3UltimateUpscale. Nothing else.
Install
ComfyUI Manager → Install Custom Nodes → search vrgamedev, or clone manually:
cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl.git
Then restart ComfyUI and hard-refresh the browser. The pack's requirements.txt is a beast (torchcodec, librosa, voxcpm, llama-cpp-python, demucs…). Most of it is for the Video Builder, not this node, but Manager installs it all anyway. On Windows with Python 3.13, the README tells you to install Cython and scikit-build-core first or the voxcpm/llama builds will fight you; Python 3.12 is the safer bet.
You also need the two upstream pieces this node calls: the Comfyui-MMH3-UltimateUpscale repo and the LBH backend it wraps (Comfyui_Minimax_h3_latent_Upscaler, which must sit at Comfyui_Minimax_h3_latent_Upscaler/nodes/minimax_h3_latent_upscaler_3d.py). If you're inside the VRGDG Video Builder, its dependency installer clones the upstream for you; standalone, install both by hand.
Common issues
- Dropdown reads
[no MiniMax H3 models found in registered latent_upscale_models folders]. The checkpoint isn't inmodels/latent_upscale_models/, or its filename doesn't containminimax_h3_latent_upscaler. The filter is picky - rename it to match. - "The LBH MiniMax H3 latent-upscaler backend is not installed." The backend repo is missing or in the wrong place. That error comes straight from the loader, and there's no workaround - the path is hardcoded.
- The node looks pointless on its own. It is. If you drop it in a workflow with no
MMH3UltimateUpscaledownstream, it just emits a dict you can't use. Grab the pack'sMiniMaxH3_2Pass_LatentUpscale_Shareable.jsonworkflow and see it wired correctly first.
One broader caveat while you're here: H3 itself is great, but its community licence gates the base weights out of the US, EU, UK and South Korea. This upscaler checkpoint is a separate, small model - but if you're in an excluded territory, check the H3 licence before you build a pipeline around it.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 1 options: [no MiniMax H3 models found in registered latent_upscale_models folders] | |
| width | INT | 128064–4096 | — |
| height | INT | 70464–4096 | — |
| device | COMBO | cuda | 2 options: cuda, cpu |
| precision | COMBO | bf16 | 3 options: bf16, fp16, fp32 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent_upscale_param | H3_UPSCALE_PARAM | — |