Free tool · Runs in your browser · No sign-up
Veo 3.1 JSON Prompt Builder
Turn a shot idea into a structured JSON prompt Veo parses reliably. Fill in the fields — subject, camera, lighting, audio, dialogue — and the panel on the right assembles a clean, always-valid JSON object as you type. The builder watches your character budget and warns you when dialogue exceeds what fits in the clip length you picked.
What JSON prompting is — and why it beats prose for Veo
A JSON prompt describes your shot as named fields instead of one flowing paragraph:
subject, scene,
camera, lighting,
audio, style,
duration_seconds. Google Cloud’s official Veo prompting
guidance endorses exactly this kind of structured, attribute-by-attribute prompt, and the
community keeps rediscovering the same result: structured prompts land far more first-try
successes than prose. Three reasons why:
- Nothing gets forgotten. Prose prompts routinely omit camera movement, audio, or duration because you simply did not think to mention them. A form with a field for each attribute forces the decision — and Veo fills unspecified attributes with whatever it likes, which is where most “that’s not what I asked for” results come from.
- Details stop bleeding into each other.
In a paragraph, “dark” might attach to the jacket, the alley, or the mood. In JSON,
"lighting"is unambiguous. This matters most for dialogue: a quoted line inside prose sometimes gets narrated or paraphrased, while adialoguearray with explicitspeakerandlinefields is delivered as speech. - Iteration becomes surgical. When take one is 90% right, you change one field — swap the lens, adjust the lighting — and regenerate. With prose you end up rewriting the paragraph and accidentally changing three other things. This is the workflow paid tools like promptveo3.com sell; this page does it free in your browser.
The builder only emits fields you filled in, so the output stays compact, and it is generated
with JSON.stringify — quoting and escaping are always correct, no
matter what characters your dialogue contains.
Worked examples
Three complete prompts built with this exact structure. Copy them directly, or press Load into builder to drop one into the form above and start tweaking fields.
1. Cinematic shot — atmosphere and camera language
A single moody shot where camera and lighting carry the story. Note how the movement and lens are named precisely — Veo responds much better to real cinematography vocabulary (“slow dolly in”, “anamorphic”) than to vague words like “epic”.
2. Product shot — clean, controlled, ad-ready
For product work, keep the scene minimal and spend your budget on lighting and camera motion. A slow orbit plus studio lighting reads instantly as a commercial. No dialogue — let the music field set the tone instead.
3. Dialogue scene — two short sentences, no more
The dialogue budget is the most common failure point. This example stays inside the two-short-sentences rule for an 8-second clip, so the delivery is unhurried and the lip sync holds. If you load it and add a third sentence, watch the builder’s warning appear.
4. Ambient / ASMR shot — audio does the heavy lifting
Veo generates native audio, and prompts that specify it precisely stand out. Here the
audio.ambient field is the star; the visuals stay simple so the
soundscape reads clearly.
Go deeper: Veo guides on this site
- Veo 3 prompt list: ready-to-use 8-second video prompts — finished prompts for ads, cinematic clips, and social posts; the shot-type and audio vocabulary in this builder comes from that set.
- Funny Veo 3 prompts — comedy clips lean hardest on dialogue timing, which is exactly what the sentence lint above protects.
- Gemini Omni vs Veo vs Sora vs Runway — which AI video model to use for which job, and where Veo’s native audio gives it the edge.
More free tools
- Nano Banana prompt generator — the image-side equivalent of this builder, for Gemini’s Nano Banana model.
- Image fix prompt picker — repair blurry, plastic, or warped image output with paste-ready blocks.
FAQ
What is a Veo JSON prompt?
Instead of describing your video in one long paragraph, you write the prompt as a structured JSON object with named fields: subject, scene, camera (shot type, movement, lens), lighting, audio, dialogue, style, and duration. Veo 3 and Veo 3.1 parse this structure reliably, and Google Cloud’s official Veo prompting guidance endorses structured, attribute-by-attribute prompts. In practice the structure stops details from getting lost in prose, so first-try results land much closer to what you asked for.
Does Veo actually accept JSON, or is this just formatting?
Veo accepts plain text, and a JSON object is still plain text — the model reads it fine. The win is not a secret API: it is that JSON forces you to fill in every attribute the model needs (camera, lighting, audio, duration) instead of forgetting them, and it keeps each detail unambiguous. Creators who switched from prose to structured prompts consistently report fewer retries per usable clip.
How much dialogue fits in an 8-second Veo clip?
Roughly two short sentences per 8-second segment — that is the rule of thumb from the official prompting guidance. Cram in more and Veo rushes the delivery, mangles the lip sync, or cuts the line off mid-word. This builder counts your dialogue sentences live and warns you when you exceed the budget for the duration you picked.
Why is there a 2,000-character budget?
Very long prompts do not fail outright, but past a point extra text dilutes the details that matter and the model starts ignoring parts of the prompt. Keeping a structured prompt under about 2,000 characters keeps every field load-bearing. The live counter under the output panel shows exactly where you stand.
Can I use these JSON prompts in Flow, Gemini, or Vertex AI?
Yes. Copy the JSON output and paste it as the text prompt in whichever Veo surface you use — the Gemini app, Flow, or the Vertex AI API. Field names are plain English, so the same object works everywhere Veo takes a text prompt.
Is this tool free? Does it store my prompts?
Free, no sign-up, and everything runs in your browser — nothing you type is sent to a server. Build the JSON, copy it, and paste it into your Veo tool of choice.