
Veo 3.2 Prompter
- 391 installs
- 762 repo stars
- Updated July 21, 2026
- pexoai/pexo-skills
veo-3.2-prompter is a coding-agent skill that crafts Veo 3.2 video prompts with shot lists, motion, lighting, and style tokens so agents generate consistent cinematic clips for ads, demos, and social content.
About
veo-3.2-prompter is a pexoai/pexo-skills guide for structuring Google Veo 3.2 video generation prompts from coding agents. The skill helps developers and creative engineers produce shot lists, motion direction, lighting notes, and style tokens that yield consistent cinematic clips across ads, product demos, and social content. Rather than writing free-form prose, veo-3.2-prompter encodes repeatable prompt patterns agents can invoke when a project needs generated video assets. Developers reach for it when integrating Veo 3.2 into content pipelines and need prompt scaffolding that survives iteration across multiple generated clips.
- Shot-by-shot prompt scaffolding
- Motion and camera directive patterns
- Style and lighting consistency controls
- Negative prompt and safety guardrails
- Iteration loops for clip refinement
Veo 3.2 Prompter by the numbers
- 391 all-time installs (skills.sh)
- +10 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #446 of 1,335 Generative Media skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pexoai/pexo-skills --skill veo-3.2-prompterAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 391 |
|---|---|
| repo stars | ★ 762 |
| Last updated | July 21, 2026 |
| Repository | pexoai/pexo-skills ↗ |
How do you write effective Veo 3.2 video generation prompts?
Craft Veo 3.2 video prompts with shot lists, motion, lighting, and style tokens so agents generate consistent cinematic clips for ads, demos, and social content.
Who is it for?
Developers building Veo 3.2 video generation workflows who need repeatable cinematic prompt templates for ads and demos.
Skip if: Static image generation pipelines or teams not using Google Veo 3.2 as their video model backend.
When should I use this skill?
A project needs Veo 3.2 video prompts with shot lists, motion, lighting, and style tokens for consistent clip generation.
What you get
Structured Veo 3.2 prompts, shot lists, motion and lighting specs, and style token sets for generated clips.
- Veo 3.2 prompt templates
- Shot lists
- Style and lighting token sets
Files
Veo 3.2 Prompt Designer Skill
This skill transforms a user's scattered multimodal assets (images, videos, audio) and creative intent into a structured, executable prompt for the Google Veo 3.2 video generation model (Artemis engine). It acts as an expert prompt engineer, ensuring the highest quality output from the underlying model.
When to Use
- When the user provides assets (images, videos, audio) for video generation with Veo 3.2.
- When the user's request is complex and requires careful prompt construction for the Veo model.
- When using any Google Veo 3.x model for video generation.
Core Function
This skill analyzes all user inputs and generates a single, optimized JSON object containing the final prompt and recommended parameters. The internal workflow (Recognition, Mapping, Construction) is handled automatically and should not be exposed to the user.
Internal Workflow
1. Phase 1: Recognition — Analyze uploaded assets and user intent. Use the atomic_element_mapping.md to classify each asset into its atomic element role(s). 2. Phase 2: Mapping — For each atomic element, determine the optimal reference method (reference image, text prompt, or hybrid). Use the mapping table to decide. 3. Phase 3: Construction — Assemble the final prompt using the 5-Part Framework (Shot → Subject → Environment → Camera → Style) and attach reference images via the Gemini API's RawReferenceImage system.
Usage Example
User Request: "Make a cinematic shot of this perfume bottle rotating on a dark surface, like a luxury commercial." User uploads `perfume.png`
Agent using `veo-3.2-prompter`: The agent internally processes the request and assets, then outputs the final JSON to the next skill in the chain.
Final Output (for internal use):
{
"final_prompt": "Hero shot, a frosted glass perfume bottle with gold cap rotating slowly on a reflective dark surface, three-point studio lighting with soft key and rim light creating subtle caustics, smooth 180-degree arc, hyper-realistic luxury commercial style with shallow depth of field. Crystalline chime, soft ambient pad.",
"reference_images": [
{
"file": "perfume.png",
"reference_type": "SUBJECT"
}
],
"recommended_parameters": {
"model": "veo-3.2-generate",
"duration_seconds": 8,
"aspect_ratio": "16:9",
"resolution": "1080p",
"generate_audio": true
}
}Veo 3.2 Key Differentiators
| Feature | Capability |
|---|---|
| Engine | Artemis — world-model physics simulation (not pixel prediction) |
| Max duration | ~30s native continuous generation |
| Audio | Native dialogue + synchronized SFX |
| Reference images | Up to 3 (STYLE, SUBJECT, SUBJECT_FACE) |
| Video extension | Chain clips via previous video input |
| First/last frame | Specify start and/or end keyframes |
| Resolutions | 720p, 1080p, 4K (with upscaling) |
| Aspect ratios | 16:9, 9:16 |
Knowledge Base
This skill relies on an internal knowledge base to make informed decisions. The agent MUST consult these files during execution.
- `references/atomic_element_mapping.md`: Core Knowledge. Contains the "Asset Type → Atomic Element" and "Atomic Element → Optimal Reference Method" mapping tables, adapted for Veo 3.2's reference image system.
- `references/veo_syntax_guide.md`: Veo 3.2 Gemini API syntax reference, covering
RawReferenceImage,GenerateVideosConfig, video extension, and first/last frame specification.
Atomic Element Mapping Knowledge Base
This document provides the core logic for the Veo 3.2 Prompt Designer skill. It contains two critical mapping tables, adapted for the Veo 3.2 Gemini API reference image system.
Table 1: Asset Type → Potential Atomic Elements
This table maps the type of user-uploaded asset to the most likely atomic element roles it can play in video generation. The skill should use this table in Phase 1 to analyze uploaded assets.
| Asset Type (Heuristic) | Potential Atomic Element(s) |
|---|---|
| Image with a clear human/character face | Subject Identity (Face), Aesthetic Style |
| Image of an object/product | Subject Identity (Object) |
| Image of a landscape/environment | Scene Environment, Aesthetic Style |
| Image with strong artistic style (e.g., painting, sketch, mood board) | Aesthetic Style |
| Image with clear compositional structure | Composition / Layout (use as first frame) |
| Video clip (user wants to extend it) | Video Extension source |
| Audio file with speech/dialogue | Audio Direction (describe in prompt) |
| Audio file with music | Audio Direction (describe in prompt) |
| Audio file with sound effects | Audio Direction (describe in prompt) |
Note on Veo 3.2 vs Seedance: Veo 3.2 does not use the @asset_name syntax. Instead, assets are attached via the RawReferenceImage API with explicit reference_type. Audio cannot be directly uploaded as a reference — audio direction is controlled via the text prompt with generate_audio=True.
Table 2: Atomic Element → Optimal Reference Method
This table defines the best way to reference each atomic element when constructing the prompt for Veo 3.2. The skill must use this table in Phase 2 to design the reference strategy.
| Atomic Element | Optimal Method | Veo 3.2 Implementation | Rationale |
|---|---|---|---|
| Subject Identity (Face) | Asset | RawReferenceImage with reference_type="SUBJECT_FACE" | Facial identity is biometric — must use a reference image. |
| Subject Identity (Object) | Asset | RawReferenceImage with reference_type="SUBJECT" | Object appearance requires visual reference for fidelity. |
| Scene Environment | Hybrid | RawReferenceImage with reference_type="STYLE" + text description | Use an asset for the base atmosphere, text to modify details (weather, time of day). |
| Aesthetic Style | Hybrid | RawReferenceImage with reference_type="STYLE" + text description | Use an asset to define the style, text to specify its application and nuances. |
| Composition / Layout | Asset | Use as image parameter (first frame) | Purely visual composition control — set as the start keyframe. |
| Camera Language | Text | Describe in prompt text | Standardized cinematic language. Text is clearer and more direct than any reference. |
| Physical Interactions | Text | Describe in prompt text | Artemis engine simulates physics from text descriptions (splashing, shattering, flowing). |
| Audio / Dialogue | Text | Describe in prompt text + generate_audio=True | Veo 3.2 generates synchronized audio from text descriptions. No audio upload supported. |
| Multi-shot / Pacing | Text | Describe sequence beats in prompt | Temporal control is best defined by text. For shots >30s, use video extension chaining. |
| Story Logic | Text | Describe in prompt text | Abstract narrative concepts can only be guided by text prompts. |
| Video Continuation | Asset | Use as video parameter (video extension) | Extend from a previous clip to maintain temporal coherence. |
Reference Slot Budget
Veo 3.2 allows up to 3 reference images per generation call. The skill should allocate these slots strategically:
| Priority | Slot Allocation Strategy |
|---|---|
| Character-driven scene | 1× SUBJECT_FACE + 1× STYLE + (optional 1× SUBJECT for wardrobe/prop) |
| Product showcase | 1× SUBJECT (product) + 1× STYLE (brand aesthetic) |
| Style transfer | 1× STYLE (primary) + (optional additional STYLE for blending) |
| Environment-focused | 1× STYLE (environment reference) + text description for details |
| Simple text-to-video | No reference images — rely entirely on prompt text |
When the user provides more assets than available slots, prioritize by information density: face identity > object identity > style > environment.
Veo 3.2 Syntax Guide
This document covers the essential syntax for interacting with the Veo 3.2 model via the Gemini API, focusing on the reference image system and generation configuration.
Note: Model IDveo-3.2-generateis provisional. Update when Google officially announces the endpoint. Current stable model:veo-3.1-generate-preview.
The Reference Image System
Veo 3.2 uses RawReferenceImage to attach up to 3 reference images to a generation request. Each reference image is assigned a reference_type that tells the model how to use it.
Basic Syntax:
from google.genai import types
ref = types.RawReferenceImage(
reference_image=types.Image.from_file("asset.jpg"),
reference_type="SUBJECT", # STYLE | SUBJECT | SUBJECT_FACE
)Reference Types
| Type | Purpose | When to Use |
|---|---|---|
STYLE | Match visual style, color palette, mood, artistic direction | User provides a style reference, mood board, or "make it look like this" |
SUBJECT | Maintain object/character appearance across generation | User provides a product photo, character reference, or object to feature |
SUBJECT_FACE | Preserve facial identity with high fidelity | User provides a portrait or wants a specific person's face preserved |
Common Usage Patterns
1. Single Subject Reference:
config = types.GenerateVideosConfig(
reference_images=[
types.RawReferenceImage(
reference_image=types.Image.from_file("product.jpg"),
reference_type="SUBJECT",
)
],
)2. Style + Subject (Hybrid):
config = types.GenerateVideosConfig(
reference_images=[
types.RawReferenceImage(
reference_image=types.Image.from_file("style_ref.jpg"),
reference_type="STYLE",
),
types.RawReferenceImage(
reference_image=types.Image.from_file("character.jpg"),
reference_type="SUBJECT",
),
],
)3. Face Preservation + Style:
config = types.GenerateVideosConfig(
reference_images=[
types.RawReferenceImage(
reference_image=types.Image.from_file("actor_face.jpg"),
reference_type="SUBJECT_FACE",
),
types.RawReferenceImage(
reference_image=types.Image.from_file("noir_style.jpg"),
reference_type="STYLE",
),
],
)Best Practices
- Be Explicit in Prompt: Always describe how the reference should be used in the text prompt. E.g., "The woman from the reference image walks through the garden" rather than just uploading and hoping.
- One Primary Role Per Image: While an image can inform both style and subject, assign the most important role via
reference_type. - High-Quality References: Use clear, well-lit reference images. Low-resolution or ambiguous references degrade output quality.
- Check for Conflicts: Don't use two different
SUBJECT_FACEreferences — the model cannot reconcile two different face identities.
---
GenerateVideosConfig Parameters
config = types.GenerateVideosConfig(
aspect_ratio="16:9",
number_of_videos=1,
duration_seconds=8,
resolution="1080p",
generate_audio=True,
person_generation="allow_adult",
reference_images=[...],
)| Parameter | Type | Default | Options |
|---|---|---|---|
aspect_ratio | str | "16:9" | "16:9", "9:16" |
number_of_videos | int | 1 | 1–4 |
duration_seconds | int | 8 | 4, 6, 8 (3.1) / up to 30 (3.2 expected) |
resolution | str | "720p" | "720p", "1080p", "4k" |
generate_audio | bool | False | True / False |
person_generation | str | "dont_allow" | "dont_allow", "allow_adult" |
reference_images | list | [] | Up to 3 RawReferenceImage objects |
---
Generation Modes
1. Text-to-Video
operation = client.models.generate_videos(
model="veo-3.2-generate",
prompt="your prompt here",
config=config,
)2. Image-to-Video (First Frame)
Specify a start frame — the generated video will begin from this exact image.
operation = client.models.generate_videos(
model="veo-3.2-generate",
prompt="the scene unfolds from this frame",
image=types.Image.from_file("first_frame.jpg"),
config=config,
)3. Last Frame Specification
Generate video that ends at a specific target frame.
operation = client.models.generate_videos(
model="veo-3.2-generate",
prompt="transition ending at this composition",
config=types.GenerateVideosConfig(
end_image=types.Image.from_file("last_frame.jpg"),
aspect_ratio="16:9",
),
)4. Video Extension
Extend a previously generated clip with a continuation prompt.
previous_video = types.Video.from_file("clip_01.mp4")
operation = client.models.generate_videos(
model="veo-3.2-generate",
prompt="The camera pulls back to reveal the full cityscape at night",
video=previous_video,
config=config,
)5. 4K Upscaling
operation = client.models.upscale_video(
model="veo-3.2-generate",
video=types.Video.from_file("output_1080p.mp4"),
config=types.UpscaleVideoConfig(resolution="4k"),
)---
Polling for Results
All generation calls return an operation object. Poll until operation.done is True.
import time
while not operation.done:
time.sleep(10)
operation = client.operations.get(operation)
for video in operation.result.generated_videos:
client.files.download(file=video.video)
video.video.save("output.mp4")---
Error Handling
Common failure reasons:
- Content policy violation: NSFW, violence, or public figure depiction
- Invalid parameter combination: e.g., 4K + 9:16 may not be supported
- Reference image quality: too low resolution or ambiguous content
- API quota exceeded: check usage limits
try:
operation = client.models.generate_videos(...)
# ... poll ...
if operation.result and operation.result.generated_videos:
for video in operation.result.generated_videos:
video.video.save("output.mp4")
else:
print("No videos returned (possibly content-filtered)")
except Exception as e:
print(f"Generation failed: {e}")Related skills
How it compares
Pick veo-3.2-prompter for structured Veo 3.2 cinematic prompts; use general generative media skills when the output is images or non-Veo video models.
FAQ
What does veo-3.2-prompter help agents produce?
The veo-3.2-prompter skill helps agents craft Veo 3.2 video prompts with shot lists, motion direction, lighting notes, and style tokens for consistent cinematic clips in ads, demos, and social content.
Which video model does veo-3.2-prompter target?
The veo-3.2-prompter skill targets Google Veo 3.2 video generation, encoding prompt structure so coding agents output repeatable cinematic instructions instead of unstructured prose.