Nodes/MiniMax H3 Audio T8/MiniMax H3 Multi-Keyframe Conditioning / 多关键帧条件 (Advanced)
ComfyUI Node

MiniMax H3 Multi-Keyframe Conditioning / 多关键帧条件 (Advanced)

First frame, last frame, and the keyframes in between — one conditioning node

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 Multi-Keyframe Conditioning / 多关键帧条件 (Advanced)
  • model
  • clip
  • video_vae
  • audio_vae
  • drive_audio
  • final_audio
  • first_frame
  • last_frame
  • keyframe_plan
  • ref_images
  • ref_videos
  • ref_video_audios
  • ref_audios
  • model
  • positive
  • av_latent
  • mux_audio
  • conditioned_prompt
  • media_map_json
  • keyframe_map_json
  • report_json
prompt
width1344
height768
length124
task_typeauto
audio_modelock_source
audio_denoise_strength0.35
add_source_as_referencetrue
prompt_primary_audio_ordinal1
strict_prompt_tagstrue
ref_image_sizematch
reference_video_policyofficial_2_to_15s
first_frame_noise_aug0.999
last_frame_noise_aug0.999
reference_visual_noise_aug0.999

Standard MiniMax H3 image-to-video conditioning gives you a first frame, or a first and last frame for FL2VA. What if you want control in the middle of the timeline too? That's the gap MiniMaxH3MultiKeyframeConditioningT8Advanced fills: it's an opt-in Advanced conditioning node for FL2VA/Hybrid work that takes first, last, and chained middle timeline keyframes, and hands you a scoped, conditioned model plus a ready joint latent. It's the "multi-keyframe" counterpart to the pack's stable single-keyframe conditioning - opt-in by design, because it clones your MODEL and applies scoped H3 patches, and the author wants old workflows to keep loading exactly as they were.

The cloning detail is the safety story. The node takes your H3 MODEL and returns a scoped clone - the patch applies to this instance only, so your original model node and any saved workflows that reference it stay untouched. The stable Conditioning node in the pack remains unchanged; this is strictly the Advanced/experimental lane.

Inputs that matter

  • model, clip, video_vae, audio_vae - your H3 model, Qwen3-VL CLIP, and both VAEs. This is a joint AV conditioning node, so audio VAE is required.
  • prompt - use H3's media tags (<Picture N>, <Video N>, <Audio N>) to reference connected media; strict_prompt_tags (true) enforces them.
  • width (1344), height (768), length (124) - the generation geometry; length snaps up to the 17n+5 H3 grid at 24fps.
  • task_type - auto by default. The tooltip is important: middle timeline keyframes require both first and last frames; use Hybrid when reference media is also connected.
  • first_frame / last_frame / keyframe_plan - the timeline anchors. keyframe_plan (type H3_T8_KEYFRAME_PLAN) carries the chained middle keyframes.
  • audio_mode - lock_source by default, matching the pack's advice: if you want to keep source audio, lock it and reference the actual <Audio N> tag. drive_audio is a joint generation condition, not a deterministic lip-sync constraint.
  • first_frame_noise_aug / last_frame_noise_aug / reference_visual_noise_aug - raw H3 values (all 0.999). The tooltip warns these are raw model values, not calibrated strengths; keep them unless you're running a controlled A/B.
  • Optional reference inputs: ref_images, ref_videos, ref_video_audios, ref_audios, plus drive_audio and final_audio.

Outputs

model (the scoped clone), positive (CONDITIONING), av_latent, mux_audio - and this one matters: the README is emphatic that when you use lock_source, you must save with mux_audio, not AV Decode's generated_audio, or your locked source audio never reaches the file. Plus conditioned_prompt, media_map_json, keyframe_map_json, report_json for the binding audit.

Install and where it fits

Pack install once: ComfyUI Manager → search MiniMax H3 Audio T8, or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8 into ComfyUI/custom_nodes/, restart. No pip extras, no model downloads.

The honest framing: this is the experimental lane for people who need timeline control H3's stock conditioning doesn't offer. The noise_aug fields are raw internals exposed - that's Advanced-labeled for a reason. Start from the pack's 08-multi-keyframe example workflows, keep task_type honest (auto when simple, Hybrid with references, and never expect middle keyframes without both anchors), and remember drive_audio guides rather than locks lips.

CategoryT8/MiniMax H3/Conditioning/Experimental

Inputs (28)

NameTypeDefaultDescription
modelMODELMiniMax H3 MODEL; the output is a scoped clone.
clipCLIPNative MiniMax H3 Qwen3-VL CLIP.
video_vaeVAEMiniMax H3 video VAE.
audio_vaeVAEMiniMax H3 audio VAE.
promptSTRING
widthINT134432–16384
heightINT76832–16384
lengthINT1245–360024fps; snapped up to the 17n+5 H3 grid.
task_typeCOMBOautoMiddle timeline keyframes require both first and last frames. Use Hybrid when reference media is also connected.
audio_modeCOMBOlock_source4 options: lock_source, remix_source, reference_only, native
audio_denoise_strengthFLOAT0.350–1
add_source_as_referenceBOOLEANtrue
prompt_primary_audio_ordinalINT10–9
strict_prompt_tagsBOOLEANtrue
ref_image_sizeCOMBOmatch2 options: match, max
reference_video_policyCOMBOofficial_2_to_15s2 options: official_2_to_15s, model_minimum
first_frame_noise_augFLOAT0.9990–1Raw H3 value for the first timeline frame, not a calibrated strength percentage. Keep 0.999 unless running a controlled A/B.
last_frame_noise_augFLOAT0.9990–1Raw H3 value for the last timeline frame, not a calibrated strength percentage. Keep 0.999 unless running a controlled A/B.
reference_visual_noise_augFLOAT0.9990–1One raw H3 value shared by non-timeline image/video reference blocks; not an independent or calibrated strength percentage.
drive_audiooptAUDIO
final_audiooptAUDIO
first_frameoptIMAGE
last_frameoptIMAGE
keyframe_planoptH3_T8_KEYFRAME_PLAN
ref_imagesoptCOMFY_AUTOGROW_V3
ref_videosoptCOMFY_AUTOGROW_V3
ref_video_audiosoptCOMFY_AUTOGROW_V3
ref_audiosoptCOMFY_AUTOGROW_V3

Outputs (8)

NameTypeDescription
modelMODEL
positiveCONDITIONING
av_latentLATENT
mux_audioAUDIO
conditioned_promptSTRING
media_map_jsonSTRING
keyframe_map_jsonSTRING
report_jsonSTRING