Best practices for AI video

Free lesson

How to write a video prompt that works

Lesson 1 of 10 in Best practices for AI video.

Checked against the makers' documentation on 26 September 2026.

Google Veo 3 Tutorial: Make Cinematic AI Videos with Just a Prompt · Kevin Stratvert
Lesson

A video prompt describes one shot. It reads like the note a director hands a camera crew, and a model such as Veo turns it into a clip a few seconds long. Three things set it apart from an image prompt. Something has to move, and the movement has to fill the length you order, so a 4-second clip and an 8-second clip need different wording for the same push-in. The as well, and its move and speed need words of their own. Veo also makes the sound, so any sound you leave undescribed is chosen for you, and every other decision you leave out is filled in the same way, usually with the model's most average answer.

We read seven makers' guides on 25 September 2026, and on the core they agree. Google's Veo page asks for a subject, an action and a style, then offers camera position, composition, focus and ambiance as options, and its Agent Platform guide adds sections on the scene, on lenses, on timing and on audio. Runway's text-to-video guide suggests '[Camera] shot of [a subject/object] [action] in [environment]' followed by supporting detail, Alibaba's Wan guide writes Prompt = Entity + Scene + Motion + Aesthetic control + Stylization, and Luma's API asks you to be specific about subject, motion, camera movement, lighting and pacing. Same bones. The template below puts them in one order.

Here is the template filled in, using the first worked example below. It opens on the camera, 'Wide establishing shot', because the size of the frame decides how much of everything else the model has to draw. The subject and the place follow in one line, 'a small bakery on a cobbled street at dawn, light rain'. Then comes the move, which here is none, 'The camera holds still', and the focus, 'Deep focus'. Light gets a direction and a colour, 'Cool blue light from the sky, warm light spilling from the shop window', so the model knows where the light comes from instead of guessing at a mood word. A style line comes next, 'Documentary realism'. Sound comes last and names its sources, 'rain on the awning and a tram passing in the distance'. The whole prompt is 48 words, and each part of it is one decision made on purpose.

Give the model a still and every guide cuts the formula down to motion. Google's best-practice page says to prompt for motion only because redundant prompts confuse the model, Runway's image-to-video guide says effective prompts 'focus almost exclusively on motion', and Wan's formula shrinks to Motion + Camera movement. Our tin test, told in Image to video, and why it is the reliable route, showed why.

Timing is where the guides have split. Google's best-practice page warns that chaining A then B then C in one short clip gives muddled results, and Runway's Gen-4 guide agrees, yet Runway's Gen-4.5 page says the newer model excels at 'complex, sequenced instructions' and documents timestamps such as [00:02 through 00:03]. MiniMax H3 writes cut times into the prompt as [Shot 2] At 00:03.500, and Wan's newer hosted models take numbered shots with time ranges. Veo still wants one moment.

Test a prompt before you trust it. Draft on the cheapest setting that can show the fault you are looking for, which for Veo is Lite at 720p and 4 seconds for 20 cents, and change one thing between takes so you know what each change did. Read the prompt back before you send it. The check_prompt.py script below does that for nothing, flagging quotation marks, negatives, a second camera move and any sound whose maker might walk into shot. Keep the exact wording beside every clip it made. When a take works, those words are the recipe for making it again, and a clip whose prompt was lost can only be guessed at.

camerasize,anglesubjectone lineactionone verbplaceand timemoveone,speedlightsourcesoundoffscreenfrom an approved stillcamerasubjectactionplacemovelightsoundthe still already says the restone of each, in this order, in plain words
The video prompt formula in seven parts: camera, subject, action, place, move, light and sound; when you start from an approved still, only the move, the action and the sound need words.
An ink drawing of seven small bowls in a row on a wooden counter, each holding one prepared ingredient, leading to a single empty pan at the end.
A prompt is ingredients, prepared and put in order before anything is cooked.

Common mistakes

