MiniMax H3 Audio Tracks
Vocals drive the lip-sync, the full mix stays the soundtrack — one node keeps them straight
- full_mix
- vocals
- instrumental
- source_timeline
- status
MiniMax H3 doesn't just render video - it renders the audio with it, and that's exactly where the confusion starts when you want a specific song or dialogue. Feed it a track and the obvious thing happens: the model tries to match it, which is great for talking heads but awful for a vocal that's buried under a full mix it has to reverse-engineer. MiniMax H3 Audio Tracks is the pack's fix for that split personality. It lets one audio group say "these vocals are what the model lip-syncs to, but this full mix is what the final MP4 actually carries" - two different jobs, one synchronized bundle.
You only hit this node in the source-audio workflows of the MiniMax H3 Context Loop pack (the recursive scene-planning setup), so a quick framing: that pack renders one scene at a time from a plan, and when you want your characters to match an existing recording you set the Generation Profile to Lip-sync to source audio. That mode needs a clean driver. A full mix with guitars and drums in it is a bad driver; isolated vocals are a good one.
How it works
The node bundles up to three AUDIO inputs - full_mix, vocals, and instrumental - and hands you back one typed source_timeline wire that the rest of the chain understands. Think of it as the manual, graph-level way to do what Project Asset Carousel does with its Synchronized audio tracks pickers. The routing logic, straight from the author's docs:
- Full mix connected: used unchanged as the final soundtrack. Stems are never layered on top of it.
- No full mix: the supplied stems are summed once (sample rate and channels matched), and gain is only pulled back if the sum would clip.
- Vocals missing from a group: lip-sync errors out rather than trying to drive a mouth with instrumental music - a deliberate fail-loud, because wrong is worse than stopped.
One thing the node will not do for you: separate stems, stretch, or beat-match. Every track must already share the same start and full duration, silence included, aligned on the 24 fps source timeline. Provide your own aligned stems.
The inputs that matter
All three inputs are optional, and honestly most setups only use two:
vocals- isolated, full-length vocal track for lip-sync. Keep the leading silence and instrumental gaps; don't trim them, or alignment breaks.full_mix- the final soundtrack, used exactly as given.instrumental- aligned backing track, only consulted for automatic mixing whenfull_mixisn't connected.
The outputs are source_timeline (the H3_SOURCE_TIMELINE you feed into the existing Source Timeline inputs on Run Manager or Loop Start) and status (a string reporting the track routing and the computed mix gain - worth a glance the first run to confirm vocals actually got picked as the lip-sync driver).
Where it sits
Connect AUDIO loaders into it, point its source_timeline at the Source Timeline inputs, set Generation Profile to Lip-sync to source audio, and use the per-scene Lip-sync selector in Plan Studio (Inherit / On / Off) for instrumental-only scenes. The per-scene control only affects generation - turning lip-sync off for a scene never yanks the full mix out of your final audio.
Install and gotchas
It ships in the context-loop pack: grab it through ComfyUI Manager (search "MiniMax H3 Context Loop"), or from ComfyUI/custom_nodes:
git clone https://github.com/seitanism/ComfyUI-H3-Motion-Context-MultiRef.git
git clone https://github.com/ethanfel/ComfyUI-MiniMaxH3-Contex-Loop.git
then restart ComfyUI. Audio Tracks is a newer (0.6.x) addition, so if it's missing from your palette, update the pack. Grouped audio is the part of the pack the README still flags as unreleased polish, so expect the sharp edges there.
Where people get burned: duration mismatch errors (pad every stem to the full scene, silence and all), and trimmed vocals that make lip-sync drift a second or two into the clip. And one more - this node never checks that the audio actually contains a person. If your "vocals" is a synth lead, lip-sync will happily chase it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| full_mixopt | AUDIO | Final soundtrack, used unchanged. If absent, the supplied stems are mixed once. Never added on top of stems. | |
| vocalsopt | AUDIO | Isolated full-length vocals for lip-sync. Keep leading silence and instrumental gaps; do not trim them. | |
| instrumentalopt | AUDIO | Optional aligned backing track. Used for automatic mixing only when full_mix is not connected. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| source_timeline | H3_SOURCE_TIMELINE | Grouped audio: vocals drive locked-source generation; the final mix drives export. Connect to the existing Source Timeline inputs. |
| status | STRING | Track routing and automatic mix gain. |