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

FL MiniMax H3 Prompt Timeline

The H3 node that turns a prompt into an actual edit timeline

By filliptm·Created about a month ago·Updated about 16 hours ago· 17
FL MiniMax H3 Prompt Timeline
  • clip
  • vae
  • audio_vae
  • prompt_schedule
  • prompt_envelopes
  • ref_images
  • ref_videos
  • ref_video_audios
  • ref_audios
  • scheduled
  • latent
  • semantic
  • timeline
global_prompt
width1344
height768
length124
time_unitseconds
bpm120.0
transition_modecosine
transition_frames4
affect_audiovideo only
duration_policystrict
ref_image_sizematch
timeline

If you're generating MiniMax H3 video in ComfyUI, this is the node you start from. FL MiniMax H3 Prompt Timeline does two jobs in one: it builds the native nested H3 video/audio latent, and it writes strict, time-masked prompt conditioning across that latent. So instead of a single global prompt that H3 has to somehow hold for its whole clip, you get per-section prompts that switch at frame-exact boundaries. That's the difference between "a video" and "a shot that cuts to a tracking shot at frame 48."

H3 deserves the setup. It's the 33B omni-modal model MiniMax opened in August 2026 - text, image, video and audio in one context, with audio generated jointly with the picture rather than bolted on. It landed hard on day one and got day-zero ComfyUI support, and it's geofenced out of the US, EU, UK and Korea under its community license, so check that before you go deep. The catch on hardware is real too: it's a heavy model, and 2K at 15 seconds needs serious VRAM. This pack doesn't add any of those problems - it adds the editing layer on top.

How it works

You hand the node three encoders: a MiniMax-compatible Qwen3-VL text encoder (clip), the H3 video VAE (vae), and the H3 audio VAE (audio_vae). The global_prompt is your persistent subject/style/context - it's the default conditioning under every scheduled mask and it gets prepended to every scheduled section. Then you describe the timeline one of two ways:

  • A manual timeline in the timeline text box, in frame ranges. Zero-based, end-exclusive, fixed 24 fps:
[0 - 48]
Wide establishing shot. The subject turns toward camera.

[48 - 96]
Hard cut to a low tracking shot as the subject moves forward.
  • A connected prompt_schedule (the FL_PROMPT_SCHEDULE from FL Audio Beat Prompt Schedule in ComfyUI Fill Nodes), which takes precedence and carries exact detected timing. This is the audio-reactive path - more on that in the Beat Shot Planner article.

H3 snaps requested lengths to its 17k+5 frame grid, which is why length steps by 17. What comes out is four things: scheduled conditioning for your first sampling pass, the native nested latent (video and audio together), a fast semantic conditioning for low-denoise refinement (cheaper than the strict schedule - good for upscale passes), and a reusable encoded timeline.

The inputs that actually matter

  • duration_policy - strict rejects ranges that run past the aligned H3 duration, clamp trims them, fit squashes the whole schedule to fit. Start on strict; you want to know when your timeline is wrong, not silently fix it.
  • affect_audio - "video only" or "video and audio tokens". Since H3 generates audio natively, this is where you decide whether your text masks also drive the sound. The tradeoff is coherency vs. prompt cost.
  • ref_images, ref_videos, ref_video_audios, ref_audios - the autogrowing reference sockets. Character or scene references are the whole game for keeping identity across shots.
  • prompt_envelopes - audio-reactive envelopes from Fill Nodes. The tooltip says it plainly: each unique prompt adds one conditioning evaluation per sampling step, so envelopes cost you.

Installing and the gotchas

Same story for the whole pack: install FL MiniMax H3 via ComfyUI Manager, or

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI-FL-MiniMaxH3.git

then restart ComfyUI. No extra Python dependencies - it rides on ComfyUI's built-in H3 support, and it does not bundle model weights. You need the H3 ref2va diffusion model, the Qwen3-VL text encoder, minimax_h3_video_vae_fp16.safetensors and minimax_h3_audio_vae_fp32.safetensors in your normal model directories.

Where people trip: these nodes migrated out of ComfyUI Fill Nodes, so don't run this pack alongside an old Fill Nodes release that still registers the MiniMax node IDs - you'll get duplicate registrations. Update Fill Nodes, install this pack, restart. And remember the output latent is nested H3 format: decode it with the H3 VAEs, and don't run it through nodes that expect a flat latent. timeline exists precisely so you can resize the latent and rebuild conditioning later with Apply Timeline.

CategoryFL/MiniMax H3/Prompting

Inputs (21)

NameTypeDefaultDescription
clipCLIPMiniMax H3 text encoder used for the global and scheduled prompts.
vaeVAEMiniMax H3 video VAE used for reference images and reference videos.
audio_vaeVAEMiniMax H3 audio VAE used for audio references and video soundtracks.
global_promptSTRINGPersistent subject, style, and scene context. This is the default conditioning under scheduled masks and is prepended to every scheduled prompt.
widthINT134432–16384Width of the native H3 video latent in output pixels.
heightINT76832–16384Height of the native H3 video latent in output pixels.
lengthINT1245–3600Requested frame count at H3's fixed 24 fps. H3 snaps it to the 17k+5 frame grid.
time_unitCOMBOsecondsLegacy unit used only by manual timeline headers. Connected prompt schedules own their time unit; H3 video always runs at 24 fps.
bpmFLOAT120.01–999Legacy constant BPM used only for manual timelines in beats mode. Connected prompt schedules carry exact detected timing.
transition_modeCOMBOcosineTransition curve between contiguous sections in the manual timeline.
transition_framesINT40–96Manual timeline transition width in 24 fps video frames.
affect_audioCOMBOvideo onlyChoose whether scheduled text masks affect only H3 video tokens or both generated video and audio tokens.
duration_policyCOMBOstrictstrict rejects ranges past the H3 duration; clamp trims them; fit scales the full schedule to the aligned H3 duration.
ref_image_sizeCOMBOmatchmatch limits reference image area to the output canvas; max uses H3's maximum reference short edge.
timelineoptSTRINGLegacy manual ordered time ranges followed by prompt text. Used only when prompt_schedule is not connected.
prompt_scheduleoptFL_PROMPT_SCHEDULEOptional exact-time schedule, such as the output of FL Audio Beat Prompt Schedule. When connected, it overrides the manual timeline.
prompt_envelopesoptCOMFY_AUTOGROW_V3Optional audio-reactive prompt envelopes. Each unique prompt adds one conditioning evaluation per sampling step.
ref_imagesoptCOMFY_AUTOGROW_V3Optional H3 reference images. Add sockets as needed.
ref_videosoptCOMFY_AUTOGROW_V3Optional H3 reference videos. Add sockets as needed.
ref_video_audiosoptCOMFY_AUTOGROW_V3Optional soundtracks paired by index with reference videos.
ref_audiosoptCOMFY_AUTOGROW_V3Optional standalone H3 audio references. Add sockets as needed.

Outputs (4)

NameTypeDescription
scheduledCONDITIONINGStrict latent-time conditioning for the first H3 sampling pass.
latentLATENTNative nested MiniMax H3 video/audio latent.
semanticCONDITIONINGSingle semantic timeline conditioning for faster low-denoise refinement passes.
timelineFL_H3_TIMELINEReusable encoded H3 timeline for applying the same schedule after spatial resizing.