MiniMax H3 Trajectory Probe / 采样轨迹探针 (Advanced)
Split an H3 Sample in Half So You Can Resume It Later
- model
- sampler
- sigmas
- av_latent
- trajectory_contract
- high_sigmas
- low_sigmas
- report_json
- trajectory_model
Long H3 generations are a marathon, and sometimes you want to stop after the first few steps, save state, and finish the run later - or on a different machine, or after you've checked the early frames. MiniMaxH3TrajectoryProbeT8Advanced is the node that makes that possible. It doesn't sample anything itself and writes no files. It takes your model, sampler and sigma schedule and splits the schedule in two, binding a "trajectory contract" to the exact model/sampler identity so a later Save/Load pair can resume from the split point with the same math.
The mechanism, in plain terms
H3's sampler here is the T8 dual_clock_euler - a stateless rectified-flow Euler sampler, which is what makes checkpointing even feasible (stateless means the trajectory is fully determined by the sigma schedule and the latent, so you can stop and restart it). The probe:
- Splits the sigma schedule at
split_step(default 2) intohigh_sigmas(the coarse, noisy first half) andlow_sigmas(the fine, quiet second half). - Emits
trajectory_model- a cloned model wrapped so the resume path keeps state in the sampler's internal x_sigma space (which avoids the numerically lossy reconstruction you'd get from naive noise re-injection). - Emits the
trajectory_contract- a schema-stamped record that pins this split to this exact model/sampler identity, so you can't accidentally load a checkpoint with a different model and get silently wrong output.
Inputs:
model (must be the T8 dual_clock_euler MODEL output - it refuses others), sampler, sigmas, av_latent (to know the latent shape), split_step, noise_seed, and maximum_checkpoint_mib (a guard on how big a saved checkpoint you'll allow, default 4 GiB).
Outputs:
the contract, high_sigmas/low_sigmas, trajectory_model, and report_json. The wiring pattern is: Probe → SamplerCustomAdvanced (stage 1, using high_sigmas) → Checkpoint Save → later Checkpoint Load → SamplerCustomAdvanced (stage 2, using the loaded state + low_sigmas).
Installing:
part of MiniMax H3 Audio T8. Manager → "MiniMax H3 Audio T8", or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
Restart. No mandatory pip deps.
The hard limits (read these before relying on it):
the resume chain only supports the T8 dual_clock_euler + native_flow pairing - no DPM++, no SDE/ancestral, no third-party samplers, and it can't resume a run interrupted inside a Transformer forward. This is a step-boundary checkpoint, not an every-frame state dump. It's genuinely useful for the "render the coarse pass, check it, then refine" workflow; it is not a general sampling interrupt/resume tool.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| sampler | SAMPLER | — | |
| sigmas | SIGMAS | — | |
| av_latent | LATENT | — | |
| split_step | INT | 21–9999 | — |
| maximum_checkpoint_mib | FLOAT | 40961–65536 | — |
| noise_seed | INT | 00–18446744073709550000 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| trajectory_contract | H3_T8_TRAJECTORY_PROBE | — |
| high_sigmas | SIGMAS | — |
| low_sigmas | SIGMAS | — |
| report_json | STRING | — |
| trajectory_model | MODEL | — |