Nodes/Comfyui-MMH3-UltimateUpscale/MMH3 Latent Upscale with Model Params
ComfyUI Node

MMH3 Latent Upscale with Model Params

H3's actual 3D upscaler

By bbaudio-2025·Created 3 days ago·Updated 2 days ago· 88
MMH3 Latent Upscale with Model Params
    • latent_upscale_param
    model_name
    width1280
    height704
    devicecuda
    precisionfp16

    Plain interpolation gets your H3 clip bigger, but it can't invent detail that isn't there. If you want the upscale itself to do some of the work - add texture, clean up soft areas - you want the model-based path. MMH3 Latent Upscale with Model Params is the settings bundle for H3's dedicated 3D latent upscaler, the one that runs an actual network over each chunk's video latent instead of just resampling pixels.

    The part that trips people up first

    This node does not use ComfyUI's standard LatentUpscale loader. It scans and loads the H3 checkpoints directly - the minimax_h3_latent_upscaler_3d_*.safetensors files from models/latent_upscale_models. The author is explicit in the node description about why: the H3 weights don't match the architectures the standard loader supports, so trying to run them through it errors. That's also why the model_name dropdown is a raw file list, not a fancy picker.

    If you haven't dropped any models into latent_upscale_models yet, the dropdown shows a placeholder telling you the folder came up empty - that's the author's own fallback message, not a bug. The checkpoints come from the reference project this pack adapts, LBH-123-AI's Comfyui_Minimax_h3_latent_Upscaler (linked from the README). And you do have to use the H3-specific files: the loader validates the checkpoint and raises a clear "not an H3 latent upscaler" error for anything else.

    What you set

    • model_name - the H3 upscaler file in latent_upscale_models (auto-populated).
    • width / height - target frame size, snapped to a multiple of 32 (the upscaler's required grid). Same rule as everywhere in this pack: must match the conditioning's generation size.
    • device - cuda (default) or cpu. CPU is a "does this even work" debug mode, not a daily-driver.
    • precision - fp16 (default), fp32, bf16. fp16 is the sensible default on most cards; drop to fp32 if you're chasing NaN weirdness on an older GPU (a classic fp16-on-old-GPUs problem, per the KB's troubleshooting notes).

    The output is a H3_UPSCALE_PARAM bundle that feeds the latent_upscale_param input on MMH3 Ultimate Upscale. The main node swaps models around it so VRAM stays sane: while the upscaler runs, the diffusion model is unloaded, and the upscaler is pushed back to CPU after each chunk. Audio is never part of the upscale - only the video channels get touched, which is the whole point of doing this in latent space.

    Install

    Same one-install as the rest of the pack: Comfyui-MMH3-UltimateUpscale in ComfyUI Manager, or git clone https://github.com/bbaudio-2025/Comfyui-MMH3-UltimateUpscale into ComfyUI/custom_nodes and restart. The node itself has zero pip dependencies. The cost is the model: you need to source the H3 3D upscaler checkpoint into models/latent_upscale_models/, and H3-adjacent weights are not small.

    Worth flagging once more: this pack is brand-new and vibe-coded, so expect the occasional rough edge - but the model loading, the 3D network, and the normalization stats are adapted from the mature reference project, which is where the tricky math lives. If model_name errors on a file you know is an H3 upscaler, your first suspects are precision on an older GPU and the size-matching rule, in that order.

    Categorymodel/latent/minimax

    Inputs (5)

    NameTypeDefaultDescription
    model_nameCOMBOThe H3 latent upscale model file in the latent_upscale_models folder (e.g. minimax_h3_latent_upscaler_3d_*.safetensors). Loading a non-H3 upscale model may error.
    widthINT128064–4096Target overall pixel width of the upscaled frame (snapped to a multiple of 32, the H3 upscaler's required grid). Must match the conditioning's generation size.
    heightINT70464–4096Target overall pixel height of the upscaled frame (snapped to a multiple of 32, the H3 upscaler's required grid). Must match the conditioning's generation size.
    deviceCOMBOcuda2 options: cuda, cpu
    precisionCOMBOfp163 options: fp16, fp32, bf16

    Outputs (1)

    NameTypeDescription
    latent_upscale_paramH3_UPSCALE_PARAMUpscale settings consumed by 'MMH3 Ultimate Upscale'.