MiniMax H3 Prompt Relay Long Video Conditioning / 长视频分段路由条件 (Advanced)
Segment-level relay conditioning that keeps Long Video's motion context intact
- model
- clip
- video_vae
- audio_vae
- context
- prompt_relay_plan
- drive_audio
- final_audio
- first_frame
- last_frame
- ref_images
- ref_videos
- ref_video_audios
- ref_audios
- persistent_identity_image
- model
- positive
- av_latent
- mux_audio
- conditioned_prompt
- media_map_json
- report_json
Putting Prompt Relay into a Long Video pipeline is a composition problem: Long Video already does its own thing - re-injecting the previous segment's tail as motion context - and relay wants to patch the model's attention with timed event windows. Do them naively and the two mechanisms fight over the same attention entry point. MiniMaxH3PromptRelayLongVideoConditioningT8Advanced is the node that composes them: it takes the existing Long Video motion-context payload repair and the Prompt Relay attention routing, and isolates them so each does its job without clobbering the other. The description's phrase is "isolated composition" - and the promise is that the old Long Video Conditioning schema is never changed.
This is the per-segment workhorse. Where MiniMaxH3PromptRelayLongVideoPlanT8Advanced projects the global timeline into a segment's window, this node consumes that projected plan, encodes it through the H3 Qwen chain, and produces the same downstream bundle the plain relay Conditioning node does - model, positive, av_latent, mux_audio - but with Long Video's context handling layered in.
The inputs that matter
model,clip,video_vae,audio_vae- native H3 components, unpatched (the tooltip on model says "not connected to other patches").context(H3_T8_CONTEXT) - the Long Video context handle, wired from the Planner.prompt_relay_plan- must come from the paired Long Video Window node (MiniMaxH3PromptRelayLongVideoPlanT8Advanced). Not the plain relay Plan - that's a hard requirement.segment_indexandcontext_frames(0–39, the 5/22/39 overlap) - which segment this is and how much past it re-renders.length- 124 default, steps of 17, on H3's native frame grid.context_audio-video_and_audioby default; the audio side of the context tail is a real choice here.- The familiar relay/audio bundle:
task_type,audio_mode(nativedefault),audio_denoise_strength(0.35),add_source_as_reference(true),execution_mode(report_only→apply_exp),query_chunk_rows(256). - Long Video extras:
first_frame_reuse(segment0_only), pluspersistent_identity_image/persistent_identity_strategy/persistent_identity_interval- the identity-through-segments levers.
Outputs: model, positive, av_latent, mux_audio, conditioned_prompt, media_map_json, report_json.
The wiring rules that matter
The same discipline applies as the plain relay Conditioning node - report_only first, then apply_exp; lock_source + mux_audio to the save node if you need the original voice; and the README's reminder that drive_audio is a generation condition, not deterministic lip-sync. The real chain the author ran - segment 0→1 with 22-frame context, events that didn't restart at the head, 124+102 frames, three rounds of strict decode on video and audio - validates the mechanics, not universal quality. Audio seams still need your ears.
Install
Part of the MiniMax H3 Audio T8 pack:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
or search "MiniMax H3 Audio T8" in ComfyUI Manager and restart. No pip deps; supply H3 weights and VAEs; ffmpeg on PATH for final Long Video concat. The template is examples/workflows/04-long-video/2026-08-20_H3_Prompt_Relay_Long_Video_Turbo8_Advanced_EXP.json - follow its canvas notes for the exact ordering.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | 未接其他补丁的原生 MiniMax H3 MODEL。 | |
| clip | CLIP | 原生 MiniMax H3 Qwen3-VL CLIP。 | |
| video_vae | VAE | — | |
| audio_vae | VAE | — | |
| context | H3_T8_CONTEXT | — | |
| prompt_relay_plan | H3_T8_PROMPT_RELAY_PLAN | 必须来自同段 Long Video Window 节点。 | |
| segment_index | INT | 00–99999 | — |
| context_frames | INT | 00–39 | — |
| context_audio | COMBO | video_and_audio | 2 options: video_and_audio, video_only |
| width | INT | 105632–16384 | — |
| height | INT | 60832–16384 | — |
| length | INT | 1245–3600 | — |
| task_type | COMBO | auto | 7 options: auto, T2VA, I2VA, FL2VA, L2VA, Ref2VA, +1 |
| audio_mode | COMBO | native | 4 options: native, lock_source, remix_source, reference_only |
| audio_denoise_strength | FLOAT | 0.350–1 | — |
| add_source_as_reference | BOOLEAN | true | — |
| prompt_primary_audio_ordinal | INT | 00–9 | — |
| strict_prompt_tags | BOOLEAN | true | — |
| ref_image_size | COMBO | match | 2 options: match, max |
| reference_video_policy | COMBO | official_2_to_15s | 2 options: official_2_to_15s, model_minimum |
| execution_mode | COMBO | report_only | 先 report_only;确认报告后再显式切到 apply_exp。 |
| query_chunk_rows | INT | 25632–2048 | — |
| drive_audioopt | AUDIO | — | |
| final_audioopt | AUDIO | — | |
| first_frameopt | IMAGE | — | |
| last_frameopt | IMAGE | — | |
| ref_imagesopt | COMFY_AUTOGROW_V3 | — | |
| ref_videosopt | COMFY_AUTOGROW_V3 | — | |
| ref_video_audiosopt | COMFY_AUTOGROW_V3 | — | |
| ref_audiosopt | COMFY_AUTOGROW_V3 | — | |
| first_frame_reuseopt | COMBO | segment0_only | 2 options: segment0_only, persistent_identity_reference |
| persistent_identity_imageopt | IMAGE | — | |
| persistent_identity_strategyopt | COMBO | single_reference | 2 options: single_reference, scene_plus_identity |
| persistent_identity_intervalopt | INT | 11–32 | — |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| positive | CONDITIONING | — |
| av_latent | LATENT | — |
| mux_audio | AUDIO | — |
| conditioned_prompt | STRING | — |
| media_map_json | STRING | — |
| report_json | STRING | — |