Nodes/ComfyUI MiniMax H3 Timeline Director/MiniMax H3 Timeline Director
ComfyUI Node

MiniMax H3 Timeline Director

The one-node timeline that old workflows still point at

By Songssx·Created about a month ago·Updated 2 days ago· 465
MiniMax H3 Timeline Director
  • clip
  • vae
  • audio_vae
  • positive
  • LATENT
  • Merged Video Audio
  • Merged Standalone Audio
prompt
width1344
height768
generation_seconds5.0
ref_image_sizematch
timeline_data

This is the node that gives the pack its name, and the one you probably arrived at through someone else's workflow. MiniMax H3 Timeline Director is an editable multi-clip timeline baked into a single ComfyUI node: you drop in reference videos, images and audio, drag a cyan range over the interval you want generated, and the node hands you conditioning, an audio-video latent, and two audio streams. One wire out, done.

The catch worth knowing up front: the pack has since moved on. The current recommended entry point is Material Planner → Finite Segment Sampling, and the README lists this node as the compatibility path that "preserves the original all-in-one workflow and older saved workflows." So if you're building fresh, start with the planner. If you're opening a graph from a month ago and half the nodes are red, this is why - and this one still works.

How it works

Unlike the plumbing-style nodes you may have seen from rgthree or Efficiency (which carry a context bundle down one wire), this isn't a context bus. It's a UI host. The editing surface lives inside the node in the frontend, and timeline_data is where that state gets serialized into the workflow JSON - which is the nice part, because your clip positions, trims and per-clip modes survive a save/reload.

Everything downstream follows from the canvas inputs. width and height (default 1344×768) and generation_seconds (default 5, range 0.21–150) define the generation window; the tooltip on generation_seconds says it's "synchronized both ways with the cyan timeline range," so dragging the range moves the number and vice versa. Only media that actually intersects that cyan range participates in the plan. The order is deterministic, not incidental: videos are numbered left to right by where they cross the range, and standalone images and audio follow their visible bin order, so drag-reordering the bin genuinely re-orders the <Picture N> / <Audio N> tags H3 receives.

ref_image_size is a two-option combo, match or max, controlling how reference images are resized relative to the canvas. Default match is what you want unless you're deliberately testing.

Inputs and outputs that matter

Required inputs: clip, vae, audio_vae (the H3 video VAE and the H3 audio VAE - they're separate models, don't cross the wires), prompt (the global H3 prompt), width, height, generation_seconds, ref_image_size, and timeline_data.

Four outputs:

  • positive → your guider.
  • LATENT → the sampler's latent input. It's a nested H3 audio-video latent, not a plain video latent, which is why the audio VAE is a required input here.
  • Merged Video Audio → the source soundtracks mixed by timeline position, "preserving silence in gaps."
  • Merged Standalone Audio → standalone reference audio concatenated in bin order. Note these are two different mixes. If you're doing a digital human, the one you want to save is usually the standalone stream; getting this backwards is a classic first-run mistake.

Install

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

Restart ComfyUI and search MiniMax H3. No pip install - pyproject.toml declares an empty dependency list and the pack leans on what ComfyUI already ships (PyTorch, torchaudio, PyAV, Pillow, NumPy, aiohttp, imageio-ffmpeg). You need a recent ComfyUI with the native MiniMax H3 nodes, plus the H3 Ref2VA model, CLIP, video VAE and audio VAE. Python 3.10+.

Common issues

Node won't load at all. Almost always an older ComfyUI without native H3 support, or a missing VAE. The audio VAE in particular is easy to forget because nothing else in your graph asks for it.

Guides do nothing. MiniMaxH3AddGuide is required from ComfyUI only when you use Guides - the pack doesn't bundle it.

Timeline looks empty after a reload. The state lives in timeline_data; if someone stripped node fields (via API conversion or a "save as API format" round trip), the timeline is gone even though the node is there.

You're in the US, EU, UK or South Korea. The H3 weights ship under a community licence whose "Applicable Territory" excludes those four regions - you're not licensed to run the local weights there. That's a model-licence fact, not a pack bug, but it's better learned now than after a 42 GB download.

Categorymodel/conditioning/minimax

Inputs (9)

NameTypeDefaultDescription
clipCLIP
vaeVAE
audio_vaeVAE
promptSTRING
widthINT134432–16384
heightINT76832–16384
generation_secondsFLOAT5.00.21–150Generation duration, synchronized both ways with the cyan timeline range.
ref_image_sizeCOMBOmatch2 options: match, max
timeline_dataSTRING

Outputs (4)

NameTypeDescription
positiveCONDITIONING
LATENTLATENT
Merged Video AudioAUDIOMix trimmed source audio by timeline position, preserving silence in gaps.
Merged Standalone AudioAUDIOConcatenate standalone reference audio in material-bin order.