MiniMax H3 makes the sound with the picture. Speech, room tone, a motorcycle engine, a gate slamming, thunder. Nothing else we run locally does that, so we gave it a full day on one RTX 5090 and measured everything.
Read the next section before the fun part.
The licence, first
Update, 8 September. Two things changed since this was written. We described the licence as a gate rather than a ban, which was wrong: it withholds the grant entirely in the US, EU, UK and South Korea rather than limiting commercial use. And we applied for authorization and received it, so this is no longer bench-only for us, subject to crediting the model on screen and never using its output as training data. The correction and what applying took. The measurements below are unaffected.
H3 is open weights and the licence is not the permissive kind. It is the MiniMax H3 Community License Agreement, and it withholds the grant entirely in the USA, EU, UK and South Korea. In those territories you do not get a limited licence, you get none, whether or not money is involved. What the maker does offer is a separate authorization you can apply for.
We are in the US, so we applied, and we were authorized. That is why the tests below exist and why we can use this model in what we make, on two conditions we now treat as absolute: the model gets credited on screen, and nothing it generates ever becomes training data for anything. Our authorization covers us and not you, so if you are in one of those territories you need your own.
Our two minute licence routine is the check worth running before you download anything you plan to build on.
What it is, and what it costs
Two checkpoints, both running in ComfyUI 0.34.3 with the built in MiniMax nodes. ComfyUI’s own tutorial is the right starting point.
FL2VA takes a first frame, optionally a last frame, and makes the clip between them. REF2VA takes reference pictures, reference video and reference audio, and makes a clip that keeps what you gave it.
We used the INT8 pruned checkpoints from Comfy-Org at roughly 21 GB each, the Qwen3-VL text encoder at 15.7 GB, and the two turbo LoRAs, eight step for FL2VA and four step for REF2VA. Native output is 1344x768 at 24 fps. Clip length snaps to a grid, with roughly 5, 7, 9, 10, 12 and 15 seconds being the useful stops, and the trained range runs out around 15.
Timings from our runs, one render per setting, so treat them as a shape rather than a promise:
A five second clip at full canvas took about two minutes with the turbo LoRA, and about nine minutes at twenty steps without it. Fifteen seconds at full canvas took seven to thirteen minutes and filled the card at around 31 GB. The text encoder alone is 15.7 GB, so unload everything else first. We shut Ollama down before every render, which is the same lesson our companion guide teaches from the other direction.
1. To make it speak your audio, pin it rather than reference it
We already have our presenter’s lines as audio files, so the obvious move is to hand H3 the audio as a reference. That works for the first five or six seconds. After that the model starts re speaking your words in its own performance, and it drifts into gibberish.
We did not eyeball this. We cross correlated the output soundtrack against the input, window by window, and watched the correlation fall apart.
The fix is a different node. Add Guide for MiniMax H3, with the audio connected, pins the soundtrack from frame zero for the whole clip. Correlation held at 0.95 or better in every two second window across a full fifteen seconds, on both checkpoints, and the lips followed it.
One trap that cost us a render. End the audio file on speech. A file that ended with thirty milliseconds of a consonant fading into air got re spoken instead of copied. Trim to the last word.
2. Use REF2VA for a talking head, FL2VA for a move
Given a still portrait plate, FL2VA decided at about three seconds that it wanted a close up, and cut to one. Changing the seed only changed when it happened. Telling it no cuts and static camera did nothing at all.
REF2VA, given that same plate as a reference picture, held a single shot for the full fifteen seconds every time we tried it, at medium framing and wide.
FL2VA earns its place when the first and last frames are different, because making the move between two frames is the thing it is actually for.
3. She can walk and talk now
Our earlier walking work chained first and last frames in LTX and had to pause speech during the moves, which is written up in the walk guide.
With H3 we gave it the chair plate as the first frame, the camera plate as the last, and pinned her line through the move. At five to seven seconds, with a prompt that keeps her face toward the lens, she stood, crossed the set at a natural pace, and kept talking with her mouth in sync.
At fifteen seconds the same move went slow motion and wandered past two cameras. Keep moves short.
4. A voice can be trained, and the ear beat the meters
We trained a LoRA of our host using Fizgig, an open trainer for H3 and Krea 2 that runs on Windows in its own environment. Thirty nine photos and forty two short voice cuts on a strict time grid, thirty epochs, about thirty minutes on the 5090.
The voice came out with the right pitch and accent, though it sounded like her over a poor microphone. A second training run fixed nothing that the meters predicted it would.
What our host’s creator actually chose was the first LoRA at its final epoch, rendered at full canvas with the turbo LoRA. Two settings that measured cleaner, a smaller canvas and twenty step sampling, both moved the voice away from her. The meters preferred them. The ear did not, and the ear won.
You can also skip training entirely. Give REF2VA a five second sample of a voice as a reference, using the official prompt’s reference mode, and write the new line as dialogue. It spoke the new words perfectly. It simply was not her.
We are not publishing the LoRA files.
5. It makes a short film with its own sound, and length is the enemy
In July we made an eight scene short from one prompt to a finished film using LTX. We re rendered the same eight plates with H3, using the same screenplay plus a written soundscape for each scene.
Every scene rendered on the first attempt. Thunder landed, a gate crashing down landed, an engine revving landed. An idling motorcycle did not.
Side by side, the H3 cut had noticeably more bizarre motion than the July one. The likely reason is not the model. We let each scene run its full ten to fifteen seconds, where the July cut had trimmed scenes to between five and thirteen. Short scenes, then cut.
The recipes
For a talking shot: a reference plate plus a pinned voice file trimmed to speech, four step REF2VA turbo, up to fifteen seconds. Describe the plate’s own set in the prompt, because the prompt overrides the scene in the picture.
For a move with speech: first plate plus last plate plus a pinned voice chunk, eight step FL2VA turbo, five to seven seconds, written the way a director would write it. Purpose, face to lens, real time.
For text to speech: render a tiny throwaway clip and keep the soundtrack. We got word perfect transcripts down to a 64x64 canvas.
How we measured
Cross correlation against the input voice for pass through, a minimum statistics noise estimate rather than the naive quiet frame floor which continuous speech fools, frame delta cut detection, and mean luma per frame.
Then eyes and ears, which overruled the meters twice in one day. That is worth saying plainly, because a number that disagrees with what you can obviously see and hear is a number that is measuring the wrong thing.
Everything above ran on the machine described in our exact build. If you want to know what your own card could hold, the calculator takes about thirty seconds.
