Nodes/comfyui-minimax-h3-audio-T8/H3 HyperFlow P7 · External Relay Window (T8 EXP)
ComfyUI Node

H3 HyperFlow P7 · External Relay Window (T8 EXP)

Projecting Relay onto the right frames

By T8mars·Created 2 months ago·Updated about 7 hours ago· 1,158
H3 HyperFlow P7 · External Relay Window (T8 EXP)
  • contexts
  • global_plan
  • projected_relay
  • compiled_prompt
  • report_json
◄length124►
◄accepted_end_frame-1►

Prompt Relay is one of those features you don't miss until you have it. Instead of one prompt for the whole clip, you write a timeline: character walks in for the first two seconds, sits down at four, music cue at six. The pack compiles that into frame-ranged conditioning. In a segmented long video the wrinkle is that segment 2's frames are 124–192 on the timeline but 0–68 in its own little world, and your plan doesn't know about segments at all.

External Relay Window does the translation. You give it the segment's contexts, the global plan, and the length; it projects the plan onto this segment's exact frame window and hands you a typed object plus the compiled text.

Inputs

contexts - from either the initial-segment selector or the continuation contexts node. This is what tells the projector which segment and which frame range it's talking about; there's no separate frame-number widget for this, because the chain already knows.

global_plan - the pack's Prompt Relay plan type, produced by the Relay plan/conditioning nodes elsewhere in the pack. One plan for the whole video, written in absolute time.

length - 124 by default, matching the P7 segment length. Step is 17; keep it aligned with what your phase conditioning uses, or the projection and the sampling disagree about where the segment ends.

accepted_end_frame - defaults to -1, which means "figure it out from the accepted parent". Set it explicitly only when you want to override where the already-accepted material ends; that's the boundary the projection uses to decide which events are still in the future and can influence this segment.

Outputs

projected_relay goes to Pair Relay to ONE Phase. compiled_prompt is the rendered text for this window - wire it into the phase conditioning node's prompt input, or just read it to confirm your plan landed where you thought. report_json records the projection.

Do the reading, honestly. Half of "my prompts aren't working" in Relay workflows is a plan whose events fall outside the segment being generated. That's not a bug, it's arithmetic: a 124-frame segment can't be influenced by an event you scheduled at frame 200. Project per segment and eyeball compiled_prompt before you spend the GPU time.

LOW and HIGH separately

Both phases of a segment project independently, and they can use different plans - you might want the coarse pass driven by a simpler description and the high-resolution pass driven by the detailed one. What you don't want is to project LOW against the plan and then forget HIGH, because the HIGH pass writes the version you'll actually look at.

Where it sits

Global Relay Plan ─────────────────┐
contexts (segment context) ────────┴→ External Relay Window
                                        ├→ projected_relay → Pair Relay to ONE Phase
                                        └→ compiled_prompt → phase Conditioning prompt

No model patching, no sampling, nothing GPU-heavy. This node is purely bookkeeping, and it's cheap to experiment with - which is a nice property, given that everything downstream of it isn't.

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

Full ComfyUI restart, browser refresh. The pack ships an intentionally empty requirements.txt - nothing extra gets installed, so an install can't clobber your Torch/CUDA versions. The rest of the P7 graph still needs H3's weights, the Qwen text encoder, video and audio VAEs, the HyperFlow adapter in models/hyperflow/loras/ and the learned 3D latent upscaler in models/latent_upscale_models.

Notes

Keep the plan's timebase consistent with the chain's frame rate. P7 runs at 24 fps with 124-frame segments, so a plan written assuming 30 fps will quietly land its events in the wrong places - the projector will do exactly what you asked. And if you're resuming a segment that already used Relay, expect the source rebuild to want the HIGH model; the pack's own workflow notes flag that a Relay-loaded HIGH isn't a model-free decode.

CategoryT8/MiniMax H3/Modular Sampling/HyperFlow P7 Experimental

Inputs (4)

NameTypeDefaultDescription
contextsT8_HYPERFLOW_P7_CONTEXTS—
global_planH3_T8_PROMPT_RELAY_PLAN—
lengthINT124—
accepted_end_frameINT-1-1–10000000—

Outputs (3)

NameTypeDescription
projected_relayT8_HYPERFLOW_P7_RELAY_WINDOW—
compiled_promptSTRING—
report_jsonSTRING—