JZL - 🎬 视频调度
Feed it reference videos, and it pairs each one with its audio track
- va_instruction
- ref_video_0
- ref_video_audio_0
- ref_video_1
- ref_video_audio_1
- ref_video_2
- ref_video_audio_2
Reference video is H3's superpower - the model's V2V motion transfer is the thing people call "like Kling." But a video reference comes with baggage: a video track and an audio track, and the H3 reference encoder treats them as separate inputs. JZL - 🎬 视频调度 (Video Dispatcher) is the node that keeps the pair together and routes it into the right slots.
The trick is in the dynamic inputs. Connect a video to the node and it auto-adds a paired audio port named after the source - hook up a clip from a node called 动作参考, and you get a 动作参考(音频) audio port appear next to it. Load your reference videos, attach their audio tracks, and the dispatcher handles the rest.
How the routing works
The va_instruction input carries the slot list from the 分段处理中心's 视频调度 output. Each slot names a video - 视频:动作参考 - and the node matches it to the right loaded clip by name, then cross-wires the matching audio. Output is three groups of paired references:
- ref_video_0 (
IMAGE) + ref_video_audio_0 (*) - ref_video_1 + ref_video_audio_1
- ref_video_2 + ref_video_audio_2
Those map directly onto the H3 reference encoder's video slots (<Video k>, with the video's track as its own tag before it). H3 supports multiple reference videos, so the three slots cover multi-clip setups like one clip for motion and one for action.
Two behaviors worth knowing. Empty audio is treated as not-connected - if a clip genuinely has no soundtrack, that's fine, the audio slot just stays unset instead of feeding a silent blob into the encoder. And matching is strict: if the instruction names a video you didn't load, the slot stays empty rather than grabbing whatever's lying around.
The practical setup
Name your video loaders clearly, because slot matching is by name overlap - 动作参考 and 动作 will match, but a loader called 参考1 against a slot named 动作参考 won't. Keep the two halves of the pack in sync: the script processor's ref_video_intro field is where you declare what each reference video is for, and this node is where that declaration gets honored.
If you'd rather skip the name-matching entirely, the sibling 视频调度2 node gives you eight fixed named ports (视频A–H) with their audio tracks pre-paired.
Install
Standard JZL pack install: ComfyUI Manager → search JZL or ComfyUI-JZL-MiniMax-H3, or git clone https://github.com/wjluoxiao/ComfyUI-JZL-MiniMax-H3 into custom_nodes/ and restart. Needs a recent ComfyUI with the official H3 nodes. One dependency note: video loading in the pack falls back to imageio-ffmpeg when your system lacks ffmpeg - pip install imageio-ffmpeg is the quick fix if reference videos fail to load frames. No LLM runtime needed for this node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| va_instruction | * | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| ref_video_0 | IMAGE | — |
| ref_video_audio_0 | * | — |
| ref_video_1 | IMAGE | — |
| ref_video_audio_1 | * | — |
| ref_video_2 | IMAGE | — |
| ref_video_audio_2 | * | — |