- Learn
- Acting & Casting
- Animate an AI Character
Acting & Casting · AI filmmaking
Animate an AI Character
Also called: reference-to-video, multi-reference video, character animation, audio-driven lip-sync
To animate an AI character you give a video model the character’s pictures — and with MiniMax H3 Max reference-to-video, also sound and motion: up to nine images, three audio clips and three video clips in one request. Below, the method for any character — with an example run on our demo character Mara Vale for each step: a 15-second film scene recreated from nine pictures and the film’s own soundtrack, one example for each kind of reference, and what the prompt-enhance setting really does.
Video script
Hi, I'm Yaro. Today your AI character gets a role in a real film scene. No audition, no agent, no snacks in the trailer.
MiniMax H3 Max takes up to nine images, three audio clips and three video clips in one request. Image one is your character sheet: only the look, never on screen. Forget to say that, and the sheet opens the movie.
Step one: replace the actor in every film frame. GPT Image 2.5. Skip it, and the model just copies the actor. No refusal. Polite identity theft.
Step two: frames in shot order, the film's sound as Audio one. Out comes the Whiplash drum solo: five shots, in order.
And the drums come back almost sample for sample. It's not a drummer. It's a tape deck with ambition.
Another route: H3 Max Turbo. The storyboard goes in as the first image, the sheet as the last, and the prompt puts them ten seconds before the video and a hundred seconds after. Out of sight, out of frame. Nine seconds of generation.
Props are sneaky. Glasses with three lenses? The model draws two, because it has seen a million normal pairs. Write no fourth lens, and it's two again. The fix: the glasses already on her face, in the first frame.
And keep prompt enhance disabled. Balanced rewrote our prompt, invented a cut at three seconds, and the video followed the rewrite. Creative. Also fired.
Motion clips, voice lines and every prompt are in the article below. Scroll down. I'll be in my trailer.
- What it does
- Turns the character’s pictures, a scene’s frames, a sound and a motion clip into one video, each reference with its own job.
- Limits
- 9 images, 3 audio, 3 video — 12 files at most; clips 2–15 s; output 5–15 s at 480P, 768P or 1080P.
- Prompt enhance
disabledfor scripted scenes; the defaultbalancedrewrites your prompt — and the video follows the rewrite.
H3 Max Turbo · the storyboard first, the character sheet last
The fastest route in these experiments to put your character into a film scene: the scene’s frames as one 3 × 3 storyboard for the first image, the sheet — face close-up and full body — for the last, the film’s sound pinned as the soundtrack. In the prompt both images stand far off the timeline, at -00:10 and +01:40, so each flashes for one frame you trim.
- Generation
- 9.0 sH3 Max: 24.1 s
- Shots of the scene
- 5 of 5in film order
- Inputs
- storyboard 3 × 3 · character sheet · the film’s soundtwo images + audio
♪ Audio · the film’s sound, pinned with target_audio_url
animate — creative reference guide
Give it your character and what you have: film frames and their sound, a motion clip, a voice line, a place and a prop. It classifies the job, helps choose a reference layout and points to creative notes with the exact settings, prompts and times from this article.
⬇Download meta-skillanimateThe router that links every case — classify · choose settings · follow the creative guide- 1animate-propsAn unusual prop goes on the character first
- 2animate-film-scene-refsReplace the actor in the frames, add the sound
- 3animate-video-ref · audio-ref · multi-imageMotion, voice, place and prop as references
- 4animate-storyboard-turbo · scene-pairsTurbo for storyboard takes and whole minutes
- 5animate-prompt-enhanceA JSON prompt with enhance disabled
- 6upscale-video-finalTrim the reference frames, upscale the cut once
The short answer
MiniMax H3 Max reference-to-video takes up to 9 images, 3 audio clips and 3 video clips in one request and names them in the prompt as Image 1…9, Audio 1…3, Video 1…3. Give it your character, the frames of a scene in shot order and the scene’s sound, and it plays the scene back with your character — five shots in the right order, framing and light from the frames, the drum solo as the soundtrack.
- Frames with the original actor✕ the actor’s face comes back✓ replace the actor first — your character in every shot
- The character sheet as Image 1✕ shown on screen as a shot✓ “only the look of the character, never on screen”
- Eight frames of five shots✕ cuts land 0.5–2.1 s early✓ five shots, film order and framing
- Audio reference✕ not a voice to re-perform✓ played back as the soundtrack
- Prompt enhance✕ rewrites a script, invents a shot✓ disabled keeps your words
- A film scene · measured fastest route✕ H3 Max, 9 references · 24 s✓ Turbo, board first, sheet last · 9 s
Drafts or quality: Seedance 2.5
The external method on this page uses MiniMax H3 for drafts and many takes. Seedance 2.5 reference-to-video accepts the same pictures and sound as references (@Image1, @Audio1), up to 30 seconds a call, with its own synced sound at 720p or 1080p. The source preferred Seedance for quality. Side by side on our product commercial, its reported cuts were approximately one second early and half a second late; it drew finer detail and added its own sound effects in sync. This side-by-side result is from a product commercial, not a measurement on every format.
What is reference-to-video?
Image-to-video starts from one picture and moves it. Reference-to-video starts from nothing on screen: every picture, sound and clip you attach is a reference the model reads — who the person is, what each shot looks like, what it sounds like, how it moves — and you say in the prompt which reference is for what. MiniMax H3 Max is the first model we tested that takes all three kinds at once. This is everything its request accepts:
| Input | Values | What it is for |
|---|---|---|
reference_image_urls | up to 9 | the character, frames of the scene, a place, a prop — Image 1…9 in the prompt |
reference_audio_urls | up to 3 | 2–15 s each, 15 s together — Audio 1…3 |
reference_video_urls | up to 3 | 2–15 s each, 15 s together — Video 1…3 |
| All references | 12 files | images, audio and video together |
duration | 5–15 s | whole seconds; default 5 |
resolution | 480P · 768P · 1080P | 1080P is a refinement of a native 768P video; default 768P |
aspect_ratio | adaptive · 21:9 · 16:9 · 4:3 · 1:1 · 3:4 · 9:16 | default adaptive |
prompt_expansion_mode | disabled · balanced · quality | required; the rewrite comes back as expanded_prompt |
seed | integer | random when left out; returned with the video |
The method works for any character and any film. Your character always comes in as their character sheet — face close-up and full body in one image, made from their photo on AI Character Sheet — and every prompt names it only by its role: “Image 1 is only the look of {character}”. Nothing about their face, hair or clothes is written in words; the look comes from the picture.
Each section below gives the method first, then an example run with our demo character Mara Vale. Her sheet, prompts, frames and voice are the evidence for the method — never reuse them for your own character.
1 · A film scene from nine pictures and its soundtrack
9 images + 1 audioAny film scene up to 15 seconds goes in as one request: Image 1 is your character’s sheet, the other eight slots are frames of the scene in shot order — more frames for a long shot, one for a short one — and the scene’s own sound of the same window is Audio 1.
Example run: the final drum solo of Whiplash (2014): 14.8 seconds, five shots — a high close shot over the drums, the whole kit, the hands, the face between two cymbals, a cymbal in extreme close-up. Nine image slots are enough for the character plus eight frames: three for the long first shot, two for the face, one for each of the others. The film’s own sound of those 14.8 seconds goes in as Audio 1.
Step 1 · Put the character into the frames
In the example run we first tried the film frames as they are, and the sheet as Image 1 with a plain “Image 1 is Mara”. Both went wrong in a way the model will not warn you about.
- The actor’s face wins. With a frame of the actor as Image 2 and “the drummer is Mara from Image 1”, the whole shot comes out with the actor’s face, hair and shirt. H3 accepted the real actor without any refusal — it simply copied him.
- The sheet plays as a shot. Without being told otherwise, H3 opened the video with the character sheet itself — white background, the jacket — for the first second, then cut into the scene.
- Replace the actor in every frame first — GPT Image 2.5 with the sheet as picture 1 and the film frame as picture 2. The frame with nobody in it (the cymbal) stays as it is.
- Say what Image 1 is for: “only the look of {character} … it never appears on screen as a shot”. With Mara it did not appear.
- Stays
- camera, framing, cymbal and drum, the greenish-amber light, the sideways glance
- Changes
- the person: Mara’s face, ponytail, bomber and turtleneck
- Prompt
- the replace prompt from AI Character Sheet, blind about the face; the clothes named only as they are on your own sheet
Example run: seven of the eight frames went through the same edit, one run each, no retries.
Step 2 · Nine images and the sound, in shot order
The order is the whole trick: the prompt says “Image 2, Image 3, Image 4 are shot 1, its beginning, middle and end”, “Image 5 is shot 2” and so on, and “Audio 1 is the soundtrack from the first frame to the last”. Click a frame to see how it was made.
Step 3 · Play it: which input drives which moment
The generation plays on the left. On the right is the input the current moment was built from; under the video, the shots as they came out and the images placed on them. Click a frame or a shot to jump there. Image 1 and Audio 1 work for the whole video.
and all the time: Image 1 + Audio 1
Shot lengths are measured on the generated video. The prompt asked for cuts at 5.29, 7.38, 8.63 and 11.30 s — the model cut earlier and gave the last shot the rest. Unmute the video to hear Audio 1.
The prompt is the same JSON we use for image-to-video scenes — film and year in output, a characters entry whose face, hair and clothes come from Image 1 and are not spelled out, one entry per shot with the camera, “Exactly one person is in the frame in this shot: {character}”, BEGINNING / THEN / END and cut_at — plus a references block that gives every image and the audio its job. The original actor is not described anywhere.
The method · the references block (renumber to your shots)
"references": {
"Image 1": "only the look of {character}: their face, hair and clothes. It is a reference, it never appears on screen as a shot.",
"Image 2, Image 3, Image 4": "shot 1, in this order: its beginning, middle and end",
"Image 5": "shot 2",
"Image 6": "shot 3",
"Image 7, Image 8": "shot 4, its beginning and end",
"Image 9": "shot 5",
"Audio 1": "the soundtrack of the whole video from the first frame to the last: {what is heard, e.g. the music {character} plays}. Every {on-screen sound action} lands on a beat of Audio 1."
}The example run’s prompt below still wrote Mara’s look and wardrobe out in words; the blind form — every look taken from Image 1, none written down — is the rule now.
Example run · the Whiplash prompt as tested · JSON
{
"output": "Full-screen live-action scene from the film Whiplash (2014): the final drum solo on a concert stage. Mara plays the drum kit alone, faster and faster. Five shots with hard cuts at the given times, 15 seconds.",
"references": {
"Image 1": "only the look of Mara: her face, hair and clothes. It is a reference, it never appears on screen as a shot.",
"Image 2, Image 3, Image 4": "shot 1, in this order: its beginning, middle and end",
"Image 5": "shot 2",
"Image 6": "shot 3",
"Image 7, Image 8": "shot 4, its beginning and end",
"Image 9": "shot 5",
"Audio 1": "the soundtrack of the whole video from the first frame to the last: the drum solo Mara plays. Every stick hit and cymbal crash on screen lands on a beat of Audio 1."
},
"rules": [
"Each shot looks exactly like its images: the same framing, camera angle, set, colour and warm amber light; add nothing and remove nothing.",
"It is always one single full-screen shot at a time; the screen is never split."
],
"characters": {
"mara": {
"name": "Mara Vale",
"look": "a 29-year-old woman, dark brown almost black hair pulled back in a low ponytail, pale freckled skin, a narrow oval face, straight dark brows, grey-green eyes, a lean wiry build",
"wardrobe": "an olive-green nylon bomber jacket with orange at the shoulders and cuffs, a black fitted turtleneck",
"face": "exactly the person in Image 1 and in Images 2 to 8, the same face, hair and clothes in every shot"
}
},
"shots": [
{
"shot": 1,
"images": "Image 2, Image 3, Image 4",
"camera": "a close shot from high above and in front of Mara, looking down on her over the drums; warm amber light; blurred drum heads glowing behind her; the camera sways a little with her",
"action": [
"Exactly one person is in the frame in this shot: Mara.",
"BEGINNING: Mara is bent over the drums, head down, playing a fast roll, alive from the first frame, exactly like Image 2.",
"THEN: Mara lifts her face toward the camera with a fierce, tight grin, still playing, like Image 3.",
"END: Mara drops her head low over the drums so the top of her head and her ponytail fill the middle of the frame, like Image 4, drumming harder right up to the cut."
]
},
{
"shot": 2,
"images": "Image 5",
"camera": "a wide frontal shot of the whole drum kit on a dark stage with a curtain behind; cymbals on the LEFT and RIGHT sides of the frame, a music stand on the RIGHT edge; the camera holds still",
"action": [
"Exactly one person is in the frame in this shot: Mara, sitting behind the kit in the middle of the frame.",
"BEGINNING: Mara plays fast with both arms, her sticks flying between the snare, the toms and the cymbals, like Image 5.",
"END: Mara keeps playing at full speed, her head bobbing with the beat, right up to the cut."
],
"cut_at": "00:05.290"
},
{
"shot": 3,
"images": "Image 6",
"camera": "an extreme close-up of Mara's hands and sticks over the drums, motion-blurred; bright paper of a music stand in the upper RIGHT; the camera holds still",
"action": [
"Exactly one person is in the frame in this shot: Mara, seen only as her hands and her olive-green sleeves.",
"BEGINNING: Mara's two sticks hammer the drum heads so fast they blur, like Image 6.",
"END: the sticks keep blurring over the drums until the cut."
],
"cut_at": "00:07.380"
},
{
"shot": 4,
"images": "Image 7, Image 8",
"camera": "a close-up of Mara's face at eye level, seen between a blurred brass cymbal on the LEFT side of the frame and a dark drum on the RIGHT side; greenish-amber light; the camera holds still",
"action": [
"Exactly one person is in the frame in this shot: Mara, her face in the middle of the frame.",
"BEGINNING: Mara plays, her face damp with sweat, eyes glancing toward the LEFT side of the frame, lips pressed together, like Image 7.",
"THEN: Mara's head bobs hard with each beat.",
"END: Mara keeps her eyes toward the LEFT side of the frame, jaw set, like Image 8, right up to the cut."
],
"cut_at": "00:08.630"
},
{
"shot": 5,
"images": "Image 9",
"camera": "an extreme close-up of a brass ride cymbal filling the frame, its felt and wing nut in the upper LEFT, dark behind it; the cymbal shivers; the camera holds still",
"action": [
"Exactly one person is in the frame in this shot: Mara, seen only as the tip of her drumstick.",
"BEGINNING: the brass cymbal shivers alone in the frame, like Image 9.",
"THEN: the tip of Mara's wooden drumstick enters from the lower RIGHT and strikes the cymbal again and again, on the beat.",
"END: the cymbal trembles and flashes under the hits until the last frame."
],
"cut_at": "00:11.300"
}
],
"sound": "exactly Audio 1 from the first frame to the last: the fast jazz drum solo, snare rolls and cymbal crashes, running straight across every cut"
}Example run · the request
{
"duration": 15,
"resolution": "768P",
"prompt_expansion_mode": "disabled",
"aspect_ratio": "21:9",
"reference_image_urls": [
"Image 1",
"Image 2",
"Image 3",
"Image 4",
"Image 5",
"Image 6",
"Image 7",
"Image 8",
"Image 9"
],
"reference_audio_urls": [
"Audio 1"
],
"prompt": "\u2026 the JSON prompt below \u2026"
}What came out · example run
- Five shots in the film’s order, each framed like its images: high over the drums, the full kit with the music stand on the right, the blurred hands, the face between cymbal and drum, the cymbal alone.
- Mara in every shot with the olive bomber and the orange shoulders; the sheet never appears.
- The soundtrack is Audio 1. The generated audio matches the reference almost sample for sample (correlation 0.89 at zero offset) — H3 plays the reference back, it does not re-create it.
- Cuts come early. The prompt asked for cuts at 5.29, 7.38, 8.63, 11.30 s; they landed at 3.21, 6.13, 8.17, 9.46 s — 0.5 to 2.1 s early — so the cymbal shot runs 5.6 s instead of 3.5 s. The order held; the timing did not.
- Timing: it came back in 42 seconds from submit to file — 34.7 s of that on fal’s side, 24.1 s of generation.
2 · The same scene on H3 Max Turbo: a storyboard and a sheet
board + sheet + audioH3 Max Turbo has no reference slots — only a first image, a last image and an audio track it pins to the soundtrack. So the scene’s frames, the actor already replaced, go in as one storyboard (the first image), your character’s sheet as the last image, and the scene’s sound as the audio. The shots, cameras and actions are the JSON from section 1, with “Image N” replaced by “storyboard frame N”. In the example run: the same nine frames, Mara’s sheet and the drum solo.
- Audio
- the scene’s sound, pinned with
target_audio_url— here the drum solo - Prompt
- the scene JSON from section 1, frames renumbered to the board
- Settings
- 15 s · 768P · prompt enhance disabled
The trick: keep the keyframes far off the timeline
A storyboard and a sheet are references, not shots. Tell the model they are frozen shots, and it spends screen time on them. Tell it they stand ten seconds before and a hundred seconds after the video, and they all but vanish.
- The prompt: the board frozen for the first 0.4 s, a hard cut to the sheet at 14.6 s.
- The board held 9 frames (0.38 s) — and the sheet 43 frames (1.8 s), arriving 1.3 s early.
- Shot 1 is gone: the scene jumps from the board straight to the full kit and every shot moves up one.
first_frame: “stands at -00:10, ten seconds before the video starts, off screen”;last_frame: “at +01:40, a hundred seconds after it ends”.- The board held one frame (0.04 s), the sheet one frame — the last. Trim one frame at each end.
- All five shots, shot 1 with its beginning, middle and end.
For your character the block stays word for word; only the last image becomes “{character}’s character sheet” and the light becomes your scene’s — the template is in animate-storyboard-turbo.
Example run · the keyframes block as tested · Turbo
{
"first_frame": "the given first image stands far away on the timeline, at -00:10 — ten seconds before the video starts, off screen. It is a storyboard on black: nine frames of this scene in three rows of three, numbered 1 to 9 in reading order; frames 1, 2, 3 are shot 1 (its beginning, middle and end), frame 4 is shot 2, frame 5 is shot 3, frames 6 and 7 are shot 4 (beginning and end), frames 8 and 9 are shot 5. It is only a reference and never appears on screen; the video starts directly inside shot 1.",
"last_frame": "the given last image stands far away on the timeline, at +01:40 — a hundred seconds after the video ends, off screen. It is Mara’s character sheet on black, her face in close-up on the left and her full body on the right: only the reference for her face, hair and clothes. It never appears on screen; the video ends inside shot 5.",
"rules": [
"Each shot looks exactly like its storystoryboard frames, enlarged to the full screen: the same framing, camera angle, set, colour and warm amber light; add nothing and remove nothing.",
"It is always one single full-screen live-action shot at a time; the screen is never split into a grid and no still picture is ever shown."
]
}Play it: which storyboard frame drives which moment
and all the time: Last image + Audio
Cuts measured on the generation: 3.17, 6.04, 8.25 and 9.46 s — early, like H3 Max; the prompt asked for 5.29, 7.38, 8.63 and 11.30 s.
Max vs Turbo: inputs and timing
| H3 Max · reference-to-video | H3 Max Turbo · image-to-video | |
|---|---|---|
| Inputs | sheet + 8 frames + audio, 9 image slots | one storyboard + one sheet + pinned audio |
| Shots | 5 of 5 | 5 of 5 with the far keyframes · 4 of 5 with frozen ones |
| Cuts landed at | 3.21, 6.13, 8.17, 9.46 s | 3.17, 6.04, 8.25, 9.46 s |
| Generation on fal | 24.1 s | 9.0 s |
| Whole request on fal | 34.7 s | 15–20 s |
| Our wait in the queue | 0 s | 30 s and 2 min 33 s on two runs |
- Turbo generated 2.7 times faster in this scene experiment.
- The queue can eat the speed: one of our two Turbo runs waited two and a half minutes for an available machine before a nine-second generation.
- Both models cut early, at almost the same times. The timing comes from the model, not from how the frames go in.
- The same Turbo clip at 4K: Topaz Starlight Precise 2.6 took it from 1568 to 3840 pixels wide — see AI Upscaling.
- Max keeps the sheet off screen on its own; Turbo needs the far-keyframe wording, or the storyboard and the sheet take screen time and a shot.
3 · Video reference: borrow the motion
1 image + 1 videoA reference video carries movement and camera. Give H3 your character’s sheet as Image 1 and a short clip with the sound removed as Video 1, and write the action in words, “exactly like the person in Video 1”. The prompt names each reference by its role and never describes anyone’s look.
Example run: five seconds of the stairs dance from Joker (2019), Mara’s sheet as Image 1, and a request for her to dance down concrete steps at dusk “exactly like the dancer in Video 1”, the camera low and still like in the clip.
- the face, every mark on it
- the hair
- the whole outfit
- the backdrop and the sheet layout — never on screen
- the poses on the sheet
- every move: steps, arm swings, kicks
- the timing of the moves
- the camera: framing, angle, movement
- the performer’s face, hair and make-up
- the costume
- its sound — removed before upload
Image 1 is only the look of {character}: exactly their face, hair and outfit from Image 1, nothing added.
Image 1 never appears on screen.
Video 1 is the motion and camera reference only: copy its {motion} - every {move}, {move}, {move}, the timing - and its camera, {the clip's camera: framing, angle, movement}.
Live-action film scene, one continuous shot:
{character}, exactly as in Image 1,
{action} in {place},
exactly like the person in Video 1.
Exactly one person is in the frame: {character}.
Sound: {sound}.
The example run’s prompt still described Mara’s looks in words; the blind form above — Image 1 named only by its role — is the rule now.
Example run · the Joker prompt as tested
Image 1 is Mara Vale, a 29-year-old woman with dark hair in a low ponytail, pale freckled skin, grey-green eyes, in an olive-green bomber jacket with orange at the shoulders and cuffs, a black turtleneck, charcoal cargo trousers and black lace-up boots. Image 1 is only her look; it never appears on screen. Video 1 is the motion and camera reference only: copy its dance - every step down, every swing of the arms, the kick of the legs, the timing - and its camera, a low wide shot looking up the steps that holds still. Live-action film scene, one continuous shot: Mara, exactly as in Image 1, dances down a long flight of concrete steps between tall brick walls in an empty city at dusk, arms swinging wide, exactly like the dancer in Video 1. Exactly one person is in the frame: Mara. Sound: a slow, heavy glam-rock drum beat and her boots on the concrete steps.
and all the time: Image 1
Video 1 plays on the right in step with the generation: every step and arm swing on the left comes from the same moment on the right.
- The dance transfers: the steps down, the wide swings of the arms, the low still camera looking up the stairs.
- The character does not come from the clip. In the example run Mara keeps her bomber, turtleneck and ponytail; nothing of the suit or the make-up from Video 1 comes through.
4 · Audio reference: a voice to lip-sync
1 image + 1 audioA voice is the most direct way to set timing. Audio 1 comes back exactly as given, so it must already be your character’s voice — your own recording or the voice on their character card, re-voiced if needed, never someone else’s. Image 1 is the sheet, named only by its role; the prompt says Audio 1 is the character’s voice and the whole soundtrack, and writes the words out as well.
Example run: 6.7 seconds of narration from Gone Girl (2014) — “Cool girl is hot. Cool girl is game. Cool girl is fun. Cool girl never gets angry at her man.” — with Mara saying it at the wheel of an old car, lips in sync.
- the face, every mark on it
- the hair
- the whole outfit
- the backdrop and the sheet layout — never on screen
- the poses on the sheet
- the voice itself — played back as it is
- the words and their rhythm → the lips move with them
- the length of the scene
- nothing else is added: no music, no engine — Audio 1 is the whole soundtrack
Image 1 is only the look of {character}: exactly their face, hair and outfit from Image 1, nothing added.
Image 1 never appears on screen.
Audio 1 is {character}'s voice and the whole soundtrack: {character} says exactly the words of Audio 1, in its rhythm, lips in sync with every word: "<the words of the line>"
Live-action film scene, one continuous shot: {framing and place}; {character} {action} and speaks the lines of Audio 1 {delivery}, {gaze}.
Exactly one person is in the frame: {character}.
The camera holds still.
The example run’s prompt still spelled out Mara’s looks in words; the blind form above is the rule now.
Example run · the Gone Girl prompt as tested
Image 1 is Mara Vale, a 29-year-old woman with dark hair in a low ponytail, pale freckled skin, grey-green eyes, in an olive-green bomber jacket with orange at the shoulders and cuffs, a black turtleneck, charcoal cargo trousers and black lace-up boots. Image 1 is only her look; it never appears on screen. Audio 1 is Mara's voice and the whole soundtrack: she says exactly the words of Audio 1, in its rhythm, her lips in sync with every word: "Cool girl is hot. Cool girl is game. Cool girl is fun. Cool girl never gets angry at her man." Live-action film scene, one continuous shot: a medium close-up through the windshield of an old car at golden hour; Mara drives, both hands on the wheel, and speaks the lines of Audio 1 to herself, flat and calm, eyes on the road, a faint bitter smile at the end. Exactly one person is in the frame: Mara. The camera holds still.
- The voice is the reference itself (correlation 0.96 with Audio 1 at zero offset) — the model animates the face to it rather than generating a new voice.
- Her mouth opens and closes with the phrases. Judge the sync yourself with the sound on — we did not measure it.
5 · Several images: character, place, prop
3 imagesWith no film frames at all, each image can carry one thing. Image 1 is your character’s sheet, Image 2 a place, Image 3 a prop — and the prompt is two plain sentences: one of roles, one of action. Example run: Mara, a flooded tiled corridor and a pair of round glasses.
- face, hair
- their clothes
- the sheet layout and backdrop
- the set: its surfaces, water, details
- its light
- its framing — the camera comes from the words
- the object’s shape
- the background of the product shot
Image 1 is {character}.
Image 2 is the location.
Image 3 is {their prop}.
{character} {moves}
{through the place} of Image 2,
{wearing / holding} the {prop} from Image 3
and their clothes from Image 1.
{beat 2}, {beat 3}.
{camera move}, {one detail of sound or motion}.
Example run · the prompt as tested (also the prompt of the enhance test in section 6)
Image 1 is Mara. Image 2 is the location. Image 3 is her glasses. Mara walks toward the camera down the flooded tiled corridor of Image 2, wearing the round glasses from Image 3 and her clothes from Image 1. She stops, takes the glasses off and looks into the lens. Slow push-in, water splashing around her boots.
- All three references land: the corridor with its water and warm side light, round wire glasses on her face, her outfit from the sheet. The lenses come out tinted teal — a little more colour than in Image 3.
- The camera does what the words say — a slow push-in, all the way to a close-up. The action does not fit: at the last frame she is only starting to lift the glasses off. Five seconds is short for walk, stop and a gesture.
- Images below 256 × 256 pixels are refused at submit (“image_too_small”). The glasses photo was 278 × 212, so we centred it on a 400 × 400 white canvas — no scaling.
Props: what breaks and what holds
Image 3 is an unusual object — one frame with three round lenses in a row. A video model has seen a million pairs of glasses and pulls every unusual prop back to the usual one. Four ways we tried to fix it with words, all H3 Max, the same three images and seed — and the one that holds.
“Image 3 is her glasses.”
Two lenses. The model redraws an unusual object as the ordinary one it knows.
“Count them: three lenses, always.”
Three lenses — and they never leave. “Always” reads as a property of the whole video: she takes them off and they are back on her face.
“the third lens past the outer corner of her left eye, sticking out on the RIGHT side of the frame”
A fourth lens floats in the air. The model already drew three on her face; “the third lens past her eye, on the right” added one more beside her head.
“Exactly three circles of glass in the whole video — no fourth lens, no loose lens, nothing floating in the air.”
Back to two lenses. “No fourth lens” outweighed “three”: a negation names the thing you do not want and pushes the count down.
Also tried: the prop-on-character still from step 1 as Image 3 of reference-to-video. At 480P in a wide shot the glasses are a few pixels across and read as two lenses — a reference helps less than a first frame.
- Three lenses from the first frame until her hands take them off — the same wire, the same mint glass.
- Then her face is bare and the glasses stay in her hand to the last frame: the action is written BEGINNING / THEN / END, nothing says “always”.
- The prop is never described by counting or by what it must not be — the first frame already shows it.
- Step 1 · GPT Image 2.5: the character sheet + the product shot → a still of the character wearing or holding it. Click the image for the example prompt.
- Step 2 · GPT Image 2.5: that still + the location → the start frame of the shot, framed so the prop is big enough to read.
- Step 3 · H3 Max Turbo: image-to-video from the start frame, the action in three steps. 7 s at 768P.
Live-action film shot, one continuous shot: {character} stands in {location}, medium shot from the waist up, facing the camera. The video begins exactly on the given first frame and is alive from it. The camera slowly pushes in. {background motion}; {light}.
The {prop} stays exactly as in the first frame while {character} {wears / holds} it: the same {unusual feature}, the same {material and colour}.
BEGINNING: {character} stands still {wearing / holding} the {prop}, looking into the lens.
THEN: {the action with the prop}.
END: {where the prop is until the last frame}; {what is bare / free}, and {character} looks straight into the lens.
Exactly one person is in the frame: {character}. Sound: {sound}.Example run · the video prompt as tested · Mara and the three-lens glasses
Live-action film shot, one continuous shot: Mara stands in a flooded tiled corridor, medium shot from the waist up, facing the camera. The video begins exactly on the given first frame and is alive from it. The camera slowly pushes in. Water ripples on the floor behind her; warm light from the side. Her glasses stay exactly as in the first frame while she wears them: the same frame with three round lenses in one row, the same thin gunmetal wire and pale mint-green glass. BEGINNING: Mara stands still wearing the glasses, looking into the lens. THEN: she lifts both hands, takes the glasses off her face by the temples and lowers them to her chest. END: the glasses stay in her right hand at her chest until the last frame; her face is bare, no glasses on it, and she looks straight into the lens. Exactly one person is in the frame: Mara. Sound: dripping water and a low hum in the corridor.
6 · Prompt enhance: disabled, balanced, quality
A/B · same seedprompt_expansion_mode is a required field with three values. The API describes them as: disabled skips the rewrite, balanced (the default) rewrites in about a second, quality spends up to about 30 seconds on a richer prompt. Whatever the model actually used comes back as expanded_prompt. We ran the same inputs with the same seed (20260929) and changed only this field.
Same three images, same two sentences, same seed (20260929). Only prompt_expansion_mode changes.
| Disabled | Balanced | Quality | |
|---|---|---|---|
| Prompt the model got | 58 words, as written | 350 words | 517 words |
| Shots | one | two — a hard cut at exactly 3.0 s | one |
| The action | glasses only starting to come off at the end | done: glasses off, eyes into the lens | done: stops, glasses off, eyes into the lens |
| Last frame | a tight close-up | a medium shot | a medium close-up |
| Invented in the text | — | the scar moved “to her left cheek” | “three-lens” glasses, a synth drone |
| Submit to file | 9 s | 14 s | 23 s |
- The rewrite is a fixed form in both modes: subject definitions (“Subject 1 is Mara, a woman from Image 1 …”), a summary, a “retention analysis” of what to keep from each image, a shot-by-shot description with timestamps, the soundscape and a music line.
- Balanced planned a second shot, and the video obeyed it. Its rewrite put “[Shot 2] At 00:03.000 …” — and the video cuts at 3.0 s. A cut you never asked for is the clearest sign the model follows the rewrite, not your words.
- Both rewrites fixed the pacing: with a timestamp for each beat, the whole action fits in 5 s; the literal prompt spent the time on the walk and the push-in.
- Both rewrites get details wrong. Balanced moved Mara’s scar from the eyebrow to her cheek; quality described the glasses as “three-lens” and added a music line. Neither error reached the picture this time — but they sit in the prompt the model follows.
- Different waits: quality took the longest to come back.
- Quality also checks the references harder. In an earlier run with a different third image — a close-up photo of octopus tentacles — quality refused the set twice, about 20 seconds in, with “content_policy_violation … flagged by a content checker”. Disabled and balanced accepted the same set.
What balanced sent to the model · expanded_prompt
subject_definitions: <Subject 1> is Mara, a woman from <Image 1> with dark hair tied back, a small scar on her left cheek, wearing an olive green bomber jacket with orange shoulder patches over a black turtleneck and dark cargo pants with boots. <Subject 2> is the flooded tiled corridor from <Image 2>, a long narrow hallway with teal-tiled walls and a reflective water-covered floor. <Subject 3> is the pair of round thin-rimmed glasses with tinted lenses from <Image 3>. summary: [reference generation + video continuation] The target video shows <Subject 1> walking through <Subject 2> while wearing <Subject 3>, eventually stopping to look at the camera. retention_analysis: <Subject 1> (appears in [Shot 1], [Shot 2]): fully_preserved - her facial features, scar, and specific outfit are maintained. <Subject 2> (appears in [Shot 1], [Shot 2]): fully_preserved - the architecture and lighting of the flooded tiled corridor remain consistent. <Subject 3> (appears in [Shot 1]): attribute_transfer - the design and shape of the glasses are applied to the subject. detailed_description: The style is cinematic and atmospheric with a high-contrast lighting scheme and a moody teal-toned color palette. [Shot 1] <Subject 1> walks directly toward the camera in the center of <Subject 2>. Her heavy boots step into the shallow water, creating realistic ripples and splashes that catch the light from the walls. She is wearing <Subject 3> on her face. The corridor is dimly lit with glowing rectangular alcoves in the tiled walls. The camera performs a tracking shot, moving backward at the same speed as she walks forward. [Shot 2] At 00:03.000, the camera transitions to a slow push-in on <Subject 1> as she comes to a halt. She reaches up with her right hand and removes the <Subject 3> from her face, holding them down by her side. She gazes directly into the lens with an intense expression, revealing the small scar on her cheek. The water around her boots settles slightly after her movement. overall_soundscape: The rhythmic sound of heavy boots splashing in water echoing through the tiled corridor. A low, ambient hum of an empty space. non_diegetic_music: N/A
What quality sent to the model · expanded_prompt
subject_definitions: <Subject 1> is Mara from <Picture 1>, a woman with pale freckled skin, light blue-grey eyes, a distinctive vertical scar bisecting her left eyebrow, and dark hair pulled back, wearing an olive-green bomber jacket with rust-orange trim, a black turtleneck, dark cargo trousers, and black leather combat boots. <Subject 2> is the liminal flooded architectural corridor from <Picture 2>, featuring teal-green tiled walls and floor covered in shallow, reflective water, bordered by recessed rectangular apertures emitting warm amber light. <Subject 3> is the dark wireframe spectacles from <Picture 3>, distinguished by three round circular glass lenses aligned horizontally. summary: [reference generation] The target video depicts <Subject 1> wading forward down the flooded tiled hallway of <Subject 2> while wearing <Subject 3>, stopping before the camera to remove the three-lens glasses and stare directly forward. retention_analysis: <Picture 1> / <Subject 1> (appears in [Shot 1]): fully_preserved - Facial anatomy, eyebrow scar, freckles, hairstyle, and utilitarian wardrobe are retained exactly. <Picture 2> / <Subject 2> (appears in [Shot 1]): fully_preserved - Tile geometry, submerged floor, green-cyan wall color, and warm rectangular light cutouts are faithfully reproduced. <Picture 3> / <Subject 3> (appears in [Shot 1]): fully_preserved - The three-lens circular frame structure and dark wireframe finish are preserved as worn eyewear. detailed_description: The aesthetic is atmospheric sci-fi cinema with high-contrast, moody lighting, featuring deep teal tones in the shadows balanced by soft amber glows radiating from recessed wall alcoves. [Shot 1] The scene opens in a straight-on medium-full shot inside the flooded tiled corridor of <Subject 2>. <Subject 1> wades steadily forward through the clear, knee-deep water toward the camera, her heavy black combat boots churning the calm surface into swirling ripples and light splashes. She is clad in her olive-green flight jacket, dark cargo trousers, and black turtleneck from <Picture 1>, and wears the three-lens wireframe glasses of <Subject 3> balanced across the bridge of her nose. The smooth water surface mirrors the grid of submerged floor tiles and the glowing golden light spilling from the open wall niches. The camera executes a Push In with small amplitude at slow speed, gliding smoothly forward just above water level. At 00:02.500, <Subject 1> halts her forward stride at a medium close-up distance, allowing the displaced water to settle into gentle waves that lap softly against her legs. At 00:03.200, she raises one hand, fingers pinching the frame of <Subject 3>, and smoothly lifts the three-lens glasses off her face, lowering them out of frame. The motion reveals her freckled complexion, light eyes, and the vertical scar splitting her left eyebrow as seen in <Picture 1>. With a calm, piercing expression, she holds an intense, unblinking stare directly into the camera lens as the slow camera push-in gently closes the distance until the clip ends. overall_soundscape: Hollow, cavernous room acoustics carry the resonant slosh and churning splash of heavy boots wading through standing water, underscored by faint distant echoing water drips and the subtle rustle of nylon jacket fabric. non_diegetic_music: A low-frequency, sustained analog synth drone that swells with subtle metallic harmonics, establishing an eerie, suspenseful, and liminal atmosphere.
Which mode to use
- Disabled for anything scripted: a JSON scene with shots,
cut_atand “Image N is shot 3”. The rewrite replaces your structure with its own, including shots you did not write. Every film example on this page ran with it. - Balanced for a one-line idea when you want the model to pace the action and fill in camera and sound. Read
expanded_prompt: that is what was filmed. - Quality for the same, with more detail, when you can wait and retry: the slowest and the strictest about references in these tests.
Tested generation settings
source experiments| Generation | Output |
|---|---|
| Filter test · sheet + 2 Mara frames + 5 s audio | 5 s · 480P |
| Filter test · sheet + a frame with the actor | 5 s · 480P |
| Whiplash · 9 images + 14.8 s audio | 15 s · 768P |
| Video reference · sheet + 5 s clip | 5 s · 480P |
| Audio reference · sheet + 6.7 s voice | 7 s · 480P |
| Three images · enhance disabled | 5 s · 480P |
| Three images · enhance balanced | 5 s · 480P |
| Three images · enhance quality | 5 s · 480P |
| Other test runs, not shown · 5 | 5 s · 480P |
| Props · three worded fixes (always, where, no fourth lens) | 5–7 s · 480P |
| Props · the worn still as Image 3 | 7 s · 480P |
| Turbo · storyboard + sheet, keyframes as frozen shots | 15 s · 768P |
| Turbo · storyboard + sheet, keyframes far off the timeline | 15 s · 768P |
| Turbo · props from the worn start frame | 7 s · 768P |
| Actor replaced in 7 frames · GPT Image 2.5 low | stills |
What works best
our conclusionsH3 Max Turbo · the storyboard first, the character sheet last
The fastest route in these experiments to put your character into a film scene: the scene’s frames as one 3 × 3 storyboard for the first image, the sheet — face close-up and full body — for the last, the film’s sound pinned as the soundtrack. In the prompt both images stand far off the timeline, at -00:10 and +01:40, so each flashes for one frame you trim.
- Generation
- 9.0 sH3 Max: 24.1 s
- Shots of the scene
- 5 of 5in film order
- Inputs
- storyboard 3 × 3 · character sheet · the film’s soundtwo images + audio
♪ Audio · the film’s sound, pinned with target_audio_url
| H3 Max · 9 references | H3 Max Turbo · board first, sheet last | |
|---|---|---|
| Generation on fal | 24.1 s | 9.0 s |
| Shots of the scene | 5 of 5 | 5 of 5 |
| Board and sheet on screen | the sheet never appears | one frame each — trim them |
| What you give it | nine separate images + audio | two images + audio |
- 2.7 times faster generation than H3 Max for the same five shots in this experiment. The one catch: fal’s queue added 30 s and 2½ minutes on our two Turbo runs.
- Keep the keyframes far off the timeline. Called frozen shots, the board and the sheet took screen time and a whole shot; at -00:10 and +01:40 they held one frame each — a flash you trim.
- Use H3 Max reference-to-video when the references have different jobs: motion from a clip, a voice to lip-sync, a place and a prop as separate images — Turbo has only a first image, a last image and a soundtrack.
The rules that held in every test
- Put your character into the film frames first. A frame with the actor makes the video keep the actor: replace the actor with GPT Image 2.5; frames with nobody in them go in as they are.
- Say what each reference is for, and only that — “Image 1 is only the look of {character}”, “Images 2–4 are shot 1: beginning, middle, end”, “Audio 1 is the soundtrack”. Unnamed, the sheet gets played as a shot. Never write the character’s face, hair or clothes into the prompt: the look comes from the picture.
- Prompt enhance disabled for anything scripted. Balanced and quality rewrite your shot list — the video follows the rewrite, including a cut you never asked for.
- Expect cuts early. Both models cut 0.5–2 s before the times you ask for; the order of the shots holds.
- Audio references are played back as they are — a drum solo stays the soundtrack, a line stays the voice.
- An unusual prop goes in already on the character, as the first frame — never described by counting it or by what it must not be.
- Upscale once, at the end. The finished Turbo clip went to 4K with Topaz Starlight Precise 2.6 — see AI Upscaling.
The sheet, the frames, the sound and every take on one board.
FAQ
7 questionsHow do I animate an AI character from a picture?
Give a reference-to-video model the character’s sheet as Image 1 and say in the prompt that it is only the character’s look. Add frames, a place, a voice or a motion clip as further references, and write which reference is for what.
How many references does MiniMax H3 Max reference-to-video take?
Up to 9 images, 3 audio clips and 3 video clips, 12 files in total. Audio and video clips are 2–15 seconds each and 15 seconds together. The output is 5–15 seconds at 480P, 768P or 1080P.
Can I use frames from a film as references?
Yes, and H3 did not refuse a frame with a real actor — but it copied the actor’s face. Replace the actor with your character in every frame first; frames with nobody in them can stay as they are.
What does the audio reference do?
In our tests H3 played the reference audio back as the soundtrack of the video — a drum solo as the music, a line of narration as the character’s voice — and animated the picture to it.
Should I turn prompt enhance on?
Not for scripted scenes. Balanced (the default) and quality rewrite the prompt into their own shot list and add details you did not ask for. For a one-line idea balanced can pace the action — but read the expanded_prompt it returns, because that is what gets filmed.
What was the fastest tested way to put my character into a film scene?
H3 Max Turbo image-to-video: the scene’s frames as one 3 × 3 storyboard for the first image, the character sheet (face close-up and full body) as the last image, the film’s sound pinned as the soundtrack, and both images placed far off the timeline in the prompt — 10 s before and 100 s after. Our 15-second 768P scene generated in 9 seconds, against 24.1 seconds on H3 Max, with all five shots.
Why do the storyboard and the sheet show up in the video?
Because the model reads a first and a last image as frames of the video. Describe them as standing 10 seconds before and 100 seconds after the video, off screen: in our test they then held one frame each, which you trim, instead of 0.4 s for the board, 1.8 s for the sheet and a lost first shot.
Related
3- AI UpscalingPost-production
4K frames for AI video: which image models make 4K, what it does to the video, Magnific and Topaz Starlight with measured settings and timings.
- AI Character SheetActing & Casting
One image with every side, expression and pose of your AI character — and how to put that character into a film frame.
- Consistent AI CharacterActing & Casting
Keep one invented person recognizable in every shot: two anchor images, one job per reference, and mixing up to ten references.