Nodes/ComfyUI-FL-MiniMaxH3/FL MiniMax H3 Beat Shot Planner
ComfyUI Node

FL MiniMax H3 Beat Shot Planner

Turn a beat-grid prompt schedule into renderable H3 shots

By filliptm·Created about a month ago·Updated about 14 hours ago· 17
FL MiniMax H3 Beat Shot Planner
  • clip
  • vae
  • audio_vae
  • prompt_schedule
  • timeline_audio
  • prompt_envelopes
  • ref_images
  • ref_videos
  • ref_video_audios
  • ref_audios
  • reference_library
  • shot_plan
  • scheduled
  • latent
  • semantic
length124
global_prompt
width1344
height768
affect_audiovideo only
ref_image_sizematch
visual_condition_fidelity1.00
visual_reference_modefull
reference_strength1.00

If FL MiniMax H3 Prompt Timeline is the manual-edit path, this is the automated one. FL MiniMax H3 Beat Shot Planner takes an exact FL_PROMPT_SCHEDULE - the output of FL Audio Beat Prompt Schedule in ComfyUI Fill Nodes - and turns it into a shot_plan: a list of independent H3 render units, each with its own latent, conditioning, and matching slice of audio. That's the machinery behind the "make a whole music video, one beat-driven render at a time" workflows.

The key idea is render grouping. Prompt sections that are marked as one render group in the audio sequencer are encoded and rendered together, so H3 can model internal cuts with shared context - one continuous render for a verse with a couple of internal cuts. Ungrouped sections become independent renders, each sampled separately. You get explicit control over which cuts share generative context without being forced to render the whole track as one long clip. The planner even slices the timeline audio per shot, so each render only sees the audio that belongs to it.

The render units

Everything downstream works off the shot_plan output - Beat KSampler samples it, Shot Motion Context augments it, Shot Assembler decodes and stitches it back in order. For convenience the node also exposes scheduled, latent, and semantic for the first render, so you can build a plain single-sampler workflow off a connected schedule without pulling in the whole beat-sampling stack.

Two ways to use it:

  • Connected schedule - feed prompt_schedule (and optionally timeline_audio and prompt_envelopes) from the Fill Nodes sequencer. Each shot gets its own audio slice, reactive envelopes get sliced and rebased per planned render.
  • No schedule - it plans one continuous render from the length input, which makes it a compact drop-in alternative to Prompt Timeline when you don't need per-section scheduling.

Inputs that matter

The encoder trio - clip, vae, audio_vae - plus global_prompt and width/height work like Prompt Timeline. Then there are the reference-strength controls that are genuinely H3-specific:

  • visual_condition_fidelity - noise fidelity for visual latent references and motion context. Lower values replace more latent detail with seeded noise. It does not scale Qwen-VL, so don't use it as a generic prompt-weight knob.
  • visual_reference_mode - which visual reference paths (images, videos) actually receive connected references. Audio and soundtracks stay active in every mode.
  • reference_strength - blends from a prediction with no visual references (0) to the selected mode (1). The Beat KSampler's cfg multiplies this value, and the tooltip's warning matters: effective blends other than 0 or 1 require both predictions while sampling, so an in-between blend costs extra.

Gotchas and install

Grouped vs. independent renders is the thing to think about before you queue: grouped sections render together (better internal-cut coherence), but the sampler returns one editable nested latent per planned render regardless. And remember H3's 17k+5 frame grid - the planner snaps lengths, and the length input only matters when no schedule is connected.

Install is the pack-standard story: ComfyUI Manager → FL MiniMax H3, or cd ComfyUI/custom_nodes && git clone https://github.com/filliptm/ComfyUI-FL-MiniMaxH3.git, then restart. No extra Python deps, and the pack doesn't ship models - you need H3's diffusion model, Qwen3-VL text encoder, and both VAEs. The beat-schedule inputs come from Fill Nodes, which is recommended for this path but not required if you're just running a single continuous render. And as with every node here: don't run this pack against an old Fill Nodes build that still registers the MiniMax node IDs, or you'll get duplicate registrations.

CategoryFL/MiniMax H3/Prompting

Inputs (20)

NameTypeDefaultDescription
clipCLIPMiniMax H3 text encoder used for each planned render.
vaeVAEMiniMax H3 video VAE used to encode image and video references.
audio_vaeVAEMiniMax H3 audio VAE used to encode each shot's matching audio slice.
lengthINT1245–3600Requested frame count for a single render, used only when prompt_schedule is not connected. H3 snaps it to the 17k+5 frame grid.
global_promptSTRINGPersistent character, identity, visual style, and production context.
widthINT134432–16384Width of every planned render.
heightINT76832–16384Height of every planned render.
affect_audioCOMBOvideo onlyChoose whether scheduled prompt masks also affect H3 audio tokens.
ref_image_sizeCOMBOmatchReference image sizing, matching the standard MiniMax H3 reference node.
visual_condition_fidelityFLOAT1.000–1Noise fidelity for H3 visual latent references and motion context. Lower values replace more latent detail with seeded noise. This does not scale Qwen-VL.
visual_reference_modeCOMBOfullSelect which visual reference paths receive connected images and videos. Reference audio and video soundtracks remain active in every mode.
reference_strengthFLOAT1.000–1Blend from a prediction without connected visual references at 0 to the selected mode at 1. Audio and prior-shot motion context remain in both. Beat sampler cfg multiplies this value; effective blends other than 0 or 1 require both predictions while sampling.
prompt_scheduleoptFL_PROMPT_SCHEDULEExact 24 fps shot ranges from FL Audio Beat Prompt Schedule. Optional; when disconnected the node plans one full-length render from the length input.
timeline_audiooptAUDIOFrame-aligned cropped audio from FL Audio Beat Prompt Schedule. Each shot receives only its matching slice. Optional; when disconnected each planned render has no shot-local audio reference.
prompt_envelopesoptFL_PROMPT_ENVELOPE_SETSequence-wide reactive prompt envelope set from FL Audio Beat Prompt Sequencer, sliced and rebased for every planned render.
ref_imagesoptCOMFY_AUTOGROW_V3Character or scene images applied to every planned render.
ref_videosoptCOMFY_AUTOGROW_V3Reference videos applied to every planned render.
ref_video_audiosoptCOMFY_AUTOGROW_V3Soundtracks paired by index with reference videos.
ref_audiosoptCOMFY_AUTOGROW_V3Default audio references applied after the shot-local timeline audio.
reference_libraryoptFL_PROMPT_REFERENCESResolved assets from FL Prompt Reference Library for custom section selections.

Outputs (4)

NameTypeDescription
shot_planFL_H3_SHOT_PLANPlanned nested H3 latents and conditioning for sequential sampling.
scheduledCONDITIONINGPositive conditioning. Meaningful for the single render produced when prompt_schedule is not connected; with a schedule it reflects the first render.
latentLATENTNative nested MiniMax H3 video/audio latent. Meaningful for the single render produced when prompt_schedule is not connected; with a schedule it reflects the first render.
semanticCONDITIONINGSingle global conditioning. Used for the manual single render; with a schedule it reflects the first render.