H3 HyperFlow P7 · Pair Relay to ONE Phase (T8 EXP)
Relay routing only counts if the sampler actually did it
- model
- prepared_phase
- clip
- projected_relay
- model
- positive
- negative
- report_json
Prompt Relay is the pack's way of saying "this prompt applies to these frames". You write a plan covering the whole video - this dialogue from frame 0, this action from frame 60 - and the Relay machinery routes each event to the frames it belongs to. Which is lovely for a single 8-step generation and more complicated in a segment pipeline, because a segment is a window into a longer timeline and the frames it covers are absolute, not local.
Pair Relay to ONE Phase is the apply step. It binds the projected Relay window and the phase's own motion guides to both the MODEL and the CONDITIONING, and it happens before the phase setup so the setup node inherits a properly paired model/conditioning.
Inputs
projected_relay is the typed output from External Relay Window - the project step is what maps your global plan onto this segment's exact frame range, and the apply node consumes that result rather than the plan itself.
prepared_phase is the LOW or HIGH phase you're attaching to. clip is your text encoder, needed because the events turn into text conditioning. model is the phase's model branch (before setup patches it - this node returns a patched model that the setup then works from).
query_chunk_rows defaults to 256 (range 32–2048) and is the memory knob for the Relay query pass. Lower it if you're tight on VRAM and don't mind it taking longer; raise it if you have headroom and want fewer chunks. You'll know it's mattering when the run slows down or OOMs specifically here.
mode is apply_exp by default, with disabled as the alternative. That default is worth flagging: elsewhere in this pack, EAV defaults to a report-only no-op and you have to opt in. Here the Relay apply node ships enabled, so a graph you copy from someone else may be routing text in ways you didn't intend. Check it.
Outputs
model, positive, negative - all three feed the phase setup. Keep the model and the conditioning together, because the pairing is carried by both; splitting them gives you a stage that looks right and ignores your routing.
The audit point
An Apply node in the graph is not evidence that anything happened. That's not my reading, it's the node's own description, and it's the reason the pack reads effect coverage out of the completed stage result instead of trusting counters on apply nodes. If you want to know whether your Relay events actually fired in the sample, look at the report the stage result carries - a bypassed or missing effect reports as unverified application, which is different from "it ran fine".
Wiring
Global Relay Plan → External Relay Window → projected_relay
↓
LOW phase + model + clip → Pair Relay to ONE Phase → LOW 0:4 Setup
LOW and HIGH can carry different Relay plans, and neither requires the other to have one. You do want the same routing intent on both phases of a segment, though, or the second pass will write different text over the same frames.
Install
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
Restart ComfyUI fully and refresh the browser. The pack's requirements.txt is deliberately empty, so the install can't replace your Torch/CUDA build. Standard P7 preflight applies: H3 base weights, Qwen text encoder, video and audio VAEs, the original non-pruned HyperFlow adapter in models/hyperflow/loras/, and a learned 3D latent upscaler in models/latent_upscale_models.
If Relay seems to do nothing
Two likely causes. The model and the conditioning came from different places - you applied Relay to one branch's model and then fed a different model into the setup. Or your plan's events land outside this segment's frame window, which is entirely possible and not an error: a segment covering frames 124–192 simply has no events from the first five seconds in it. Project per segment and check the compiled prompt before blaming the sampler.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| prepared_phase | T8_HYPERFLOW_P7_PREPARED_PHASE | — | |
| clip | CLIP | — | |
| projected_relay | T8_HYPERFLOW_P7_RELAY_WINDOW | — | |
| query_chunk_rows | INT | 25632–2048 | — |
| mode | COMBO | apply_exp | 2 options: disabled, apply_exp |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| report_json | STRING | — |