Nodes/VRGameDevGirl Video Enhancement Nodes/MiniMax H3 Ultimate Upscale Params (VRGDG)
ComfyUI Node

MiniMax H3 Ultimate Upscale Params (VRGDG)

Not an upscaler — the settings card MiniMax H3's Ultimate Upscale actually trusts

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
MiniMax H3 Ultimate Upscale Params (VRGDG)
    • latent_upscale_param
    model_name
    width1280
    height704
    devicecuda
    precisionbf16

    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.safetensors in ComfyUI/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 in models/latent_upscale_models/, or its filename doesn't contain minimax_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 MMH3UltimateUpscale downstream, it just emits a dict you can't use. Grab the pack's MiniMaxH3_2Pass_LatentUpscale_Shareable.json workflow 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.

    CategoryVRGDG/Video/MiniMax H3

    Inputs (5)

    NameTypeDefaultDescription
    model_nameCOMBO1 options: [no MiniMax H3 models found in registered latent_upscale_models folders]
    widthINT128064–4096
    heightINT70464–4096
    deviceCOMBOcuda2 options: cuda, cpu
    precisionCOMBObf163 options: bf16, fp16, fp32

    Outputs (1)

    NameTypeDescription
    latent_upscale_paramH3_UPSCALE_PARAM