H3 HyperFlow · Load Exact Completed TAIL AV (T8 EXP)
Decode a finished clip on a machine with no H3 model loaded at all
- av_latent
- completed_result
- report_json
Here's a nice trick this pack supports and most video workflows don't: take a finished generation, close ComfyUI, reopen it tomorrow, and decode or deliver that clip without loading the diffusion model, the text encoder, the VAE-encoder path, or the HyperFlow adapter. Load Exact Completed TAIL AV reads a frozen completed AV artifact and hands you the latent plus a typed result.
It's the last node in the continuous HEAD/TAIL route, and its job is intentionally narrow: get bytes off disk and put them where a decoder can see them.
What it needs
Two widgets and nothing else: artifact_path and artifact_sha256, both from the save side. Both are mandatory and both are checked. Missing file, wrong hash, truncated write, a path that tries to climb out of the artifact directory, a partial write or a mismatched tensor: all hard errors. There is no hidden regeneration path - the node will not quietly re-sample because your file went missing. That's the correct behaviour for something whose whole purpose is reproducibility, and it's also the reason the error messages can feel terse.
Grab the pair from the save node's outputs rather than retyping them, and check what you have: the example workflows in the repo ship placeholder paths with a zeroed SHA, which fail until you replace them with values from a real save.
Outputs
av_latent is the joint audio+video latent for decoding - this is the socket you feed your VAE decode (video) and audio decode path, since H3 produces both in one latent. completed_result is the typed T8_HYPERFLOW_COMPLETED_AV, which is what the TAIL effects audit takes if you want the stored effect coverage reported. report_json is the load record.
Where the files live: output/MiniMaxH3/hyperflow_stage_artifacts. Each save gets its own directory, the commit is atomic, and no pickles are involved - safetensors plus a manifest.
What it doesn't do
It doesn't verify that today's settings match the artifact. It can't, and the pack says so plainly: reloading a completed AV is not a claim that your current graph is equivalent to the one that produced it. If you edited prompts or swapped a LoRA since saving, the load doesn't know and doesn't care. The provenance checks in this route happen on the other loads (HEAD, and the P7 stage loads); this one is deliberately a plain read for delivery.
Practical consequence: this is the node you use when you're done experimenting. Re-encode at a different CRF, re-mux, compare two takes, hand a clip to someone else's ComfyUI. It's also the cheapest way to smoke-test a broken install - if the AV decodes and plays, your H3 weights being absent from the graph isn't your problem.
Install
Manager → search MiniMax H3 Audio T8, or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8
Full restart of ComfyUI, browser refresh. requirements.txt is empty by design - the pack installs no Python packages, so it can't disturb your Torch/CUDA stack. This particular node needs no model files; the rest of the pack needs H3's weights, the Qwen encoder, the VAEs and the HyperFlow adapter in models/hyperflow/loras/.
Notes
Keep artifacts out of your cleanup scripts. ComfyUI's own temp directory and output directory get pruned by all sorts of habits, and a deleted stage artifact means a chain you can't resume - the node fails closed rather than regenerating, which is the right call but not a fun way to spend an evening.
And if you're going to move an artifact between machines, move the whole directory. The manifest and the tensor file belong together, and the hash check is not going to be forgiving about a partial copy.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| artifact_path | STRING | — | |
| artifact_sha256 | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| av_latent | LATENT | — |
| completed_result | T8_HYPERFLOW_COMPLETED_AV | — |
| report_json | STRING | — |