Camera Keyframes in H3 Max Multi Angle: A Working Guide
2026/09/11

Camera Keyframes in H3 Max Multi Angle: A Working Guide

H3 Max Multi Angle takes four numbers per camera keyframe, not prompt words. What each does, the three that trip you up, and how to build an orbit that reads.

The first orbit I rendered on H3 Max Multi Angle came back as a still image with sound.

Five seconds, 768P, and the camera did not move a pixel. I had written a careful prompt describing a slow arc around a ceramic vase, picked a sensible duration, and paid for it. What I had not done was change the second keyframe — both poses sat at the same angle, height and distance, and the model did exactly what I asked: it held that position for five seconds.

That failure is worth opening with, because it points at the thing that makes this endpoint different. It does not read camera language. You can write "the camera arcs slowly around the vase" in the prompt and it will change nothing at all. The camera goes where the numbers say.

The prompt has one job, and it is not the camera

Multi Angle ships with a default prompt, and it is unusual enough to quote in full:

The same elements in the reference are rigid. Preserve every element exactly.
The entire scene is frozen. Only the camera moves. no scene motion only camera motion

That is not a description of a shot. It is a freeze instruction — and it is doing real work. This model's entire proposition is that your photo stays exactly as it is while the viewpoint changes around it. The prompt is what holds the scene still.

Which means the most common first mistake is a reasonable-looking one: replacing that default with a description of your scene. Write "a ceramic vase on an oak table in morning light" and you have removed the instruction that keeps the vase from moving. The subject starts drifting, the model starts inventing motion, and you get something closer to ordinary image-to-video — which is not what you came here for.

Leave the prompt alone. The camera is controlled somewhere else entirely.

Four numbers per keyframe

A trajectory is a list of camera keyframes. Each keyframe is four values:

FieldRangeWhat it controls
time0 to 1When the camera should be at this pose
azimuthdegrees, signedHorizontal position around the subject
elevation-90 to 90Vertical angle
distanceabove 0How far out the camera sits

Three of them place the camera in space. The fourth says when the keyframe takes effect.

Time is normalized, not seconds

time: 0.5 is the midpoint of your clip whether that clip is 5 seconds or 15. This is convenient — you can change the duration without rewriting the trajectory — but it has a consequence people hit by accident.

The first pose is held from the start of the video until its own time. So a trajectory whose first keyframe sits at time: 0.3 opens on a frozen frame for the first 30% of the clip, then starts moving. The same applies at the other end: the last pose holds to the finish.

That is genuinely useful once you know it. A beat of stillness before the camera commits is a real editorial choice. It is only a problem when it happens to you without your knowing why.

Azimuth is signed and unbounded

This is the one field with no ceiling. 0 → 360 is one full turn clockwise. 0 → -360 is one full turn the other way. 0 → 720 orbits twice.

The sign matters more than the number. Going from 350 to 10 is not a 20-degree nudge — it is a 340-degree journey backwards, because the model reads the values as written rather than finding the shortest path. If you want to cross "zero", keep counting up: 350 → 370.

fal caps total travel at 32 turns, which is far past anything a 15-second clip can show legibly.

Elevation moves the shot more than you expect

0 is level with the subject. 90 is straight down. -90 is straight up from underneath.

Thirty degrees already reads as a crane shot. Sixty is an aggressive overhead. I have found the useful range for most subjects is narrower than the schema allows — somewhere between -15 and 45 — and that anything past 70 starts showing the model how little it knows about the top of your object, because the photo never showed it.

Distance is relative to the photo, not to metres

There is no unit here. The practical way to think about it: 1 is roughly where the photo was taken from. Below that you are pushing in, above it you are pulling back.

0.35 is close enough to feel intimate. 1.5 is a comfortable reveal. Wide swings between poses — say 0.3 to 1.4 — produce a dolly-like move that is one of the more cinematic things this endpoint can do, precisely because it cannot zoom.

Three keyframe trajectories that work

Turntable — the product shot. Five keyframes, even spacing, constant height and distance, azimuth stepping 0 / 90 / 180 / 270 / 360. It is the most predictable output this model produces, which is exactly what you want for a catalogue.

Crane up — two keyframes is enough. Start at elevation: 0, distance: 0.9 and end at elevation: 55, distance: 1.4. The rise and the pull-back together read as a reveal.

Hero reveal — three keyframes that move on all three axes at once: close and slightly below, then out and level, then wide and above. This is the one that looks most like a shot someone designed rather than a turntable.

The studio on the tool page has all three as presets, and it draws the path as a floor plan so you can see the shape before you spend anything.

