MiniMax H3 Spatio-Temporal Guidance / 时空引导 (Advanced)
STG for H3, tuned for its joint AV transformer and its conflict-prone patches
- model
- model
- report_json
Spatio-temporal guidance (STG) is a well-known trick from the image/video diffusion world: at each denoising step, run a perturbed forward pass alongside the main one and push the two apart, which sharpens detail and motion without cranking CFG. MiniMaxH3SpatioTemporalGuidanceT8Advanced is the T8mars pack's H3-native implementation of it - skip-layer STG that adds one perturbed joint AV forward at every active step. Because H3 generates audio and video jointly, the guidance runs on the joint forward, and the node is opinionated about how you may (and may not) combine it with other patches.
How it works
You take your H3 MODEL, set a scale, and the node returns a wrapped MODEL plus a report_json. During sampling it performs the main forward and one perturbed joint AV forward per active step, and uses their difference to guide the output. The controls:
scale(0.6) - guidance strength. 0 disables it.start_progress(0.25) /end_progress(0.85) - the denoising window where guidance is active. Starting at 0.25 skips the noisy early steps where STG mostly adds chaos.double_blocks(25) - which double blocks get the skip-layer treatment.shift_video(12) - the temporal perturbation offset for the video stream.rescale(0) - the tooltip is a hard rule: must remain 0. A shared AV global-std rescale is intentionally rejected by this implementation.
The conflict guard: the node refuses block-replacement conflicts. That's the pack's standing position on the whole attention-patching mess - STG, Enhance-A-Video, KJ Sage, BlockCache all touch the same mechanism, and stacking them is how you get silent breakage. The README's rule for STG specifically: don't stack it with other global attention patches.
Why it exists
H3's joint AV structure means the naive "perturb only video" STG from the image world doesn't map cleanly - perturbing one modality while the other runs straight is exactly the kind of half-patched thing that makes audio drift. This implementation perturbs the joint forward, which is the honest way to do STG on an omni-modal model. The author's own testing keeps the expectations low: mechanical media comparisons pass, but the pack does not claim universal quality improvement, audio non-inferiority, or general 16GB safety.
Install
Pack standard - Manager search "MiniMax H3 Audio T8", or
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
then restart. No extra pip packages. Wire the output MODEL into your sampler (the pack's dual-clock sampler) and keep scale modest.
The honest take
STG is one of those "one extra forward per step" techniques that doubles sampling cost, so it's only worth it when you've already got a base render you mostly like and you want that last bit of motion/detail coherence. Start at the defaults, check one scene, and if you don't see the difference you're paying for, turn it off - the pack's own results admit the advantage isn't guaranteed on every machine. And whatever you do, respect the rescale=0 rule and don't stack it with another attention patch, or the only thing that'll be guided is your debugging session.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| scale | FLOAT | 0.600–5 | — |
| double_blocks | STRING | 25 | — |
| start_progress | FLOAT | 0.250–0.99 | — |
| end_progress | FLOAT | 0.850.01–1 | — |
| shift_video | FLOAT | 12.000.01–100 | — |
| rescale | FLOAT | 0.000–1 | Must remain 0; shared AV global-std rescale is intentionally rejected. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| report_json | STRING | — |