Nodes/ComfyUI MiniMax H3 Timeline Director/MiniMax H3 Locked Audio Master (Internal)
ComfyUI Node

MiniMax H3 Locked Audio Master (Internal)

One continuous waveform instead of fifteen stitched slices

By Songssx·Created about a month ago·Updated 2 days ago· 465
MiniMax H3 Locked Audio Master (Internal)
  • finite_plan
  • Original Audio

Every other audio node in this pack deals in segments. This one refuses to. It takes the finite plan - the whole thing - and returns the original soundtrack for the whole duration in one piece.

Its docstring, "Decode the continuous original waveform once for the final video output," is doing a lot of work in one sentence. Slicing a recording per segment and gluing the pieces back together gives you a soundtrack that is technically the source audio and audibly not: you can hear the seams, and any re-encode at the joins is a place for artifacts to live. So the pack slices per segment for the sampler's benefit - because H3 needs an audio latent per segment - and then, at the end, skips the assembly entirely and re-cuts one continuous waveform at the final duration. The README's creator tests claim 99%+ content and timing consistency with this path, which is the kind of number that only makes sense if nothing is being stitched.

How it works

Three inputs' worth of logic from one plan.

It finds the locked asset by walking the plan for the locked original-audio asset. If there isn't one, it raises "The finite plan has no locked original soundtrack" - this node has no fallback behaviour, on purpose. Silently returning generated audio here would be worse than failing.

It works out the final duration. It prefers the plan's target_output_frames; failing that, it sums the segment lengths and subtracts every overlap after the first, which is exactly the frame count you get after deduplication; failing that, it falls back to the first segment's length. Three fallbacks sounds defensive, but each corresponds to a different generation path - auto-segmented, manually segmented, single segment.

It re-cuts from the source. It builds a synthetic master plan from the first segment, and if the locked asset is a standalone recording rather than the timeline's own mixed soundtrack, it attaches that asset to the plan and reads the interval off it. Then it hands the whole span to the same interval logic the per-segment slice uses - but with output_frames set to the full duration instead of one segment's length. Same code, different frame count. That's the elegance of it: there's one definition of "where does the audio come from" in this pack, and the master just asks for all of it.

Inputs and outputs

One required input: finite_plan (MINIMAX_H3_FINITE_SEGMENT_PLAN, the Material Planner's Segment Plan output).

One output: Original Audio, a ComfyUI AUDIO dict spanning the full output duration. In the sampler's expanded graph this replaces the merged audio stream just before the output, so if you're wiring it by hand, that's where it goes - in front of the video saver, after the frames are final.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Songssx/ComfyUI-MiniMaxH3-TimelineDirector.git

Restart, search MiniMax H3. No pip step; empty dependency list, standard ComfyUI environment. It's an (Internal) dev-only node, so it won't appear in the add-node menu unless dev mode is on - intended, not broken. You need a recent ComfyUI with native H3 nodes, the H3 Ref2VA model, CLIP, video VAE and audio VAE, and Python 3.10+.

Common issues

"The finite plan has no locked original soundtrack." Locked audio is a planner setting, not a switch on this node. Configure it there - either upload a locked audio asset or enable video original audio - and re-run the plan.

Audio length doesn't match the video. Duration comes from the plan's target_output_frames when it's set, so a plan that auto-computed a target that doesn't match your final frames will show up as a mismatch. In the shipped graphs the frames get trimmed to that same target, so they agree; hand-wired chains can drift.

You hear the uploaded recording, but the previews had H3-generated sound. Correct and intended. Locked audio means the final master is the source, and per-segment previews are the internal path.

Video audio off, mystery silence instead. That's the sibling node's job, not this one - with video audio disabled the pack substitutes a duration-exact silent master rather than letting H3 invent a replacement soundtrack. Which is the honest behaviour: if you asked for no audio, you get no audio, not plausible-sounding invented audio.

CategoryMiniMax H3/Internal

Inputs (1)

NameTypeDefaultDescription
finite_planMINIMAX_H3_FINITE_SEGMENT_PLAN

Outputs (1)

NameTypeDescription
Original AudioAUDIO