On October 22, 2026, Google shut down the Veo 3.1 preview models in the Gemini API and told developers to move to Gemini Omni Flash. Same month, same company, and the three official Veo guides still disagree on how to write "no" and how to quote a line of dialogue. Most Veo 3 prompt mistakes come from that gap: advice that was right for one surface gets pasted into another. Below are the seven that cost the most generations, each mapped to the Google page it breaks, with one prompt fixed step by step.
The 7 Veo 3 prompt mistakes at a glance
A Veo prompt is the text instruction that tells Google's video model what to film: who, doing what, where, through which camera, in what light, with what sound. Each row below is a mistake that makes the model guess, and a guess on an 8-second clip usually means another generation.
| # | Mistake | What you get | Fix |
|---|---|---|---|
| 1 | Two camera instructions that contradict each other | The model picks one, usually the simpler | One camera behavior per shot |
| 2 | "No" written the way your surface can't read | The thing you excluded shows up | Negative field in the API, positive description in Flow, plain "No X." in Omni |
| 3 | Dialogue with no speaker, or too long | Wrong person talks, line gets rushed or cut | Name the speaker, keep the line short |
| 4 | Settings typed into the prompt ("16:9, 8 seconds, 4k") | Nothing changes, words wasted | Set them in the generation options |
| 5 | Four actions in one clip | Skipped steps, blended motion | One main action, or timestamps, or split into shots |
| 6 | No camera, light or sound at all | A different video every run | Google's five-part formula plus audio |
| 7 | Pointing at files the model can't open | "See the brand guide" is ignored | Describe it in words or attach reference images |
Where Google's own Veo guides disagree
Google publishes three pieces of Veo prompting advice, and they were written at different times for different products: the Veo 3.1 prompting guide on the Google Cloud blog (October 2025), the video generation prompt guide in the Cloud docs, and the Gemini API Veo page. Gemini Omni Flash has a fourth page with its own rules. Here is where they part ways.
| Topic | Cloud blog (Veo 3.1) | Cloud docs prompt guide | Gemini API (Veo / Omni) |
|---|---|---|---|
| Excluding things | Describe what to exclude inside a positive sentence ("a desolate landscape with no buildings or roads") | Avoid "no" and "don't"; list the unwanted items as plain words ("wall, frame") | Omni has no negative prompt parameter: write "No dialogue" in the prompt |
| Quoting dialogue | Quotation marks: A woman says, "We have to leave now." | Speaker, "says:", then the line, without quotation marks | Veo example uses single quotes after the verb ("A man murmurs, '…'") |
| Sound | Labelled lines: "SFX: thunder cracks in the distance", "Ambient noise: …" | Separate sentences for the audio | Omni generates a default audio track unless told otherwise |
| Several beats in one clip | Timestamps such as [00:00-00:02] | Temporal elements listed as a prompt part | Omni uses timecodes such as [0-3s] |
| Length and format | 4, 6 or 8 seconds; 16:9 or 9:16 | Not part of the prompt anatomy | Parameters (aspect_ratio, resolution), not prompt text |
What holds in all of them: name who speaks, keep sound in its own sentence, and keep length and aspect ratio out of the text. When the guides conflict, follow the one written for the surface you're actually using. That's the rule the rest of this article applies.
1. Two camera instructions that cancel each other
"Camera slowly dollies in then orbits around her, static tripod shot." That sentence asks for three camera behaviors, two of which rule each other out. A camera can't be locked on a tripod and dolly at the same time, so the model resolves the contradiction for you, and creators who post their failed generations report it tends to keep the simplest option and drop the move they wanted (community write-up).
The fix is boring and it works: one camera behavior per shot. If the move matters, write only the move ("slow dolly-in"). If stillness matters, write only "static shot" and let the subject do the moving. Google's blog formula puts cinematography first for a reason: it is the first decision, and it should be a single one.
Contradicts itself
One behavior
2. Writing "no" the way your surface can't read
This is the mistake the guides disagree on, so it's the one most often copied from the wrong place. A negative prompt is a separate list of things you don't want in the video, sent next to the main prompt instead of inside it. Whether you have one depends on where you generate:
| Where you generate | Separate negative field? | How to exclude something |
|---|---|---|
| Veo 3.1 · API | Yes | List the items in the negative prompt, no "no": people, subtitles |
| Veo 3.1 · Flow / Gemini app | No | Describe the scene you want instead: "an empty street", "the tables behind her are empty" |
| Gemini Omni Flash | No parameter | Write it in the prompt as its guide shows: "No dialogue." |
The Cloud docs guide is blunt about the Veo case: instructive words like "no" and "don't" are not recommended, because naming the object can pull it into the frame. So "No people in the background" in Flow is the exact phrasing Google warns against, while the same words on Omni Flash are what its guide asks for. Same sentence, opposite verdicts.
Subtitles are the exception with no clean positive phrasing. MIT Technology Review reported in July 2025 that Veo 3 adds garbled captions to clips with speech. In the API put "subtitles, captions" in the negative prompt; on Omni write "No subtitles."; in Flow keep the line short and the audio in its own sentence.
3. Dialogue with no speaker, or too long for the clip
A quoted line floating at the end of a prompt ("Welcome to our cafe, we have the best coffee in town, come try it today!") leaves two questions open: who says it, and how it fits in 8 seconds. All three Google sources attribute speech to a character first. They only disagree on the punctuation that follows (see the table above).
The version that satisfies every guide: name the speaker with a description already in the prompt, use "says:", and keep the line short enough to say comfortably inside the clip. Fifteen words of ad copy won't fit an 8-second shot with room for action; four or five words will.
Who says it?
Attributed and short
4. Typing settings into the prompt
"16:9, 8 seconds, 4k" at the end of a prompt looks responsible. It does nothing. Duration, aspect ratio and resolution are generation settings: the Cloud blog lists clips of 4, 6 or 8 seconds in 16:9 or 9:16, and the Gemini API sets them through aspect_ratio and resolution parameters. To the model, "4k" in the text is three more tokens to interpret, with no effect on the render.
One constraint is worth knowing before you pick: on the Gemini API, 1080p and 4K require the 8-second length, and 4K isn't available on Veo 3.1 Lite. Pick them in the options panel in Flow or the parameters in code, and delete them from the text.
5. Four actions in an 8-second clip
"She pours latte art, then wipes the counter, then greets a customer and then hands over the cup." Four actions, plus the camera move from mistake 1, in a clip that tops out at 8 seconds. The model compresses: it skips steps, blends two motions into one, or rushes all of them. This is the most common reason a generation looks "almost right" and still gets thrown away.
You have three ways out, in order of reliability:
- Keep one main action. Pick the beat that sells the shot ("she pours a heart of latte art and slides the cup across") and cut the rest.
- Time the beats. Google's Cloud blog shows timestamps like
[00:00-00:02]for multi-beat prompts, and the Omni guide uses[0-3s]. Two or three beats fit; four is pushing it. - Split into shots. If the story needs all four actions, it's four shots. Write one prompt per shot and repeat the same character, wardrobe and light in each, which is what keeps them looking like one video. The Veo prompt checker's Full script mode does that split for you and carries the same descriptors into every prompt.
6. Leaving camera, light or sound to chance
The opposite failure. "A barista making coffee in a cafe" is a valid prompt, and every run gives you a different age, angle, time of day and soundscape. Google's Cloud blog formula fixes the order:
[Cinematography] + [Subject] + [Action] + [Context] + [Style & Ambiance], with audio described separately. Google Cloud blog, Ultimate prompting guide for Veo 3.1
The Cloud docs guide breaks the same idea into finer parts (subject, action, scene, camera angle, camera movement, lens, visual style, temporal elements, audio, cinematic terms and negative prompts), and DeepMind's Veo prompt guide adds lighting and character descriptions as their own headings. They agree on the substance. You don't need all eleven parts, but a prompt with no camera, no light and no sound leaves the three biggest visual decisions to the model.
A quick test before you generate: can you answer "where is the camera, where is the light coming from, what do we hear?" from the text alone? If not, add one short phrase for each. "Warm morning light through the front window" does more than "beautiful lighting", which tells the model nothing it can render.
7. Pointing at files the model can't open
"Use our brand colors (see the attached brand guide)." The video model receives the prompt text and, in image-to-video, the frames you attach. It doesn't open PDFs, brand books or links in the text. Write the colors, style and mood the document defines ("muted teal and cream palette, clean sans-serif signage") or use the features built for it: the Gemini API lets Veo take up to three reference images and a first and last frame.
Before and after: one prompt through the checker
To see how these mistakes stack, we wrote the kind of prompt a small cafe owner might paste into Flow and ran it through the PromptEval Veo checker (https://prompt-eval.com/en/tools/veo-prompt-checker), which tests a prompt against the rules above in the browser, without AI. We build PromptEval and wrote those checks from the same Google pages linked in this article, so treat this as our tool's output, reproducible by pasting the prompt yourself. With Veo 3.1 in Flow selected, it flagged six problems in 67 words, one for almost every Veo 3 prompt mistake on the list.
Before · 67 words · 6 issues
| Check | What it caught | Mistake |
|---|---|---|
| Camera conflict | "tripod" next to "dollies" | 1 |
| Negation | "No people in the background" (Flow has no negative field) | 2 |
| No text or subtitles | "no text": kept, flagged as a known Veo risk | 2 |
| Dialogue | A 15-word quoted line with no speaker | 3 |
| Settings in the text | "16:9", "8 seconds", "4k" | 4 |
| Too much for one clip | Chained "then" actions plus two camera moves | 5 |
Two of those the checker fixes on its own (the settings come out of the text, the negation becomes "an empty background"). The rest are choices only the writer can make: which camera move, which action, who speaks. Here is the rewrite with those choices made:
After · 69 words · 0 issues on Veo 3.1 (Flow and API) and Omni Flash
Same length, completely different instructions: one camera move, one action, one attributed line, light and sound named, the exclusion written as a description, settings moved to the options (16:9, 8 seconds, 1080p). On Omni Flash we appended "No subtitles." because its guide supports exclusions in the text. The checker still shows one tip on the Veo version, a reminder that dialogue can trigger subtitles, which is the honest answer: no prompt fully rules that out.
Flow, Gemini API or Omni Flash: what changes for your prompt
Gemini Omni Flash is Google's multimodal video model in the Gemini API (gemini-omni-1.1-flash, released August 27, 2026), and since October 22 it's where the Gemini API sends you instead of the Veo 3.1 previews. If you work in Flow or the Gemini app you can still pick Veo 3.1. The prompt rules shift with the choice:
| Veo 3.1 in Flow / Gemini app | Veo 3.1 via API (Agent Platform) | Gemini Omni Flash (API) | |
|---|---|---|---|
| Exclusions | Positive description only | Negative prompt field | "No X." in the prompt |
| Clip length | 4, 6 or 8 s in the options | 4, 6 or 8 s (8 s for 1080p/4K) | Extensions add 3 to 10 s at a time |
| Aspect ratio / resolution | Options panel | aspect_ratio, resolution | aspect_ratio; 720p default, 1080p and 4K upscaled |
| Several beats | One main action, or split shots | Timestamps or split shots | Timecodes like [0-3s] |
| References | Frames and ingredients in the editor | Up to 3 reference images, first and last frame | Reference image or two frames in the input |
The same thinking applies to still images, where Nano Banana, GPT Image 2.5 and Midjourney each want exclusions handled differently; the image prompt checker covers those three. And if you write prompts for text models too, our guide to prompt format for Claude, GPT and Gemini shows the same pattern: three official guides, three different answers, one baseline that satisfies all of them. For the general habit of removing guesswork from any prompt, how to write specific AI prompts is the place to start.
Frequently asked questions
What is the best structure for a Veo 3.1 prompt?
Google's Veo 3.1 prompting guide on the Google Cloud blog uses a five-part formula: cinematography, subject, action, context and style and ambiance, in that order. Add sound in separate sentences (SFX and ambient noise), attribute any dialogue to a named character, and set duration, aspect ratio and resolution in the generation settings instead of the prompt text.
Can I use a negative prompt in Veo 3.1?
It depends on where you generate. Through the API, Veo takes exclusions in a separate negative prompt, written as a plain list of things to avoid ("subtitles, people") with no "no" or "don't", which is what Google's video prompt guide recommends. Flow has no separate negative field, so describe the scene you want instead ("an empty street"). Gemini Omni Flash has no negative prompt parameter at all; its guide says to write the exclusion in the prompt itself, such as "No dialogue."
How do I stop Veo from adding subtitles?
There is no switch for it. Keep any spoken line short and attributed to a character, describe audio in its own sentence, and in the API add "subtitles, captions" to the negative prompt. On Gemini Omni Flash you can write "No subtitles." in the prompt. MIT Technology Review documented the subtitle problem in Veo 3 in July 2025, so treat it as a known risk rather than a mistake in your prompt.
Is Veo 3.1 still available in the Gemini API?
Not as a preview. Google shut down the Veo 3.1 preview models in the Gemini API on October 22, 2026, and its Veo page points developers to Gemini Omni Flash (gemini-omni-1.1-flash) or to the generally available models on the Gemini Enterprise Agent Platform. Flow and the Gemini app still let you pick Veo 3.1.
How long should a Veo prompt be?
Google gives no word limit, and DeepMind's prompt guide says long and short prompts both work. The practical limit is the clip: Veo 3.1 makes clips of 4, 6 or 8 seconds, so one subject, one main action and one camera move fit, while four actions and a long speech do not. Cut adjectives before you cut camera, light or sound.