Nodes/msch-a2v/MschA2V Shot Planner
ComfyUI Node

MschA2V Shot Planner

Where your prompt schedule becomes actual H3 shots — conditioning, references and timing in one place

By mariobilly·Created a day ago·Updated a day ago· 0
MschA2V Shot Planner
  • prompt_schedule
  • clip
  • vae
  • audio_vae
  • timeline_audio
  • ref_image_0
  • ref_image_1
  • ref_image_2
  • ref_video_0
  • ref_video_audio_0
  • ref_audio_0
  • shot_plan
master_seed0
width768
height768
fps_override0
audio_modelock_source
task_typeauto
add_source_as_referencetrue
ref_image_sizematch
negative_fallback

Somewhere between "I want an AI music video" and "there are shots on the timeline," all the awkward translation happens: prompts need to become conditioning, conditioning needs to match the song, and every shot needs a seed that doesn't collide with the last one. MschA2V Shot Planner (display "MschA2V Shot Planner") is that translation step. It takes your beat-snapped prompt schedule, the CLIP/VAE stack, and the timeline audio, and emits a ready-to-sample shot_plan for the H3 sampler downstream. Think of it as the pre-production office of the MSCH A2V pipeline - no pixels generated here, everything it builds is consumed by the actual sampler.

The pipeline around it

MSCH A2V is the music-video side of the MSCH Nodes pack, built on top of MiniMax H3 - the 33B open-weights model that takes text, image, video and audio as one context and generates video with native stereo audio. The chain: a prompt sequencer arranges your per-beat prompts into an MSCHA2V_SCHEDULE, the ShotPlanner turns that schedule plus the audio into per-shot conditioning and starting latents, a beat KSampler actually samples each shot through H3, and an assembler joins them. So the ShotPlanner's job is to make sure shot n is conditioned for the nth slice of the song with the right visual context.

Inputs that matter

The heavy required set is prompt_schedule (from the sequencer), clip (H3's CLIP, loaded with the minimax type), vae (video), audio_vae (H3 encodes audio through its own VAE), and timeline_audio - the song slice this plan covers. width/height set output resolution (multiples of 32) and master_seed derives per-shot seeds deterministically so the whole video is reproducible.

The dropdowns are where the musical intent lives:

  • audio_mode - lock_source (default) holds the original song fixed while generating; remix_source lets H3 alter it; native generates fresh audio. For a music video where the song is the point, lock_source is what you almost always want.
  • task_type - auto (default) infers from your inputs whether you're doing text-to-video-audio, image-to-video-audio, reference-based, and so on. The explicit choices (t2va, i2va, fl2va, l2va, ref2va, hybrid) exist for when you know exactly which task you're running and want to force it.
  • ref_image_0, ref_image_1, ref_image_2, plus ref_video_0 and ref_audio_0 - optional references for consistent character/look/voice across shots, with add_source_as_reference controlling whether the source song is fed as an audio reference too.

Output is one shot_plan (MSCHA2V_SHOT_PLAN) wired to the beat KSampler.

Install and prerequisites

ShotPlanner is H3-specific - the docs are explicit that it's "not a generic model adapter." You need the separate comfyui-minimax-h3-audio-T8 integration installed with H3 model/VAE checkpoints loadable, then this pack on top:

cd ComfyUI/custom_nodes
git clone https://github.com/mariobilly/msch-comfyui-nodes.git
cd msch-comfyui-nodes
python -m pip install -r requirements.txt

(ComfyUI Manager: search "MSCH Nodes" / msch-comfyui-nodes, then restart.) And the licence reality from the KB: MiniMax H3's community licence excludes the US, EU, UK and South Korea from the local-weights territory - worth checking before you build a whole pipeline around it.

Gotchas

The two failure modes beginners hit: feeding a clip/vae from the wrong model (H3's audio VAE is a separate VAELoader - mixing it up with the video VAE fails at sampling, not here, which makes it confusing), and forgetting that the shot planner's job ends at the plan. If you're not seeing H3-consistent output across shots, look at your master_seed determinism and your reference inputs rather than re-typing prompts - the plan is only as coherent as the schedule and references you gave it.

CategoryMschA2V

Inputs (20)

NameTypeDefaultDescription
prompt_scheduleMSCHA2V_SCHEDULE
clipCLIP
vaeVAE
audio_vaeVAE
timeline_audioAUDIO
master_seedINT00–4294967295
widthINT76832–1920
heightINT76832–1920
fps_overrideINT00–60
audio_modeCOMBOlock_source3 options: lock_source, remix_source, native
task_typeCOMBOauto7 options: auto, t2va, i2va, fl2va, l2va, ref2va, +1
add_source_as_referenceBOOLEANtrue
ref_image_sizeCOMBOmatch2 options: match, max
negative_fallbackoptSTRING
ref_image_0optIMAGE
ref_image_1optIMAGE
ref_image_2optIMAGE
ref_video_0optIMAGE
ref_video_audio_0optAUDIO
ref_audio_0optAUDIO

Outputs (1)

NameTypeDescription
shot_planMSCHA2V_SHOT_PLAN