Veo 3.1 is Google's flagship video model and, as of mid-2026, the best all-around choice for cinematic output. Its default look sits closer to high-end stock footage than any competitor, it handles fabric, hair and water physics convincingly, and it is the model where JSON prompting pays off most: give it separate blocks for scene, camera, lighting and audio and it respects each one independently.
How to prompt Veo 3.1 with JSON
Paste the JSON directly as your text prompt — no wrapper text needed. Veo parses the structure and treats each block as a constraint. The highest-leverage blocks are lighting (Veo's realism comes alive with a named light source and quality) and audio, which is rendered natively and synchronized: dialogue in quotes, ambient sound described plainly, music by genre and intensity. Keep clips to one camera movement; Veo will invent cuts if you stack movements, and they are rarely the cuts you wanted.
Where to run it
Free tier: the Gemini app includes Veo generations with a daily cap — enough to test templates before committing. For serious volume use Flow (Google's filmmaking UI, best for chaining 8-second clips into scenes with a shared seed) or the Vertex AI / fal.ai APIs for programmatic work.
Limits to design around
The 8-second cap is the big one: write templates as single shots, not scenes, and chain them in Flow with a locked seed and an identical style block for continuity. Veo also refuses recognizable public figures and copyrighted characters — write archetypes instead ("a late-night host in his 60s", not a name).
Prompting rules for Veo 3.1
Veo 3.1 follows structured prompts unusually well — lock camera, lighting and audio as separate JSON fields and it respects each one.
Native audio: describe dialogue, ambient sound and music directly in the audio field.
Clips cap at 8 seconds. For longer pieces, chain clips in Flow using a shared seed and identical style block.
Vertical 9:16 is natively supported — no cropping needed for Shorts and TikTok.
Example template, Veo 3.1-shaped
The Veo 3.1 tab shows this site's block order for the model. Browse all 422 templates.
Google · duration 8s · 720p, 1080p, or 4K · audio native · verified 2026-07-10 · click any value to edit
{
"scene": "Downtown street at golden hour, soft haze",
"subject": "Young woman with brown hair and denim jacket",
"action": "Walks toward camera through light traffic",
"camera": {
"lens_mm": 35,
"movement": "dolly_in",
"movement_speed": "slow"
},
"style": "Cinematic, natural light, gentle contrast",
"audio": "Soft indie guitar",
"technical": {
"aspect_ratio": "16:9",
"seed": 137421,
"lock_identity": true,
"lock_style": true,
"negative_prompt": "extra people, text overlays, hands",
"duration_seconds": 8,
"fps": 24,
"creativity": 0.4
}
}
Veo 3.1 follows structured prompts unusually well — lock camera, lighting and audio as separate JSON fields and it respects each one.
Native audio: describe dialogue, ambient sound and music directly in the audio field.
Kuaishou · duration provider-dependent, commonly up to 15s · 1080p HD; native 4K modes advertised by Kling · audio native sound generation · verified 2026-07-10 · click any value to edit
{
"subject": "Young woman with brown hair and denim jacket",
"action": "Walks toward camera through light traffic",
"scene": "Downtown street at golden hour, soft haze",
"camera": {
"lens_mm": 35,
"movement": "dolly_in",
"movement_speed": "slow"
},
"style": "Cinematic, natural light, gentle contrast",
"audio": "Soft indie guitar",
"technical": {
"aspect_ratio": "16:9",
"seed": 137421,
"lock_identity": true,
"lock_style": true,
"negative_prompt": "extra people, text overlays, hands",
"duration_seconds": 8,
"fps": 24,
"creativity": 0.4
}
}
Kling 3.0 reasons about the scene like a director — write the action field as a shot note, not a keyword list.
Multi-shot is the signature feature: split the action into "Shot 1: … Shot 2: …" inside the action field for cuts within one generation.
ByteDance · duration provider-dependent · 720p/1080p; some hosts expose 4K tiers · audio native synchronized audio on supported hosts · verified 2026-07-10 · click any value to edit
{
"camera": {
"lens_mm": 35,
"movement": "dolly_in",
"movement_speed": "slow"
},
"subject": "Young woman with brown hair and denim jacket",
"action": "Walks toward camera through light traffic",
"scene": "Downtown street at golden hour, soft haze",
"style": "Cinematic, natural light, gentle contrast",
"audio": "Soft indie guitar",
"technical": {
"aspect_ratio": "16:9",
"seed": 137421,
"lock_identity": true,
"lock_style": true,
"negative_prompt": "extra people, text overlays, hands",
"duration_seconds": 8,
"fps": 24,
"creativity": 0.4
}
}
Seedance responds best to a strict block order: CAMERA → SUBJECT → ACTION → ENVIRONMENT → LIGHTING → STYLE. The JSON below is ordered to match.
Keep the camera block to a shot type plus one movement — stacking movements degrades output.
Alibaba · duration workflow-dependent · 720p open-weights TI2V · audio none in base text/image-to-video pipeline · verified 2026-07-10 · click any value to edit
{
"subject": "Young woman with brown hair and denim jacket",
"action": "Walks toward camera through light traffic",
"scene": "Downtown street at golden hour, soft haze",
"camera": {
"lens_mm": 35,
"movement": "dolly_in",
"movement_speed": "slow"
},
"style": "Cinematic, natural light, gentle contrast",
"technical": {
"aspect_ratio": "16:9",
"seed": 137421,
"lock_identity": true,
"lock_style": true,
"negative_prompt": "extra people, text overlays, hands",
"duration_seconds": 8,
"fps": 24,
"creativity": 0.4
}
}
Wan 2.2 is the latest version with genuinely open, downloadable weights. "Wan 2.5/2.6/2.7" are hosted API-only versions on commercial platforms.
Open-weights Wan 2.2 has no audio track — drop the audio field or move sound design to post.
Runway · duration 2-10s · 720p; aspect-ratio-specific pixel sizes · audio none in video generation · verified 2026-07-10 · click any value to edit
{
"subject": "Young woman with brown hair and denim jacket",
"action": "Walks toward camera through light traffic",
"camera": {
"lens_mm": 35,
"movement": "dolly_in",
"movement_speed": "slow"
},
"scene": "Downtown street at golden hour, soft haze",
"style": "Cinematic, natural light, gentle contrast",
"technical": {
"aspect_ratio": "16:9",
"seed": 137421,
"lock_identity": true,
"lock_style": true,
"negative_prompt": "extra people, text overlays, hands",
"duration_seconds": 8,
"fps": 24,
"creativity": 0.4
}
}
Runway exposes camera controls in the UI — use the camera block here as your settings checklist rather than prompt text.
Gen-4.5 excels with reference images: the subject field doubles as your reference-tagging description.