Nodes/ComfyUI-FL-MiniMaxH3/FL MiniMax H3 Apply Timeline
ComfyUI Node

FL MiniMax H3 Apply Timeline

The tiny H3 bridge node your upscale workflow quietly depends on

By filliptm·Created about a month ago·Updated about 14 hours ago· 17
FL MiniMax H3 Apply Timeline
  • timeline
  • latent
  • scheduled

This is the least glamorous node in the pack and the one your workflow will silently break without. FL MiniMax H3 Apply Timeline has exactly one job: take the encoded timeline from FL MiniMax H3 Prompt Timeline and rebuild the strict time-masked conditioning for a latent whose spatial size changed but whose video and audio duration didn't.

Why does that matter? Prompt conditioning in H3 is baked at specific spatial dimensions. The moment you resize the latent - via a latent upscale or a VAE round trip - the old scheduled conditioning has the wrong shape for the new latent. Wire it into a sampler anyway and you're asking for shape mismatches or conditioning that lands in the wrong place. Apply Timeline is the fix: you give it the original timeline and the resized latent, and you get back a scheduled conditioning rebuilt at the latent's new dimensions.

Where it slots in

The canonical chain is base render → spatial change → this node → refinement pass:

FL MiniMax H3 Prompt Timeline → KSampler
    → FL MiniMax H3 Latent Upscale
    → FL MiniMax H3 Apply Timeline
    → low-denoise KSampler
    → decode

That's the exact pattern the README's manual-timeline example workflow uses: sample at base resolution, upscale the latent, rebuild conditioning, then run a second low-denoise pass that actually adds detail at the new size. It's the same trick the pixel upscale sampler does automatically per render - except there it's built in, and here you're doing it by hand on a single continuous render.

Inputs and output

It's a two-in, one-out node, so there isn't much to fiddle with:

  • timeline - the encoded FL_H3_TIMELINE output from FL MiniMax H3 Prompt Timeline. Keep that wire around even after you've sampled; this is what it's for.
  • latent - the spatially resized native H3 video/audio latent. The tooltip is the contract: its video and audio duration must match the source timeline. If you changed the frame count too, this node won't fix that - you need a fresh schedule.
  • scheduled (output) - strict prompt conditioning rebuilt for the target latent's spatial dimensions. It feeds a standard sampler's conditioning input just like the original.

Gotchas

Don't reach for it when nothing changed. If you never resized the latent, the original scheduled (or the cheaper semantic conditioning) still matches - adding Apply Timeline is just an extra hop for no reason. And it only handles the spatial-resize case: H3 runs at a fixed 24 fps and the node assumes the timeline's video/audio duration survived whatever you did. Resize the video and the audio tensor stays untouched (that's the point - the audio latent rides along), so duration alignment is on you to preserve.

Install-wise it's part of the shared pack: ComfyUI Manager → search FL MiniMax H3, or git clone https://github.com/filliptm/ComfyUI-FL-MiniMaxH3.git into custom_nodes, then restart. No extra Python deps, no model downloads of its own. If you're coming from Fill Nodes, remember the migration rule - update Fill Nodes to the version where the MiniMax nodes were removed before loading workflows that use this pack.

CategoryFL/MiniMax H3/Prompting

Inputs (2)

NameTypeDefaultDescription
timelineFL_H3_TIMELINEEncoded timeline from FL MiniMax H3 Prompt Timeline.
latentLATENTSpatially resized native H3 video/audio latent. Its video and audio duration must match the source timeline.

Outputs (1)

NameTypeDescription
scheduledCONDITIONINGStrict prompt schedule rebuilt for the target latent's spatial dimensions.