MiniMax H3 HyperFlow Partial 4 Sampler (EXP/T8)
Feed 4 steps, then upscale
- model
- av_latent
- hyperflow_plan
- model
- sampler
- sigmas
- report_json
MiniMaxH3HyperFlowCoarseSamplerT8Advanced runs only absolute intervals 0:4 - four evaluations of the HyperFlow trajectory at the low resolution. Then you upscale the result with the learned 3D H3 latent upscaler and let the high-resolution stage re-noise and finish intervals 4:8. Eight total network evaluations for the whole two-stage job.
Its reason for existing is a wiring detail that the author clearly watched people get wrong, because it's the first sentence of the node description: feed SamplerCustomAdvanced's denoised_output (socket 1) to the upscaler, not its nonterminal x_sigma result.
Why socket 1
A custom sampler hands out two things. Socket 0 is the latent as it stands at the end of the trajectory - still carrying noise, which is correct if you're about to keep sampling on the same clock. Socket 1 is the model's predicted clean x0. If you're about to resize the latent and restart the schedule at a different resolution, you want the clean prediction; passing the noisy one into a learned upscaler feeds it a distribution it wasn't trained on, and it'll produce something that looks plausibly sharp and is subtly wrong.
The T8 runtime notes put it bluntly: "the HIGH plan check alone cannot detect a wrong LOW socket." So the node's report is the only place the mistake shows up, and only if you go looking.
What the node enforces
Three inputs: model (HyperFlow-patched), av_latent (native packed H3 AV), and hyperflow_plan. It checks the plan is exactly the 0:4 Head plan and raises HyperFlow partial upscale requires the absolute 0:4 Head Plan otherwise - so a Tail plan here fails fast rather than sampling the wrong four steps.
Outputs are the familiar trio plus a receipt: model, sampler, sigmas, report_json. The report names the recipe it's driving - hyperflow4plus4_partial_x0_upscale_exp_v1 - the handoff chain (low_denoised_output_learned_3d_high_new_noise), and quality_status: unverified_experimental. That last field is the author being straight with you: this route has generated valid media at both landscape and portrait sizes, and its picture quality hasn't been certified.
The rest of the wiring
After the coarse sampler: SamplerCustomAdvanced → grab socket 1 → learned 3D latent upscaler → the Tail Plan and the tail-side sampler for 4:8 with fresh noise. The high stage's plan must be the 4:8 Tail plan; the refine sampler refuses anything else in the same way the coarse one does.
This is a genuine low-to-high pipeline, and the general shape should feel familiar from image work - generate at a native size, upscale the latent, then let a short second pass re-add coherent detail rather than asking an upscaler to invent everything. What's different here is that it's a distilled 8-step adapter, so the "short second pass" is four evaluations and the schedule is the one the adapter was trained on, not a denoise strength you dial by feel.
Install
ComfyUI Manager → 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
Restart ComfyUI fully, then refresh the page. The pack's requirements.txt installs nothing - everything it needs (torch, numpy, Pillow, safetensors) comes from ComfyUI, and optional features check their own dependencies only when used. This route wants the HyperFlow file in models/hyperflow/loras, an unpruned H3 base in models/diffusion_models, and the learned 3D upscaler in models/latent_upscale_models.
Where it bites
The socket. Everything else in this article is secondary. There's usually no error, just a worse picture.
Re-noise is not a continuation. Both this route and the 8+4 tail route deliberately re-noise the AV latent at HIGH. The pack says this twice in two different documents, which tells you it gets asked about a lot. Don't describe the result as a seamless two-stage continuation, and don't expect it to inherit seam quality from the pack's other recipes.
Four plus four is not one trajectory. If you want a faithful split of a single trajectory, use the continuous split node, which has measured zero latent difference against the single-pass run. This is the other thing entirely.
Size both stages on the 32-grid, and keep the upscale relationship clean. The formal probes used 832×480 at 0.4 MP and 544×960 at roughly 0.52 MP with a 2x learned upscale; the pack is explicit that other sizes it can represent are not GPU- or quality-qualified.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| av_latent | LATENT | — | |
| hyperflow_plan | T8_H3_HYPERFLOW_PLAN_V1 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| sampler | SAMPLER | — |
| sigmas | SIGMAS | — |
| report_json | STRING | — |