H3 HyperFlow P7 · Bind Completed LOW Result (T8 EXP)
Pick the right socket and your HIGH pass gets better for free
- prepared_phase
- stage_result
- low_result
- low_x0
- report_json
If a two-pass pipeline can have a one-socket bug that ruins image quality without erroring, it will. P7's LOW phase is a 0:4 partial pass: it never arrives at a fully denoised picture, it predicts one. A sampler in ComfyUI exposes that prediction as the second output socket. Pick socket 0 instead of socket 1 and you hand the upscaler a picture that isn't the clean one - everything still runs, and the output is quietly worse.
Bind Completed LOW Result exists so you don't have to remember which socket. It takes the LOW phase and the stage sampler's receipt, verifies the receipt actually came from that phase (including the accepted parent and the source tensor identity), and returns low_x0 as the correct predicted-clean latent. No sampling happens here; it's a bind and a check.
Inputs
prepared_phase - the LOW instance of One Phase Native Conditions. This is the "which phase am I binding" half; the node uses it to confirm the receipt belongs to this phase's contract.
stage_result - the T8_STAGE_RESULT from the stage sampler. If you're feeding this from a plain SamplerCustomAdvanced you have the wrong output type and it will refuse.
Outputs
low_result is the typed object for Original Learned 3D Lift. low_x0 is the actual LATENT, exposed so you can inspect or route it yourself. report_json carries the verification.
Why the receipt rather than just the latent
Because in a chain where a segment can be resumed, cached, or reconstructed from disk, "the tensor on this wire" is not proof that the phase ran. P7 wants to know the receipt's identity: this sampler run, this phase, this accepted parent, this source tensor. Same philosophy as the effects audits - the pack repeatedly makes the point that a node sitting in the graph is not evidence it did anything.
Practically, that has one nice side effect and one annoying one. Nice: if you load a saved LOW (via Load Exact LOW for HIGH Only) and then re-bind it for a HIGH-only run, the node accepts it after revalidating the source - so the resume path is a first-class citizen rather than a hack. Annoying: re-using a stage result from a run you cancelled, or from a different phase, is rejected rather than tolerated.
Where it fits
LOW 0:4 Setup → ONE Stage Sampler → Bind Completed LOW Result (this node)
→ Original Learned 3D Lift → Original HIGH Audio Reconcile → HIGH 4:8 Setup
It's the seam between diffusion and upscaling, which is why it's also where you'd branch if you wanted to save the LOW stage (Save Exact LOW 0:4 sits right alongside it).
Install
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
Full ComfyUI restart, browser refresh. requirements.txt is empty by design so the install can't disturb your Torch/CUDA stack; you provide the H3 weights, text encoder, both VAEs, the original non-pruned HyperFlow adapter in models/hyperflow/loras/, and the learned 3D latent upscaler in models/latent_upscale_models.
Troubleshooting notes
A rejected bind almost always means the stage result and the phase don't belong to each other - most often because you changed the chain id, changed context_frames, or re-queued after editing a phase whose result you were still holding. Re-queue the whole segment; the stage result is regenerated.
And if you're rolling your own graph and skipping this node, be deliberate about it: the sampler's socket 0 is the non-terminal output and socket 1 is the predicted clean x0. The pack documents that the HIGH plan alone cannot detect the wrong LOW socket, so if the picture from your P7 run looks soft or slightly wrong and nothing errored, that's the first thing to check.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| prepared_phase | T8_HYPERFLOW_P7_PREPARED_PHASE | — | |
| stage_result | T8_STAGE_RESULT | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| low_result | T8_HYPERFLOW_P7_LOW_RESULT | — |
| low_x0 | LATENT | — |
| report_json | STRING | — |