MiniMax H3 Long Video Tail/Second Pass Plan (Advanced EXP/T8)
Refine the tail of every long-video segment without rebuilding the loop
- sampling_plan
- report_json
Long videos in the T8 pack aren't one giant generation - MiniMax H3 samples short clips (the pack's in-node loops use a 124-frame render window with a 22-frame context) and chains them segment by segment. That works great until you look at a segment and wish the tail of the shot had more refinement, or you want a low-sigma pass over the finished piece. That's what this node exists for: it plugs into the two in-node long-video runners and lets you plan an extra tail-subdivision or a manual low-sigma second pass per segment, without touching the loop itself.
The design principle is the pack's favorite trick, done right: it's append-only and disconnectable. The node's mode defaults to disabled, and if you disconnect it entirely, the long-video runners behave exactly as they always did - the author's own docs promise the old in-loop values stay bit-identical. So this is pure opt-in, which is exactly how an experimental node should behave. The bundled workflow is 04-long-video/2026-08-30_H3_In_Node_Long_Video_Prompt_Relay_EAV_Manual_Second_Pass_Advanced_EXP.json.
How it works
You pick one of three modes, and the node emits a sampling_plan object the long-video runner consumes when building its per-segment sigma schedule:
disabled- the plan exists but changes nothing. The default, and the safe place to leave it.tail_subdivide- subdivides only the final H3 interval of the main trajectory into extra steps (extra_tail_steps, 0–8). Every inserted tail point is one more full joint audio/video forward pass, so the NFE grows, but nothing else about the main pass changes.manual_second_pass- after each segment's main sampling completes, a separate ordinary sampler runs again over the segment using your manually-specified sigmas. The default table is0.5, 0.412, 0.350, 0- the same low-sigma route the pack uses in its identity-preserve experiments.
Both modes keep the joint AV dual-clock contract: audio isn't frozen or re-noised on its own, it's sampled together with the video on the H3 dual clock, same as the main pass. The two passes share one bounded preview-cache state, Prompt Relay stays global, and Enhance-A-Video only audits the main pass - the pack deliberately doesn't reuse old EAV runtime errors on the second pass.
The inputs that matter
Only two, really:
extra_tail_steps- how many extra steps to squeeze into the tail (only used bytail_subdivide). One, the default, is a reasonable starting point; more steps cost real compute.manual_sigmas- the comma-separated schedule formanual_second_pass. It must strictly descend and end at exactly zero; the node validates it and will refuse nonsense.tail_spacing(video_sigma_lineardefault,video_sigma_cosine,base_flow_linear) picks how the inserted tail steps are spaced.
The two outputs are sampling_plan, which feeds the runner, and report_json - the parsed schedule, mode, and how many extra NFE each pass adds, so you can see the actual cost before running.
Installing it
Same pack, same install: ComfyUI 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
then restart. No model files and no extra pip packages for this node - requirements.txt is intentionally empty, with base dependencies supplied by ComfyUI. The usual T8 warning still applies: update ComfyUI core, frontend and Manager together and fully restart, because this pack leans on newer core APIs (comfy_api.latest, comfy.ldm.minimax) and a stale core makes every T8 node fail at import.
Where people get burned
- Treating a second pass as a free quality boost. The pack's scientific boundary is blunt: both modes change the joint video/audio trajectory and do not promise more detail or unchanged speech. Extra steps means extra forwards, and the tail can drift. Watch the full result and listen - the author is explicit that visual review plus listening are the human gate.
- Forgetting it only works in the two in-node runners. This plan feeds the in-node long-video loops (the
In_Node_Long_Video_...workflows), not the Background/Accepted route or a generic sampler. If you wire it into the wrong workflow, nothing happens. - Typing a manual schedule that isn't strictly descending. The validator rejects flat or ascending sigmas and anything not ending in zero. Copy the default
0.5, 0.412, 0.350, 0and edit carefully.
If you've ever wished one segment of a long H3 render had a cleaner tail without re-rolling the whole chain, this is a tidy answer: plan it, review it, and disconnect it the day it stops earning its keep.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | disabled | 3 options: disabled, tail_subdivide, manual_second_pass |
| extra_tail_steps | INT | 10–8 | — |
| tail_spacing | COMBO | video_sigma_linear | 3 options: video_sigma_linear, video_sigma_cosine, base_flow_linear |
| manual_sigmas | STRING | 0.5, 0.412, 0.350, 0 | Used only by manual_second_pass; must strictly descend to 0. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| sampling_plan | H3_T8_LONG_VIDEO_SAMPLING_PLAN | — |
| report_json | STRING | — |