Wordings we sent to Veo on 25 September, and what came back

  • Instead ofSound, a spoon set down gently on a saucer.

    Do thisSound, quiet room tone and, off screen, the clink of a spoon on a saucer. Reference images, and Veo's own sound shows what each wording brought into shot.

  • Instead ofA negativePrompt of 'hands, people' to keep the hand out.

    Do thisSay where the sound comes from instead. The off-screen wording did on Lite what the negative prompt failed to do on Fast.

  • Instead ofThe matt black tea tin described in words, with no picture.

    Do thisThe approved still as frame one and a prompt for the motion alone, such as 'The camera pushes in slowly. Nothing else moves.' Image to video, and why it is the reliable route shows what each route did to the tin.

  • Instead ofA spoken line sent to Lite again after the filter refused it.

    Do thisMove the line to Fast. Our harmless market-stall line was refused twice on Lite, with no charge, and went through first time on Fast.

  • Instead ofThe 4-second push-in wording reused for an 8-second clip.

    Do thisLength changes the move. Our 8-second push ended with the cup rim filling the frame, so name the speed and the end point for the length you order.

  • Instead ofAn orbit asked of Lite or Fast from one front-on still.

    Do thisAsk for a quarter turn and pin the last frame, which that day only Omni Flash accepted, though we have not yet run an orbit on it. Directing a camera move tells what a full orbit did to the label.

  • Instead ofA shop sign's words trusted because one take spelt them right.

    Do thisOne Lite take spelt HONEY & RYE correctly in every frame, and one take proves little. Set readable words in the edit.

