ComfyUI Node
H3 Audio Drive Long (any length)
Render a MiniMax H3 video driven by an audio track of any length: grid-legal windows, source audio frozen into each AV latent, frame chaining for continuity, original audio returned for an exact mux.
H3 Audio Drive Long (any length)
- model
- clip
- video_vae
- audio_vae
- audio
- first_frame
- ref_image
- frames
- audio
- frames_total
- report
◄prompt►
◄width864►
◄height480►
◄max_window_seconds5.00►
◄steps12►
◄sampler_name▾►
◄scheduler▾►
◄seed42►
◄seam_fade_frames0►
◄chain_framesfalse►
◄max_windows0►
◄audio_offset_frames0►
Categoryminimax/h3/audio
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | MiniMax H3 diffusion model (a patched/EasyCache model is fine). | |
| clip | CLIP | The MiniMax H3 text encoder (CLIPLoader type=minimax). | |
| video_vae | VAE | minimax_h3_video_vae_fp16. | |
| audio_vae | VAE | minimax_h3_audio_vae_fp32. | |
| audio | AUDIO | Drives every window. The same waveform is returned for the mux. | |
| prompt | STRING | — | |
| width | INT | 86464–4096 | — |
| height | INT | 48064–4096 | — |
| max_window_seconds | FLOAT | 5.001–15 | Window length. H3 was trained around 5-15 s; 5 s keeps VRAM flat and seams predictable. |
| steps | INT | 121–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| seed | INT | 420–18446744073709550000 | — |
| seam_fade_frames | INT | 00–12 | 0 = hard cut (the new window is generated from the previous last frame, so the seam is normally invisible). >0 cross-fades that many frames around the seam. |
| chain_frames | BOOLEAN | false | Anchor each window on the previous last frame. Keeps the subject stable across seams, but an image anchor makes H3 treat window 2+ as image-to-video and they stop following their own audio (measured 0.00 vs 0.55 unchained). Off = lips track, subject may walk away from you. |
| max_windows | INT | 00–200 | 0 = automatic: use as many windows as the audio needs. A positive value is a safety cap; the node refuses (with the exact window count you need) instead of silently truncating your audio. |
| audio_offset_frames | INT | 0-48–48 | Shift the RETURNED audio against the rendered frames, in frames at 24 fps (length preserved). H3 plays the mouth ~10 frames ahead of the track, so -10 lands them on the same frame; use the offset H3LipSyncScore reports. The conditioning audio is never shifted. |
| first_frameopt | IMAGE | Anchors window 1 at frame 0. | |
| ref_imageopt | IMAGE | Identity reference seen by the text encoder as <Picture 1> (or <Picture 2> when first_frame is also connected). No frame anchor, so window 1 stays audio-driven - but window 2+ still stop tracking their own audio when this is connected (measured 0.00). |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| frames | IMAGE | — |
| audio | AUDIO | — |
| frames_total | INT | — |
| report | STRING | — |