Nodes/comfyui-minimax-h3-audio-T8/H3 Stage Result · Load Exact Frozen Artifact (T8 EXP)
ComfyUI Node

H3 Stage Result · Load Exact Frozen Artifact (T8 EXP)

Loading a frozen H3 stage from disk

By T8mars·Created 2 months ago·Updated about 7 hours ago· 1,158
H3 Stage Result · Load Exact Frozen Artifact (T8 EXP)
    • output
    • denoised_output
    • stage_context
    • stage_result
    • report_json
    ◄artifact_path►
    ◄artifact_sha256►
    ◄expected_stagelow_0_4►

    A 124-frame MiniMax H3 clip with joint audio is not a fast thing to generate, and if you spend twenty steps on the LOW pass and then discover your HIGH settings are wrong, you have just paid for those twenty steps twice. MiniMaxH3StageLoadEXPT8 is the escape hatch: it loads a previously saved stage so the graph can run only the later one.

    It never runs LOW. It never loads a model. It selects a file, verifies it, and gives you the typed stage objects the downstream nodes want.

    Inputs

    • artifact_path - the relative manifest path that MiniMaxH3StageSaveEXPT8 returned. The example cold-resume graphs ship with this as an empty placeholder; filling it in with a real save is step one of using them.
    • artifact_sha256 - the digest from the same save. Mandatory, and actually compared.
    • expected_stage - a combo that spans every stage naming scheme in the modular family: the FastH3 V2 low_0_4 / high_4_8, the native dual stages, manual pass stages, RF base and restart, the explicit native low/high stages, the PDD pdd_low_0_4 / pdd_high_4_8, and the VDN vdn_complete / vdn_refine. It's a guard: it stops you resuming a LOW artefact into a HIGH slot because the filenames looked similar.

    Outputs: output and denoised_output as separate latents (deliberately - see below), plus stage_context, stage_result, and report_json.

    The distinction that makes it work

    The node keeps x_sigma and denoised_output distinct, and the reason is the learned upscale handoff. If you're resuming only the HIGH stage, what you want at that handoff is the LOW stage's denoised_output - the model's predicted clean latent - going into the learned 3D latent upscaler and reconcile, exactly as it would in a full run. The terminal sampler state (output) is the thing the SPEED transition and certain other adapters want instead. Conflating them is the single most common way to get a resume that runs happily and looks subtly wrong.

    One more bit of ComfyUI plumbing you should know about: this node fingerprints its inputs and returns NaN on a missing, corrupt or busy artefact. Since NaN != NaN, ComfyUI treats the node as always-dirty and re-executes it rather than serving you a stale cached latent after you swap the file. That's the intended behaviour - the alternative is a cache that lies.

    And the framing the author insists on: this freezes the selected prior result; it is not a claim that your edited LOW settings still match it. Change the LOW prompt, LoRA or model and then resume from an old artefact, and the report will tell you the identities disagree. Re-run LOW.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8
    

    Then exit ComfyUI fully and restart, and refresh the page. In Manager, search MiniMax H3 Audio T8; if Manager's revision trails GitHub, install from GitHub - registry and repo releases are independent. There's no pip install step: the pack keeps requirements.txt empty so it can never replace ComfyUI's Torch/CUDA stack. A recent core is required for the native H3 support these nodes sit on.

    Artefacts land under ComfyUI's output directory in the pack's own MiniMaxH3/stage_artifacts store, one immutable file per save.

    Gotchas

    Wrong path, wrong SHA, wrong expected_stage, an out-of-store path, or a file still under a write lease all fail loudly - none of them silently fall back to a fresh sample, which is the correct design but does mean a typo costs you a queue cycle.

    The pair you'll want most is Cold_HIGH graphs in examples/workflows/40-modular-two-pass/ and 41-vdn-two-pass/: they delete the LOW model, conditioning and sampler from the graph entirely, so what's left is a genuinely independent second pass. If you find yourself still loading the LOW model "just in case", you've kept the cost you were trying to avoid.

    CategoryT8/MiniMax H3/Modular Sampling/Experimental

    Inputs (3)

    NameTypeDefaultDescription
    artifact_pathSTRING—
    artifact_sha256STRING—
    expected_stageCOMBOlow_0_417 options: low_0_4, high_4_8, dual_low_4, dual_low_20, dual_high_3, dual_high_4, +11

    Outputs (5)

    NameTypeDescription
    outputLATENT—
    denoised_outputLATENT—
    stage_contextT8_STAGE_CONTEXT—
    stage_resultT8_STAGE_RESULT—
    report_jsonSTRING—