FL MiniMax H3 Beat Shot Planner
Turn a beat-grid prompt schedule into renderable H3 shots
- 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
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 optionallytimeline_audioandprompt_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
lengthinput, 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'scfgmultiplies 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.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | MiniMax H3 text encoder used for each planned render. | |
| vae | VAE | MiniMax H3 video VAE used to encode image and video references. | |
| audio_vae | VAE | MiniMax H3 audio VAE used to encode each shot's matching audio slice. | |
| length | INT | 1245–3600 | Requested frame count for a single render, used only when prompt_schedule is not connected. H3 snaps it to the 17k+5 frame grid. |
| global_prompt | STRING | Persistent character, identity, visual style, and production context. | |
| width | INT | 134432–16384 | Width of every planned render. |
| height | INT | 76832–16384 | Height of every planned render. |
| affect_audio | COMBO | video only | Choose whether scheduled prompt masks also affect H3 audio tokens. |
| ref_image_size | COMBO | match | Reference image sizing, matching the standard MiniMax H3 reference node. |
| visual_condition_fidelity | FLOAT | 1.000–1 | Noise 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_mode | COMBO | full | Select which visual reference paths receive connected images and videos. Reference audio and video soundtracks remain active in every mode. |
| reference_strength | FLOAT | 1.000–1 | Blend 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_scheduleopt | FL_PROMPT_SCHEDULE | Exact 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_audioopt | AUDIO | Frame-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_envelopesopt | FL_PROMPT_ENVELOPE_SET | Sequence-wide reactive prompt envelope set from FL Audio Beat Prompt Sequencer, sliced and rebased for every planned render. | |
| ref_imagesopt | COMFY_AUTOGROW_V3 | Character or scene images applied to every planned render. | |
| ref_videosopt | COMFY_AUTOGROW_V3 | Reference videos applied to every planned render. | |
| ref_video_audiosopt | COMFY_AUTOGROW_V3 | Soundtracks paired by index with reference videos. | |
| ref_audiosopt | COMFY_AUTOGROW_V3 | Default audio references applied after the shot-local timeline audio. | |
| reference_libraryopt | FL_PROMPT_REFERENCES | Resolved assets from FL Prompt Reference Library for custom section selections. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| shot_plan | FL_H3_SHOT_PLAN | Planned nested H3 latents and conditioning for sequential sampling. |
| scheduled | CONDITIONING | Positive conditioning. Meaningful for the single render produced when prompt_schedule is not connected; with a schedule it reflects the first render. |
| latent | LATENT | Native 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. |
| semantic | CONDITIONING | Single global conditioning. Used for the manual single render; with a schedule it reflects the first render. |