Tutorial

How to Make Videos with Veo

Let Claude write the prompt, let Flow generate it — a sharper result than Flow's built-in agent

The Idea

Flow makes genuinely cinematic short clips — but the prompt is everything, and its built-in agent writes flat, generic ones. The fix is simple: let Claude write the prompt instead.

You hand Claude a template, chat through what you actually want the video to feel like, and it hands back a tight, paste-ready prompt — timed beats, camera, lighting, audio, the lot. Paste that into Flow and it consistently outperforms what the in-app agent produces.

The Method

1

Your turn

Open Flow

Veo lives inside Google's Flow. Get there first — you'll come back to it at the end to paste a prompt and generate.

  1. Go to labs.google/fx/tools/flow and sign in with your Google account.
  2. You'll land on the canvas with a prompt box — and Flow's own built-in agent offering to help you build something.
  3. Ignore the agent for writing your concept. It works, but Claude writes a sharper, more cinematic prompt. You're only here to paste and generate later.

Flow is open with an empty prompt box, waiting for a prompt you'll write with Claude.

2

Prompt to Claude

Hand Claude the prompt template

Open Claude, paste the template below, and add one line describing your video at the very end. Claude won't write the prompt straight away — it interviews you first.

Paste this into Claude
You are my Veo prompt writer. I'm making a short, UGC-style video with Google's Veo 3.1 in Flow, and I want you to write the generation prompt for me — but interview me first. STEP 1 — Ask me questions before writing anything. In one batch, ask me about: - The scenario and setting - Who's in it (age, look, wardrobe) - The emotional beat / story — what's the payoff? - Any message or text that has to appear on screen (and the exact words) - The vibe and any reference (calm, urgent, cinematic, etc.) Wait for my answers. If my idea is too big for the clip, tell me and suggest what to cut. STEP 2 — Design around Veo's real limits: - A clip is only 8–10 seconds. Fit ONE clear moment; don't cram beats. - Veo can't reliably render legible text. Keep any on-screen words SHORT and in "quotes" exactly — and warn me to add the real text in post as an overlay. Never rely on it for end cards. - Split-screen / before-after is the hardest thing to generate — flag the risk, but write it if I want it. STEP 3 — Output ONE clean prompt block I can paste straight into Flow, always including: - Format: vertical 9:16, handheld UGC-style, length in seconds - A tight beat-by-beat with timecodes (0–3s, 3–4s, …) - Camera: movement, framing, lens look, depth of field - Lighting: mood, colour grade, light sources - Audio: ambient sound, any chime/SFX, music cue — say "no dialogue" if none - Any on-screen text, kept short and in exact quotes STEP 4 — After the prompt, give me a one-line POST note: what to overlay or fix in editing (the real message text, the end card). My idea to start: [describe your video in a sentence here]

Claude asks a short batch of questions — the scenario, who's in it, the emotion, and any on-screen message.

3

Your turn

Chat it out

Answer in plain language. This is where the video actually gets designed. Claude already knows Veo's limits — length, text, pacing — so it steers you away from things that won't render.

  1. Describe the emotion and the payoff, not just the setting — "tired commuter gets a moment of relief" beats "man on a street".
  2. Mention any message that has to appear on screen, and keep it short.
  3. Push back and iterate — ask for a punchier version until the beat sheet feels right.

Claude outputs one clean, paste-ready Veo prompt: format, timed beats, camera, lighting, audio, and a post-production note.

4

Your turn

Paste it into Flow and generate

Take Claude's finished prompt back to Flow. This is the only part Claude can't do for you — the generate button is yours.

  1. Copy Claude's final prompt and paste it into Flow's prompt box.
  2. Pick a model (see below) — Omni if the on-screen text matters, Lite for quick, cheap drafts.
  3. Do the post bit Claude flagged — overlay the real message text or end card in CapCut or similar.

A finished UGC-style clip, with the message crisp because you added it in post.

Which model to pick

Flow gives you a few flavours of Veo 3.1. The trade-off is always the same — speed and credits versus quality and text accuracy. Draft cheap, finish expensive. Right now you get around 50 free credits a day, so a clip or two is on the house before you spend anything.

Veo 3.1 Lite

Fast & cheap

Quickest to generate and lightest on credits — around 10 per clip. Text comes out a little rough. Best for drafting — testing motion, framing and timing before you spend on a final.

Veo 3.1 Fast

The middle ground

Quicker and cheaper than High, sharper than Lite. A solid default when you want decent quality without burning through credits.

Veo 3.1 High

Best quality

The most cinematic output — and the most expensive. Save it for the final render once you've locked the prompt on a cheaper model.

Omni

Best with text

Handles on-screen text far better than the others — around 12–15 credits per clip. Reach for it whenever a legible message, label or sign matters to the shot.

What Veo can and can't do

  • -Every clip is only 8–10 seconds. Plan for one moment, not a whole story — split a bigger idea across separate clips.
  • -It can't reliably spell. Keep on-screen text short and quoted, then add the real words in post as an overlay. Never trust it for end cards.
  • -Split-screen and before-after are the hardest asks. It's often cleaner to generate the people and composite the phone screens in post.
  • -Always lock format, beats, camera, lighting and audio. The template above does this for you automatically.

Go play with it.

Open Flow, write your first concept with Claude using the template above, and generate a clip. The first one that lands is the one that gets you hooked.

Open Flow →