Zero to Director #8 — First Motion: Text-to-Video with MiniMax H3
From Act II to Motion
Act I built the line: blueprint, dial, grain, cast. Act II gave it handles: wire for structure, bust for look, box for specialty, conversation for edits. Every tool so far made one still.
Act III adds the axis that changes everything gently: time.
Fast lane for skip-readers: The stills line is loader → translator → carver → caster → shelf, and a dial you can steer. The video line is the same five stations with video parts inside — a latent with time in it, two casters, clock dials. Everything you know about the dial, the grain, and the blueprint carries over.
Why Video Breaks Everything (Gently)
A video is not a stack of photographs.
Carve N stills independently and you get N uncorrelated images — a flicker show.
Motion needs every frame to agree with its neighbors about what exists, so the carver works on one object with time inside: a latent whose shape is (frames, channels, height, width) — your 1024-square block from post #2 grew a spine.
That spine re-seats every station:
- The carver must understand time — a diffusion model trained on motion, not on stills.
- The translator reads a blueprint that now may contain camera moves and durations.
- The caster splits in two: one VAE for the moving image, one for sound — this line casts MP4s with an audio track, not PNGs.
- The raw block is not
1024 × 1024butframes × H × W: you decide the length before the first cut. - The shelf is a video container; the filename ends
.mp4.
The new enemy has a name — temporal coherence — and the new cost has a shape: time multiplies everything. Frames multiply pixels, pixels multiply memory, memory multiplies patience.
Still vs. Motion: The Anatomy Diff
The same line, rebuilt — station by station against post #2:
| Station | Post #2 (still, ZImage) | This post (motion, MiniMax H3) |
|---|---|---|
| Carver | z_image_turbo_bf16, 8 strokes | minimax_h3_ref2va_int8, 25 strokes |
| Translator | qwen_3_4b, sentences | qwen3vl_32b (nvfp4), video grammar |
| Caster | ae.safetensors | video VAE (int8) plus audio VAE (fp32) |
| Raw block | EmptySD3LatentImage 1024 × 1024 | video latent: frames × H × W |
| Dial | steps 8, force 1 | steps 25, force 1, clock dials |
| Shelf | PNG | MP4, with sound |
One machine, two casters, one shelf — the anatomy is familiar; the organs are video-grade.
The Clock Dials
Time has controls, and they multiply:
- Frames — the length of the spine. The latent's first dimension; set before the first cut.
- FPS — how fast the spine plays. Frames divided by fps is your duration in seconds.
- Resolution × duration — the memory bill. Every extra second is thirty-ish more latent slabs to carve and cast together; start short, stay short while learning.
And one grammar note: camera language lives in the blueprint — "slow push-in", "pan left across the bench", "pull back to reveal the window" — the translator reads movement words the way it reads noun words.
Examples
The first roll
08-first-roll.json runs the exact heron blueprint from post #2, word for word — the image ↔ video comparison on one seed's terms.

What motion adds, honestly: {OBSERVE-ROLL}
Turning the clock
08-clock-dials.json is the same roll at different durations and frame rates — the time dial, isolated.

Seconds, frames, and what they cost: {OBSERVE-CLOCK}
Camera language
08-camera-language.json keeps the scene frozen and moves only the words: push-in, pull-out, pan — three rolls, one seed.

The blueprint as camera operator: {OBSERVE-CAMERA}
Pitfalls
- Time multiplies memory. A video latent is dozens of stills carved as one — hit your memory ceiling and the whole run dies, not one frame. Learn on short rolls.
- Expecting still-grade detail per frame. Coherence is bought with per-frame sharpness; pause any roll and a soft frame is normal, not a defect.
- Clock math by feel. Frames ÷ fps = seconds; decide duration first, derive frames second. Guessing both independently gives 7-second "moments" and 40-second accidents.
- Camera soup. "Zoom in while panning left and pulling back" is three camera operators fighting; one move per roll reads as intent.
Your Move
Run the heron roll — the same words you carved the still with, now moving. Then change exactly one clock dial and one camera word, separately, and watch what time does to a blueprint you already understand.
Next post the reference desk opens for video: a first frame to start from, a face to keep, a sound to follow, a motion to borrow.