What it will not do

fal is direct about the exclusions, and they are worth knowing before you plan a shot around one:

  • No zoom. Focal length never changes. You approach by moving the camera, which is a different look — and often a better one.
  • No push-in intro. The clip starts at your first pose. There is no lead-in.
  • No roll. The horizon stays level.
  • No subject motion. By design. People do not walk, water does not flow, hair does not move.

If you need any of those, you need the ordinary H3 route, where the camera is directed with words instead of numbers — the 20 published camera moves cover that vocabulary.

A complete trajectory, annotated

Here is the turntable, written out as the endpoint receives it:

[
  { "time": 0,    "azimuth": 0,   "elevation": 18, "distance": 0.8 },
  { "time": 0.25, "azimuth": 90,  "elevation": 18, "distance": 0.8 },
  { "time": 0.5,  "azimuth": 180, "elevation": 18, "distance": 0.8 },
  { "time": 0.75, "azimuth": 270, "elevation": 18, "distance": 0.8 },
  { "time": 1,    "azimuth": 360, "elevation": 18, "distance": 0.8 }
]

Three things about it are deliberate.

Elevation is 18, not 0. A dead-level orbit looks flat, and it also asks the model to render the object's silhouette edge-on at every angle, which is where artefacts show. A slight downward look gives the shot some dimension and keeps the top surface partly visible throughout.

Distance is 0.8, not 1. Slightly closer than the source photo. It fills the frame without pushing into the range where the model starts inventing surface detail.

The angles are evenly spaced against evenly spaced times. That is what makes the rotation constant. Uneven spacing — say poses at 0, 90, 180 but times at 0, 0.7, 1 — produces a turn that crawls then races, which reads as a mistake rather than a choice.

When the output is wrong, it is usually one of these

What you seeAlmost alwaysFix
A static shotEvery pose has identical angle, height and distanceChange one axis; the studio flags this before you render
Motion that crawls then racesTimes are spaced unevenly against evenly spaced anglesMatch the time spacing to the angle spacing
The camera swings the long way roundAzimuth crosses zero downward, e.g. 350 → 10Keep counting up: 350 → 370
Movement too small to readAll poses sit within a few degreesWiden the azimuth range, or add distance change
The back of the object looks inventedIt is — the photo never showed itKeep the orbit inside ~120° of the source angle
Warped geometry at the topElevation is too steep for what the photo showedBring elevation under 45

Questions that come up

Does the duration change the trajectory? No. Time is normalized, so the same trajectory works at 5 or 15 seconds — the camera just moves slower over a longer clip. This is the one thing you can change freely without re-tuning.

Can I start the orbit part-way through? Yes, and it is a real technique. A first keyframe at time: 0.3 gives you a still beat before the move begins. Just know that it is what is happening, rather than discovering it by accident.

Can two keyframes share a time? The schema does not forbid it, but it asks the model to be in two places at once, and the result is not predictable. Keep times strictly ascending.

How many keyframes should a trajectory have? Fewer than you think. Two is enough for a crane or a half orbit. Five is enough for a full turntable. The limit is 12, but paths that dense tend to fight themselves — every extra pose is another constraint the model has to satisfy between the ones that matter.

Does the source image's aspect ratio matter? The output follows the input image, the same as ordinary image-to-video on this family. A square product shot orbits into a square video.

A routine that saves credits

Draft at 480P. A trajectory reads the same at every tier. 480P costs a fifth of 1080P and tells you whether the shape works.

Check the diagram before rendering. If the path looks like a dot, your poses are too close together. If it looks like a straight line through the subject, you have azimuth values that pass through the middle rather than around it.

Change one axis at a time. When an orbit looks wrong it is usually one field. Moving all four at once means you cannot tell which one fixed it.

Then step up. 768P is the native render and where most finished work belongs. 1080P is a latent refinement of that same 768P render — it sharpens what is there rather than generating more, so it earns its double price on delivery work and wastes it on tests.

Bottom line

Multi Angle is a narrow tool that does one thing precisely: it moves a camera around a scene that does not move. The prompt is not where the camera lives, camera words do nothing, and the whole shot is four numbers per pose.

Once that clicks it is one of the more predictable things in AI video — which, given how much of this field is re-rolling and hoping, is worth something.

Field names, ranges and limits in this article come from fal's published schema for the Multi Angle endpoint, checked September 2026. This site is not affiliated with MiniMax or fal.

Free to try

Generate your first video with MiniMax H3 — right now

Create videos from text or a reference image, with ready-to-use prompt examples to help you get started. No downloads — just open it in your browser.