VEO 3.1 Reference to Video is Google's reference-to-video model on Versely. This page is its structured prompting reference: the 7 parameters its schema actually exposes, the reference-to-video technique that applies to it, copy-ready templates.
Everything here is grounded in the same sources Versely's agent reads — the model's input schema, the veo family rule its prompt enhancer applies. Where a line is general craft advice rather than a documented fact about VEO 3.1 Reference to Video, the page says so.
What VEO 3.1 Reference to Video wants
The exact input surface, from the same schema the Versely agent fetches with get_model_input_schema before every generation.
| Parameter | What it does | Values |
|---|---|---|
promptreq | Text prompt | string |
image_urlsreq | Reference images (up to 3) — fal field name is `image_urls` not `reference_image_urls` | array |
aspect_ratio | Aspect ratio | 16:9 · 9:16default: 16:9 |
duration | 4s/6s/8s | 4s · 6s · 8sdefault: 8s |
resolution | 720p/1080p/4k | 720p · 1080p · 4kdefault: 720p |
negative_prompt | Exclusions | string |
generate_audio | Toggle audio | booleandefault: true |
- — Up to 3 reference images
- — SynthID watermark cannot be disabled
The rule Versely's enhancer applies
Versely's prompt enhancer carries a per-family rule for veo models, applied automatically whenever it rewrites a prompt for VEO 3.1 Reference to Video. Verbatim:
“VEO video models respond to cinematic descriptions. Include camera angles, movement types (dolly, crane, steadicam), lighting setup, and temporal flow (slow motion, time-lapse). Be specific about scene transitions.”
Technique that applies here
Reference-images-to-video: multi-image identity/style consistency
- Reference-to-video models take a prompt PLUS a set of reference images (sometimes videos and audio too), and the single most model-specific thing in this family is HOW each schema wants you to point at those references from inside the prompt text. Happy Horse 1.0's prompt description says to reference subjects via character1..character9 — positional tokens matched to the order of the 1-9 required image_urls. Seedance 2.0 Fast's prompt description says to reference assets via @Image1, @Video1, @Audio1 — typed, numbered tokens spanning all three reference arrays. VEO 3.1, Kling O3, and Wan 2.7 define no token syntax at all in their schemas — on those, describe the subject in plain language and let the references carry identity.
- Reference caps are hard schema limits, not suggestions, and they differ by an order of magnitude across the family: VEO 3.1's image_urls tops out at 3 reference images, Kling O3 Standard's at 4 (combined with elements), Happy Horse and Seedance take up to 9 images, Seedance adds up to 3 videos (combined 2-15s, under 50MB total, 480p-720p) and 3 audios (combined ≤15s) with a total of 12 reference files across modalities, and Wan 2.7 caps reference_image and reference_video at 5 each. Budget your identity, style, and product references to the model you're actually calling.
- Only some of these schemas expose a negative_prompt. VEO 3.1's variant has one ('Exclusions'), and Wan 2.7 gives you 500 characters of negative_prompt next to a 5,000-character main prompt. Happy Horse's schema notes are explicit the other way: 'no negative_prompt' — verified against the fal OpenAPI. On models without the field, exclusions have to be phrased positively in the main prompt or dropped.
- The family MODEL_TIPS rules the prompt enhancer applies still fire here, because they match on the model name substring: a Kling O3 reference job gets the Kling tip ('clear scene descriptions including camera movement (pan, zoom, tracking shot), subject action, and environment details... motion direction and pacing'), VEO 3.1 Reference to Video gets the VEO tip ('camera angles, movement types (dolly, crane, steadicam), lighting setup, and temporal flow'), Seedance gets 'motion-focused descriptions... movement patterns, choreography, and dynamic visual elements', and Wan gets 'straightforward scene descriptions and style keywords'. Write the prompt in the register the family tip already rewards; spend the references on identity.
Copy-ready templates
Replace the bracketed slots; each template says when it's the right shape.
character1 [ACTION — what the person/subject from image 1 does] while character2 [ROLE OF SECOND REFERENCE — e.g. 'stands beside them holding the product']. Setting: [ENVIRONMENT]. [ONE CAMERA OR MOOD SENTENCE].
Use when: Happy Horse 1.0 Reference to Video — its prompt schema defines character1..character9 tokens mapped to the order of your 1-9 image_urls, with up to 2,500 characters to work with.
[CINEMATIC SCENE — subject matching the references, camera angle and movement type (dolly / crane / steadicam), lighting setup, temporal flow]. negative_prompt: [comma-separated exclusions].
Use when: VEO 3.1 Reference to Video — up to 3 reference images, a real negative_prompt field for exclusions, and the VEO family tip's camera-and-lighting register. Duration is a hard 4s/6s/8s enum; size the beat to it.
How the Versely agent does this automatically
You can use this page by hand, or let the agent apply the same knowledge. Four real mechanisms — no more, no less:
get_model_input_schema— before generating, the agent looks up VEO 3.1 Reference to Video's exact input fields, required fields, allowed values, defaults, and min/max bounds. The parameter table above is that same surface.- The prompt enhancer's family rules — 12 per-family rewrite rules, including the veo rule quoted on this page, shape how a rough prompt gets rewritten.
- The per-provider speech guide — for TTS scripts, the agent follows a provider-specific tag scheme — not relevant to this model, but it's why voiceover scripts come out marked up correctly.
expand_movie_scene— in movie flows, brief scene ideas are rewritten into detailed cinematic descriptions before generation.
Mistakes that waste generations
- Using one model's token syntax on another. @Image1 means nothing to Happy Horse, and character1 means nothing to Seedance — and neither means anything to VEO, Kling O3, or Wan, whose schemas define no reference tokens at all.
- Sending more references than the schema takes: 4th image to VEO 3.1 (cap 3), 5th to Kling O3 (cap 4 combined with elements), 13th file to Seedance (total cap 12 across images, videos, and audio), 6th image to Wan 2.7 (5 per array).
- Writing 'no text, no watermark, no extra people' into the MAIN prompt on VEO or Wan, which both expose a dedicated negative_prompt field — or conversely, expecting a negative_prompt to exist on Happy Horse, whose schema notes explicitly say it has none.
The long-form guide
This page is the structured reference. For the essay treatment — worked examples, failure modes, and narrative — read VEO 3.1 Prompting: The Complete Guide.
Frequently asked questions
Does VEO 3.1 Reference to Video support negative prompts?+
Yes — the schema exposes negative_prompt. Put exclusions there instead of writing "no text, no watermark" into the main prompt.
Which aspect ratios does VEO 3.1 Reference to Video support?+
The aspect_ratio parameter is an enum: 16:9, 9:16. Set the parameter — describing the frame shape in prose does nothing on its own.
How long can a VEO 3.1 Reference to Video generation be?+
Duration is a hard enum: 4s, 6s, 8s. Write one continuous beat sized to the window you pick, not a script the model will compress.
How does the Versely agent know VEO 3.1 Reference to Video's parameters?+
Before generating, the agent calls its get_model_input_schema tool, which looks up the exact input fields, required fields, allowed values, defaults, and min/max bounds for the model; separately, the prompt enhancer applies the veo family rule quoted on this page to the prompt text itself. Nothing on this page is guessed — it is the same schema surface those tools read.
Related prompting guides
Generate with VEO 3.1 Reference to Video
VEO 3.1 Reference to Video is live in Versely — paste a template above, or just describe what you want and let the agent map it onto the schema for you.