JZL - 🎬 视频调度2
The fixed-port video dispatcher — 8 named videos, each with its audio pre-paired
- va_instruction
- 视频A
- 视频A(音频)
- 视频B
- 视频B(音频)
- 视频C
- 视频C(音频)
- 视频D
- 视频D(音频)
- 视频E
- 视频E(音频)
- 视频F
- 视频F(音频)
- 视频G
- 视频G(音频)
- 视频H
- 视频H(音频)
- ref_video_0
- ref_video_audio_0
- ref_video_1
- ref_video_audio_1
- ref_video_2
- ref_video_audio_2
If you've used 视频调度 and wished it would just stop guessing, this is the one. JZL - 🎬 视频调度2 trades the auto-classifying dynamic ports for a fixed, explicit interface: eight named video inputs, each with its audio track already paired next to it.
The layout is dead simple: 视频A through 视频H (video A–H), and right under each one a matching 视频A(音频)–视频H(音频) audio port. Load a clip called 视频A, attach its soundtrack to 视频A(音频), and when the dispatch instruction says 视频:A, the node knows exactly where to find both halves. No name fuzzy-matching, no keyword classifier - the port name is the slot name.
How the routing works
The va_instruction input parses the slot JSON from the 分段处理中心's 视频调度 output. Each slot is assigned in order to the next free output group, with the same-name audio auto-paired - plug 视频B's track into 视频B(音频) and it rides along with the video wherever it's routed.
Like the other dispatchers, this one checks the global asset pool first (the pack's generation manager can hand assets around wirelessly, no wire needed), and falls back to the fixed ports for old workflows. Three groups come out:
- ref_video_0 (
IMAGE) + ref_video_audio_0 (*) - ref_video_1 + ref_video_audio_1
- ref_video_2 + ref_video_audio_2
These feed the H3 reference encoder's <Video k> slots. And as with every dispatcher in this pack, unmatched slots stay None - not encoded, not sampled - so a missing clip creates a clean gap instead of a mismatched reference.
When to reach for it
This is the "make it predictable" pick. Use the original 视频调度 when you're iterating and want auto-growing ports; use this "2" when you're building a template or sharing a workflow, because A–H naming is self-documenting and debuggable. It also lines up cleanly with how you declare references in the script processor's ref_video_intro (声明 视频A = 动作参考 style lines) - the declared name and the port name match, so there's no translation layer to get wrong.
One thing to watch: don't load the same clip twice into different letters - the dispatcher treats 视频A and 视频B as distinct assets, and duplicated references are a classic way to waste H3's limited reference slots.
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. Recent ComfyUI required. Video loading falls back to imageio-ffmpeg when ffmpeg isn't installed system-wide - that's the first thing to install if reference videos won't load frames. No LLM runtime needed here.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| va_instruction | * | — | |
| 视频Aopt | IMAGE | — | |
| 视频A(音频)opt | AUDIO | — | |
| 视频Bopt | IMAGE | — | |
| 视频B(音频)opt | AUDIO | — | |
| 视频Copt | IMAGE | — | |
| 视频C(音频)opt | AUDIO | — | |
| 视频Dopt | IMAGE | — | |
| 视频D(音频)opt | AUDIO | — | |
| 视频Eopt | IMAGE | — | |
| 视频E(音频)opt | AUDIO | — | |
| 视频Fopt | IMAGE | — | |
| 视频F(音频)opt | AUDIO | — | |
| 视频Gopt | IMAGE | — | |
| 视频G(音频)opt | AUDIO | — | |
| 视频Hopt | IMAGE | — | |
| 视频H(音频)opt | AUDIO | — |
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 | * | — |