MiniMax H3 MV Vocal Lock Scene Planner V2 / 独立人声分镜 (Advanced EXP/T8)
The scene planner that needs two audio tracks — and why that's the point
- full_song
- vocal_lock_audio
- scene_plan
- scene_count
- duration_seconds
- timeline_json
- report_json
The first Vocal Scene Planner cuts a song into scenes using the full mix. This V2 planner looks at the song and goes "nice track, but I need to hear the person." Because if your goal is lip-sync you can actually verify, the vocal buried under the backing track is not what should be driving the mouth - clean vocals are. Hence the two required audio inputs, and the reason this node exists in the recommended V2/V3 chain rather than the compatibility V1 one.
Two tracks in, scenes out
full_song is the master you'll eventually hear in the finished video. vocal_lock_audio is a required local vocal stem or clear dialogue that shares the same start point and timeline as the full song. Feed the node both and it runs the same deterministic CPU energy analysis as V1, but now with two jobs: finding 5–10 second scene boundaries and marking the vocal-active intervals inside each scene - the stretches where the person is actually singing or speaking, which the prompt compiler downstream will force into mouth-visible framing.
Nothing here transcribes, separates stems for you, calls an LLM, or hits an API. If you don't already have a clean vocal track, that's on you to produce locally before this route will do you any good - the tooltip on vocal_lock_audio doesn't mince words: it's required. The two tracks must be timeline-aligned; the whole route is built on that contract and the renderer downstream refuses mismatched dual-audio inputs rather than guessing.
The knobs
The knobs are the scene-window trio plus one V2-specific control:
min_scene_seconds/target_scene_seconds/max_scene_seconds- 5 / 7 / 10 by default, the same boundaries-as-a-window idea as V1.vocal_active_ratio(default0.12, advanced) - the minimum fraction of a scene that must sit above the local vocal energy threshold for the scene to count as vocal-active. Raise it if you want scenes to be mostly singing; lower it if you want instrumental passages to count as performance scenes too.manual_boundaries_json(advanced) - optional explicit cut list ([5.2, 11.8]) that bypasses auto-analysis.analysis_hop_ms(advanced, default 50) - energy-analysis granularity. Lower = finer cuts, more CPU.
Outputs
Outputs are the shared planner contract: scene_plan (typed, feeds the V2 prompt compiler), scene_count, duration_seconds, timeline_json, and report_json. Nothing generates media - this is pure analysis, and it's deterministic, so the same two audio files always yield the same storyboard.
V2 or V3: which chain
Now the wider picture, because it decides whether you should use V1, V2 or V3. The recommended current route in the pack is Vocal Lock V3: this same V2 planner → the Vocal Lock Visual Director V3 (per-scene, one-person/one-face shot contract) → the V3 renderer running the official Ref2V Turbo v0.1 four-step recipe. The planner doesn't change between V2 and V3 - the director and renderer do. If you're doing a single quick clip, V2 (with the Vocal Lock Prompt Compiler V2) is the lighter pair; if you're chasing a verified multi-scene long MV, use V3. Either way, you start here, with an isolated vocal.
Reality check for lip-sync expectations, straight from the author's own validation notes: H3 with a clean vocal lock passes objective SyncNet offset checks and normal-speed human review - but this route is "audio-conditioned performance orchestration," not a deterministic phoneme solver. The planner finds vocal-active scenes; it can't promise per-phoneme mouth accuracy, and identity, hand, background and cut quality still need a real human watch at normal speed.
Installing it
Install: ComfyUI Manager search MiniMax H3 Audio T8, or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git into custom_nodes, restart, with ComfyUI core updated first. Then grab the dated Vocal Lock workflow under examples/workflows/24-mv-lipsync - the whole point of these planners is that they plug into a proven graph you shouldn't rewire from memory.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| full_song | AUDIO | 最终成片使用的完整原曲。 | |
| vocal_lock_audio | AUDIO | 必需:与原曲同起点、同时间线的本地隔离人声或清晰对白。 | |
| min_scene_seconds | FLOAT | 5.01–15 | — |
| target_scene_seconds | FLOAT | 7.01–15 | — |
| max_scene_seconds | FLOAT | 10.01–15 | — |
| analysis_hop_ms | INT | 5020–500 | — |
| vocal_active_ratio | FLOAT | 0.120–1 | 场景内高于本地人声能量门的最小时间比例。 |
| manual_boundaries_json | STRING | 可选秒数列表,例如 [5.2, 11.8];留空自动分析。 |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| scene_plan | H3_T8_MV_SCENE_PLAN | — |
| scene_count | INT | — |
| duration_seconds | FLOAT | — |
| timeline_json | STRING | — |
| report_json | STRING | — |