Nodes/ComfyUI MiniMax H3 Timeline Director/MiniMax H3 Finite Segment Sampler
ComfyUI Node

MiniMax H3 Finite Segment Sampler

One node, one seed, a minute of continuous video

By Songssx·Created about a month ago·Updated 2 days ago· 465
MiniMax H3 Finite Segment Sampler
  • model
  • clip
  • vae
  • audio_vae
  • finite_plan
  • sampler
  • sigmas
  • Last Sampled Latent
  • Merged Frames
  • Merged Audio
  • Sampling Status
seed0
continue_audio_latenttrue
ref_image_sizematch

Every video model has a length ceiling, and everyone's first instinct is to chain clips by hand: decode segment one, feed its last frame into segment two, stitch in an editor, spend a weekend on it. This node is the "don't do that" answer for MiniMax H3. Connect a plan, get N segments generated in overlapping windows inside one ComfyUI execution, and receive a single continuous file worth of frames and audio.

The pitch is simple and the README makes it plainly: extend by increasing the segment count, "without generic Loop nodes or duplicated sampler chains."

How it works

The interesting word in the description is expand. This is a graph-expansion node: at queue time it builds an acyclic sub-graph for you - per segment, a Plan Encoder, a continuation node, a sampler, a video and audio decode, and a finalize step that removes the duplicated overlap. Then AudioConcat joins the audio, and the assembled frames come back as one IMAGE stream. You get to keep your sampler and scheduler external (they're inputs), so the schedule you already tuned for H3 is the schedule it uses.

Continuation is done in latent space, not by round-tripping through pixels: the previous segment's sampled AV latent tail is carried directly into the next segment's opening. That's the part that avoids the progressive blur and the seam flashes you get from repeated decode/re-encode. Drift-Control masking is always on and has no user-facing switch - it re-noises the disposable prefix of the overlap while keeping the seam side clean, adapting to the connected sigma schedule, including accelerated 4-step and 8-step ones.

Two details that surprise people. First, the requested overlap gets snapped to H3's legal temporal grid - 24 becomes 22, 48 becomes 39 - and the same snapped value drives the latent carry, the decoded trim and the assembly, so your timeline stays in sync. Second, every segment uses the same seed as the one on the node. That's by design, not a bug: it's what keeps a chain looking like one shot.

There's also a two-stage mode, configured upstream in the Material Planner (a compatible H3 latent upscaler from ComfyUI/models/latent_upscale_models/ plus a high-res step count). You don't install comfyui-SelfLift for it; the runtime is bundled. The caption worth remembering: for an 8-step schedule, 2 high-res steps means 6 low-res steps, a latent lift, then 2 high-res steps.

Inputs and outputs that matter

Required: model, clip, vae, audio_vae, finite_plan (the MINIMAX_H3_FINITE_SEGMENT_PLAN from the Material Planner's Segment Plan output), sampler, sigmas, seed, continue_audio_latent (default on), and ref_image_size (match / max).

The two you'll actually touch: seed (one value, applied to all segments - it has a control-after-generate widget, so set it to fixed while you iterate) and continue_audio_latent. Turn that last one off when you'd rather each segment invent its own sound than ride the previous tail; with locked source audio it's overridden anyway.

Outputs: Last Sampled Latent (LATENT, for anything downstream that wants the final latent), Merged Frames (IMAGE), Merged Audio (AUDIO), and Sampling Status (STRING, a plain-English report of what it did - read it before assuming a bad seam is the node's fault).

Install

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

Restart, search MiniMax H3. No pip step: requirements are empty and the pack uses what ComfyUI already has. You need native MiniMax H3 nodes in ComfyUI, the H3 Ref2VA model, CLIP, video VAE and audio VAE, and Python 3.10+. imageio-ffmpeg (already in a normal ComfyUI install) is what the low-res monitoring proxies use.

Common issues

"Drift-Control AV requires a sigma schedule with at least one sampling step." Your sigmas input is empty or degenerate. Connect a real scheduler.

Segment two errors about spatial dimensions. Continuation copies latent tails, and that requires matching spatial latent dims - so don't change width/height partway through a segment chain.

Audio length drifts at the joins. Check continue_audio_latent and whether the plan has locked audio. With locked audio the pack owns the soundtrack (Locked Audio Master restores one continuous original waveform) and the per-segment concatenation is bypassed; the final MP4 saver may still re-encode it, which is a container-level change rather than content loss.

Practical limits are honest ones. README says length is bounded by VRAM, RAM, disk and ComfyUI's own execution limits - this is a real graph, so a 20-segment plan queues 20 samplers. The creator's benchmark (1536×832, 29 seconds in ~10 minutes) is a benchmark on the creator's GPU, not a promise on yours.

CategoryMiniMax H3/Long Video

Inputs (10)

NameTypeDefaultDescription
modelMODEL
clipCLIP
vaeVAE
audio_vaeVAE
finite_planMINIMAX_H3_FINITE_SEGMENT_PLAN
samplerSAMPLER
sigmasSIGMAS
seedINT00–18446744073709550000
continue_audio_latentBOOLEANtrue
ref_image_sizeCOMBOmatch2 options: match, max

Outputs (4)

NameTypeDescription
Last Sampled LatentLATENT
Merged FramesIMAGE
Merged AudioAUDIO
Sampling StatusSTRING