Nodes/SimpleShot/SimpleShot H3 - First/Last Frame to Video + Audio
ComfyUI Node

SimpleShot H3 - First/Last Frame to Video + Audio

MiniMax H3 with sound in one node — no sampler wiring, no missing-node hunts

By manzakin·Created 5 days ago·Updated 4 days ago· 0
SimpleShot H3 - First/Last Frame to Video + Audio
  • model
  • clip
  • vae
  • audio_vae
  • first_frame
  • last_frame
  • images
  • audio
  • info
prompt
duration5 s (124 frames)
resolutionmatch my image - full quality (~1.0 MP)
steps14
seed0

You type a sentence, optionally drop in a first frame, a last frame, or both, and out comes a clip that has sound - footsteps, room tone, a voice, whatever the prompt asks for. No audio pass bolted on afterwards, no second model to align, no sampler to babysit. That's the whole pitch of SimpleShot H3 - First/Last Frame to Video + Audio, and it's why the pack calls itself "workflows that run the first time."

MiniMax H3 is the open-weight turn in video that people actually got excited about: a 33B omni-modal model that treats text, image, video and audio as one input context, producing 2–15 second clips at 24 fps with native stereo audio - the first serious open answer to Veo's audio advantage. The catch is that a text-to-video+audio ComfyUI graph is a small forest of nodes, and any one can be wired wrong. This node is the forest, collapsed into one block.

How it works

It's not some novel engine - the node is a thin wrapper around ComfyUI core's own MiniMaxH3ImageToVideo node. It builds your conditioning and an empty AV latent from the prompt and any frames you fed in, then samples with a Basic guider (no negative prompt) using res_multistep + simple, the exact pairing ComfyUI's own H3 template ships. The fun part is the latent: H3 renders picture and audio in one NestedTensor, so the video VAE decodes one element and the audio VAE the other. That's why there are two VAEs as inputs.

The pack's philosophy shows in what it doesn't expose - no sampler, scheduler, cfg, sigma shift or negative prompt, on the fair argument that those only break a working render here. Frame counts and canvases are menus rather than numbers because H3 has hard constraints: frames snap up to a 17k+5 grid, and a canvas that isn't a multiple of 32 fails deep inside the sampler. The menu only offers values that work.

The inputs that matter

  • model / clip / vae / audio_vae - the four model links. Any loader works, so you can point model at a smaller community quant if the 21 GB checkpoint doesn't fit your card. The one trap: the video VAE is the larger file (minimax_h3_video_vae), easy to swap with the audio one by accident.
  • prompt - this is where H3 differs from everything before it. Describe the shot and the sound: voices, footsteps, room tone. The model listens to audio cues because it renders picture and audio together.
  • duration - start on the 2 s quick test; it exists to prove your install before you burn a long render.
  • resolution - the "match my image" entries take the shape from your first frame and only the size from the menu, so nothing stretches or crops. fast is ~40% of the pixels, draft ~20%.
  • steps - the one real cost/quality dial; 14 is the default, and the difference from 20 is usually hard to see.
  • first_frame / last_frame - and here's the gotcha the pack exists to surface: the first frame is stretched to the canvas, the last frame is centre-cropped. A wrong-shape image in the wrong slot distorts or loses its edges, invisibly, unless you know.

Outputs are images, audio, and info. Wire images into Create Video then Save Video; audio goes to whatever saves sound; and info - a text report of frame count, canvas, checkpoint and how each image was fitted - into a Preview Any node, so you can see what actually ran.

Installing it

Open Manager → Custom Nodes Manager, search SimpleShot, install, restart. Or, if that's your habit:

cd ComfyUI/custom_nodes
git clone https://github.com/manzakin/ComfyUI-SimpleShot

That's genuinely it - the pack has no dependencies of its own, no pip install, no second pack. The ~42 GB of H3 model files get fetched by ComfyUI itself the first time, and it asks before placing each one.

Where people get burned

The wrong checkpoint family. H3 ships as fl2va (renders between frames) and ref2va (renders from reference photos). They load through the same loader, and a ref2va file here is a wasted render - so the node reads the filename off the graph and hard-stops with a message saying exactly which file to pick.

The licence. Before you clear disk space, know this: the MiniMax H3 Community License excludes the US, EU, UK and South Korea from its territory. The geofence is real, and it bites local video harder than it ever did for images.

The hardware. 21 GB of weights is the honest floor - launch-day threads were full of people with 3060s asking if it would be minutes or geological timescales. The "match my image - draft" resolution and 2 s duration exist precisely so you can find out cheaply.

CategorySimpleShot

Inputs (11)

NameTypeDefaultDescription
modelMODELThe H3 fl2va checkpoint, from a Load Diffusion Model node. Any loader works — swap in a smaller community quant if 21 GB of weights is too much for your card.
clipCLIPThe H3 text encoder, from a Load CLIP node.
vaeVAEThe VIDEO vae (minimax_h3_video_vae). Easy to swap with the audio one by accident — this is the larger file.
audio_vaeVAEThe AUDIO vae (minimax_h3_audio_vae), the small one.
promptSTRINGDescribe the shot: subject, what it does, the camera, the light, and the sound you want. This model listens to sound cues in the prompt — voices, footsteps, room tone — because it renders picture and audio together.
durationCOMBO5 s (124 frames)Clip length at 24 fps. Start on the 2 s quick test to prove your install before spending a long render.
resolutionCOMBOmatch my image - full quality (~1.0 MP)The 'match my image' entries take the SHAPE from your first frame and only the SIZE from the menu, so your picture is never stretched or cropped — use those unless you have a reason not to. Smaller is much faster: 'fast' is about 40% of the pixels of full quality and 'draft' about 20%. The fixed sizes are for text-only clips, where there is no image to match.
stepsINT141–100The one real cost/quality dial, and time scales almost linearly with it. 14 is a good balance; the model's own template uses 20, and this sampler converges early enough that the difference is often hard to see. Try 8 on a draft canvas when you are only checking an idea.
seedINT00–18446744073709550000Changes the take. Left on randomize you get a fresh one each time you press Run; set it to fixed to keep a take you liked while you edit the prompt.
first_frameoptIMAGEOptional. The clip starts here. This is the geometry anchor: it is STRETCHED to the canvas, so give it the same shape as the resolution you picked or it distorts.
last_frameoptIMAGEOptional. The clip lands here. This one is CENTRE-CROPPED instead of stretched, so a different shape loses its edges rather than squashing.

Outputs (3)

NameTypeDescription
imagesIMAGEThe frames. Wire into Create Video, then Save Video.
audioAUDIOThe generated soundtrack, already in step with the picture.
infoSTRINGWhat actually ran: frame count, canvas, checkpoint, how the frames were fitted. Wire it into a Preview Any node if you want to read it on the canvas.