Do it yourself

  1. 01The template, in the order to write itText
    [Shot size and angle] of [one subject, one line of description], [one action], in [place, time of day].[One camera move, with its speed]. [Lens and focus].[Light: where it comes from, how big, how hard]. [Style or film look, if any].Sound: [the place's ambience]. [Effects, marked "off screen" if their source must stay out of shot].[Speaker] says: [one short line, no quotation marks] Image to video: delete everything the still already shows. Keep the camera move, the action and the sound.Omni Flash: end with "One continuous shot, no scene cuts."Open models: follow the maker's own grammar (LTX: one paragraph under 200 words; H3: its three fields).

    Each bracket is a decision. Leave one out and the model makes it for you, usually with its most average answer.

  2. 02Three worked examplesText
    1. Text to video, establishing shot. Veo 3.1 Lite, 16:9, 720p, 4 seconds ($0.20)Wide establishing shot of a small bakery on a cobbled street at dawn, light rain. The camera holds still. Deep focus. Cool blue light from the sky, warm light spilling from the shop window. Documentary realism. Sound: rain on the awning and a tram passing in the distance. 2. Image to video, product push-in. Veo 3.1 Lite, 16:9, 720p, 4 seconds ($0.20). The approved still is frame one.The camera pushes in slowly towards the tin. A thin wisp of steam rises behind it. Nothing else moves. Sound: quiet room tone and, off screen, the clink of a spoon on a saucer. 3. Talking head with one line. Veo 3.1 Fast, 9:16, 720p, 6 seconds ($0.60)Medium close-up of a woman in her sixties at a market stall, eye level, soft overcast daylight. She holds up a jar of honey and says: Picked this morning, from the top field. Sound: market chatter far behind her.

    Example 2 uses the off-screen wording that kept the hand out of our Lite clip. Example 3 follows the colon rule and sits on Fast, where our dialogue went through.

  3. 03The same product shot in MiniMax H3's grammarText
    For the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced. integrated_multimodal_description: [Shot 1] Live-action, cinematic, the matte black tea tin shown in <Picture 1> stands on the grey slate shelf, keeping its label, its shape and the soft window light from the left. The camera pushes in with small amplitude at slow speed towards the tin as a thin wisp of steam rises behind it. overall_soundscape: Quiet room tone. The clink of a spoon on a saucer comes from off screen. non_diegetic_music: N/A

    Same shot, different grammar. H3's guide wants the alignment line first, then three named fields, with every camera move written as type, amplitude and speed.

  4. 04check_prompt.py: read a prompt back before you pay for itPython
    # check_prompt.py: read a video prompt back to you the way the makers' guides would.# It sends nothing and costs nothing. Run: python3 check_prompt.py "your prompt here"import re, sys prompt = sys.argv[1]words = prompt.split()notes = [] # Google's Agent Platform guide: quotation marks can make Veo draw the words on screen.if re.search(r"[\"“”]", prompt):    notes.append("Quotation marks. For speech, write: She says: the line. Keep quotes only for words that must appear.") # Runway and Luma: negation can backfire. Describe what is there instead.for w in ("no ", "not ", "don't ", "without ", "never "):    if w in prompt.lower():        notes.append(f"Negation ('{w.strip()}'). Describe the result you want instead.") # One camera move per short clip.moves = re.findall(r"\b(push(?:es)? in|pull(?:s)? out|pans?|tilts?|orbits?|arcs?|dolly|dollies|zooms?|tracks?|cranes?)\b", prompt.lower())if len(set(moves)) > 1:    notes.append(f"More than one camera move ({', '.join(sorted(set(moves)))}). Pick one.") # Our own finding: Veo stages whatever makes a sound. A spoon set down brought a hand.if re.search(r"\b(set down|clink|pour|stir|knock|tap|click)\w*", prompt.lower()) and "off screen" not in prompt.lower():    notes.append("A sound with a maker. Veo may show the hand that makes it. Add 'off screen' or move it to the edit.") # Google and Runway: one moment per short clip.if prompt.lower().count(" then ") >= 2:    notes.append("A chain of events. Short clips do one moment; split it into shots.") # LTX asks for under 200 words; long prompts collect contradictions.if len(words) > 200:    notes.append(f"{len(words)} words. LTX asks for under 200, and Veo caps prompts at 1,024 tokens.") print(f"{len(words)} words.")print("\n".join("- " + n for n in notes) if notes else "Nothing to flag. Now read it aloud as a shot list.")

    It needs no key and sends nothing. On a deliberately bad prompt it flagged five problems; on the three examples above it flagged none.

The words, in plain language

Shot size
How much of the scene the frame holds, such as a wide shot, a medium shot or a close-up.
Camera move
What the camera itself does during the clip, such as a slow push-in, a pan or holding still.
Motion prompt
The words you send with a still. They describe what moves, because the picture already shows the rest.
Positive phrasing
Describing what is there instead of what is absent. Runway and Luma both warn that negation can backfire.
Prompt rewriting
A second model expanding your words before the video model reads them. Wan calls it prompt extension; Luma calls it Enhance.
Timestamp prompting
Writing each beat against a time, such as [00:02] the lid lifts. Runway, Wan and MiniMax H3 each document a form of it.
Sound cue
Words for a sound. Veo tends to put whatever makes the sound into the picture.

Why it matters

Dialogue punctuation is the plainest disagreement, and it comes from inside Google. The Gemini API's Veo page says 'Use quotes for specific speech', while the Agent Platform best-practice page says to leave quotation marks out and put a colon after the speaker, so the model does not draw the words on screen. MiniMax H3 keeps double quotes for text that really is on screen and wraps speech in its own tags, and Kling pairs each character's name and tone with the line. Use the colon form for Veo. Our harmless market-stall line was refused twice on Lite and went through first time on Fast, so a refusal is not always about punctuation.

Negatives split them too. Runway says negative phrasing 'is not supported and may produce unpredictable or even opposite results', Luma tells you to avoid words such as no, not and without, and Google's Agent Platform guide wants a negative prompt written as a plain list of nouns ('wall, frame') in place of 'no walls'. Our spoon test, told in Reference images, and Veo's own sound, backed the sceptics. divides them the same way, with Wan's README recommending prompt extension and Luma turning Enhance on by default while telling you to switch it off once a production prompt is approved.

Order and length are the last argument. Runway's guide says the order of elements does not matter, LTX's README says to start with the main action in one flowing paragraph under 200 words, Veo caps a prompt at 1,024 tokens and Luma accepts up to 6,000 characters. Start with the camera anyway. Runway's own template puts it first, and it is the decision every other line depends on. Then treat every sound as a stage direction, for the reason the spoon test showed. Every one of these mistakes is paid for in takes. Three wasted tries cost 60 cents on Lite at 4 seconds, and $9.60 on Standard at 1080p and 8 seconds, which is why the wording is worth settling on the cheap tier first.

The rest of the module turns single prompts into habits a studio can keep. It starts with shot templates, prompts already argued over and saved with the settings they need, then covers seeds and what they can and cannot promise about getting a take twice. File naming and version pinning follow, so that any clip can be traced back to the exact model and words that made it. Then comes quality control. You check each clip by machine and by eye, plan the cost of a finished second before the job is priced, read a model's licence before commercial use and label generated work honestly. The module ends on the whole process cut down to one printed page.

Elsewhere


Type
technique
Period
ongoing

Check what stuck

Elsewhere in the library

Hear about new courses.

Leave an email and we will tell you when something new lands. We do not write often.