H3 Chunked v5 · Prepare Full AV Noise (T8 EXP)
One noise draw for the whole clip — the v5 windows all share it
- partial4_denoised_output
- lifted_full_av
- lift_receipt
- plan
- noise
- prepared
- report_json
Nobody thinks about noise fields until their chunks have visible seams. Then it's all they think about.
On the v5 chunked route, the timeline is refined window by window, and the obvious naive implementation would let each window draw its own noise. That's exactly how you get a clip where segment boundaries look like different renders jammed together - different noise means different trajectories, and different trajectories mean the overlap doesn't agree. H3 Chunked v5 · Prepare Full AV Noise exists so that doesn't happen: it draws the global video and audio noise once, after the global learned lift, and every PASS2 window consumes that same preparation.
What goes in, what comes out
Inputs: partial4_denoised_output and lifted_full_av (the verified source and its one global upscale), lift_receipt (the typed receipt from Global Learned Lift - required, so the node can prove the lift happened exactly once), plan, and noise, a normal Core noise provider. The node reads the seed off that provider, which means the seed you set here is the seed of your whole refine stage. Same seed, same clip. Change it and everything changes, which is the point.
Outputs: prepared, a typed T8_CHUNKED_V5_PREPARED, and report_json. The type matters - One Joint AV PASS2 Window, the EAV apply, the Relay projection and the window save all take prepared as a required input. You cannot hand-splice a hand-made latent in there. If the preparation wasn't built from this source, this lift and this plan, the windows refuse.
The description is blunt about one more thing: "All PASS2 windows must consume this same typed live preparation." One prepare node, fanned out to every window. Not one per window.
Order of operations
- Native checkpoint Load → Verify Native Partial4 Source →
partial4_denoised_output. - Global Learned Lift →
lifted_full_av+lift_receipt. - This node →
prepared. - One Joint AV PASS2 Window per window,
window_index0..n-1,previous_resultchaining.
Note that pass two produces the joint AV result, audio included. On the older v1–v4 chunked contract the final audio was the first-pass audio passed straight through; v5 refines audio as part of the window. If generated speech quality is why you came, that's the difference that matters.
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
Fully quit and restart ComfyUI, then refresh the browser tab. This pack needs a current ComfyUI with native H3 support. Registry and GitHub release cadence are independent, so use the git clone if Manager doesn't offer the version you need. No extra pip packages - the pack's empty requirements.txt is a deliberate choice, so installing it can't swap out your Torch/CUDA. Main model, Qwen text encoder, video VAE and audio VAE are separate downloads per the README's model table.
Where it goes wrong
"Prepared input doesn't match." Somebody rewired the lift, switched the plan, or edited geometry after the prepare node was built. Rebuild the chain from the source forward; these types are content-bound on purpose.
Two noise providers. The prepared output already contains the global video and audio noise. The PASS2 window node also asks for a noise input - that one is about the sampling-side identity/seed bookkeeping; don't try to be clever by giving windows different seeds mid-clip to "fix" a seam. It won't; the window contract will reject the mismatch or you'll get drift.
Seed confusion. People change the pass-one seed expecting the refine stage to change. It won't. The noise field for the refine stage comes from the provider wired into this node.
Missing nodes after updating. Almost always a second, stale copy of the pack sitting in custom_nodes and shadowing the real one. Rename the old directory with a .disabled suffix - a leading underscore does not disable a node pack - restart, and check python_module in /object_info.
Last thing, from the README's own honest fine print: no automatic cache, no exact-voice guarantee, no promise that a 16 GB card sails through. EXP workflows are qualified per-sample by the author. Your mileage is your mileage.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| partial4_denoised_output | LATENT | — | |
| lifted_full_av | LATENT | — | |
| lift_receipt | T8_CHUNKED_V5_GLOBAL_LIFT | — | |
| plan | T8_H3_CHUNKED_TWO_PASS_PLAN | — | |
| noise | NOISE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prepared | T8_CHUNKED_V5_PREPARED | — |
| report_json | STRING | — |