Veo 3.0 Fast Generate
Veo 3.0 Fast Generate is Google's rapid-iteration video generation model, the fast tier of Veo 3.0, built for high-velocity prompt exploration, batch generation, and concept validation before committing to full-quality renders.
View API reference- Price
- $0.10, Per secondLowest available configuration
import { experimental_generateVideo as generateVideo } from 'ai';
const result = await generateVideo({ model: 'google/veo-3.0-fast-generate-001', prompt: 'A serene mountain lake at sunrise.'});Copy link to headingPlayground
Try out Veo 3.0 Fast Generate by Google. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
Your generated video will appear here.
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Getting started
Generate videos with Veo 3.0 Fast Generate using the experimental_generateVideo function from AI SDK 6 or later. AI Gateway handles routing and polls until the video is ready.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the video generation quickstart.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'google/veo-3.0-fast-generate-001', prompt: 'A pangolin curled on a mossy stone in a glowing bioluminescent forest', });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);Top-level parameters
Load the supported top-level parameters: prompt, aspectRatio, duration, and resolution.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'google/veo-3.0-fast-generate-001', prompt: 'A pangolin curled on a mossy stone in a glowing bioluminescent forest', aspectRatio: '16:9', duration: 6, resolution: '720p', });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | No | Text description of the video to generate. |
duration | 4 | 6 | 8 | No | Video length in seconds. 4 or 6 or 8 seconds. |
resolution | string | No | Resolution ('1280x720', '1920x1080'). |
aspectRatio | string | No | Aspect ratio ('16:9', '9:16'). |
generateAudio | boolean | No | Generate synchronized audio with the video. |
frameImages | Array<{ image: string; frameType: 'first_frame' }> | No | Opening frame of the clip, as a single first_frame entry. Replaces prompt.image and wins when both are set. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Image | jpg, jpeg, png | url, base64 | 1 | 20 MB | — |
Provider options
Pass Veo-specific options under providerOptions.vertex. This call loads every text-to-video option that combines in a single request.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'google/veo-3.0-fast-generate-001', prompt: 'A pangolin curled on a mossy stone in a glowing bioluminescent forest', duration: 8, resolution: '1080p', providerOptions: { vertex: { enhancePrompt: true, negativePrompt: 'blurry, low quality, distorted', personGeneration: 'allow_adult', compressionQuality: 'optimized', sampleCount: 1, seed: 42, pollIntervalMs: 5000, pollTimeoutMs: 600000, }, }, });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);Pass Veo-specific options under providerOptions.vertex in your generateVideo call. Veo 3.0 Fast always generates audio.
| Parameter | Type | Required | Description |
|---|---|---|---|
enhancePrompt | boolean | No | Use Gemini to enhance prompts. Defaults to true. |
negativePrompt | string | No | What to discourage in the generated video. |
personGeneration | 'dont_allow' | 'allow_adult' | 'allow_all' | No | Whether to allow person generation. Text-to-video: 'allow_all' only. Image-to-video: 'allow_adult' only. |
compressionQuality | 'optimized' | 'lossless' | No | Compression quality. Defaults to 'optimized'. |
sampleCount | 1 | No | Number of output videos. Fixed at 1. |
seed | number | No | Seed for deterministic generation (0-4,294,967,295). |
gcsOutputDirectory | string | No | Cloud Storage URI to store the generated videos. |
referenceImages | array | No | Reference images for style or asset guidance. Legacy alternative to the top-level inputReferences, used only when inputReferences is omitted. |
resizeMode | 'pad' | 'crop' | No | Image-to-video only: how to resize the input image to fit video dimensions. Defaults to 'pad'. |
pollIntervalMs | number | No | How often to check task status. Defaults to 5000. |
pollTimeoutMs | number | No | Maximum wait time. Defaults to 600000 (10 minutes). |
Duration constraints
Veo 3.0 Fast supports duration values of 4, 6, or 8 seconds.
duration must be 8 when using 1080p or 4K resolution, providerOptions.vertex.referenceImages, or video extension.
Image to video
Animate a starting image by passing prompt as an object with image and an optional text field.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'google/veo-3.0-fast-generate-001', prompt: { image: 'https://example.com/landscape.png', text: 'Camera slowly pans across the scene as clouds drift by', }, duration: 8, resolution: '1080p', generateAudio: true, providerOptions: { vertex: { resizeMode: 'crop', }, }, });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);Copy link to headingAbout Veo 3.0 Fast Generate
Veo 3.0 Fast Generate is the fast-tier variant of Google's Veo 3.0 video generation family. It launched simultaneously with the other Veo variants on AI Gateway as the model to use when iteration speed matters more than maximum fidelity.
Fast mode reduces per-generation latency. For a team building a video generation tool, that means running a dozen scene descriptions through the model in the time a single quality-tier generation might take, and finding which framing, style, or narrative direction works before investing in a full-quality pass. Despite the speed focus, the fast tier carries Veo 3.0's core capabilities. Enable native audio generation (sound effects, ambient audio, and synchronized dialogue) with generateAudio: true in providerOptions.vertex. Image-to-video is also supported, letting you animate a starting frame with natural motion.
For batch workflows like generating multiple versions of the same scene, testing audio-on versus audio-off, or comparing aspect ratios, the fast tier's lower latency compounds across a batch and significantly shortens the feedback loop.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: This variant is designed for rapid iterations. That makes it a natural fit for the early and exploratory stages of any video generation workflow, and for batch jobs where generation volume matters more than squeezing every last bit of visual quality out of each clip.
- Zero Data Retention: Zero Data Retention is available for this model. It is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use Veo 3.0 Fast Generate
Best for
- Prompt development phases: Testing many scene descriptions and discarding what doesn't work
- Batch video generation: Throughput volume is the constraint and per-clip quality is not the primary metric
- Image-to-video previews: Evaluate animations before committing to a full-quality render of the final frame
- Interactive prototypes and demos: Applications that need fast generation response times
- A/B testing variations: Prompt phrasing, framing, or audio settings across large sets
Consider alternatives when
- Final deliverable quality: Generation is a final deliverable and quality takes precedence over speed (consider
google/veo-3.0-generate-001) - Veo 3.1 fast iteration: You want rapid iteration on the 3.1 generation (consider
google/veo-3.1-fast-generate-001) - Highest Veo 3.1 quality: The top tier of the 3.1 family is required (consider
google/veo-3.1-generate-001) - Still images required: Video output is not needed (consider the Imagen 4 family)
Copy link to headingConclusion
Veo 3.0 Fast Generate is a purpose-built iteration tool. Its value is in the feedback loop it enables: shorter generation times translate to more prompt variations tested, more bad ideas discarded early, and lower cost per validated concept. In a two-stage workflow where you iterate on fast and render on quality, it is the natural first stage for Veo 3.0 generation work.
Copy link to headingFrequently Asked Questions
How much faster is fast mode compared to the standard generation tier?
Exact latency varies by clip length and prompt complexity. The fast tier produces noticeably shorter turnaround per generation compared to standard mode.
Can I run a batch of prompt variations in parallel with this model?
Yes. AI Gateway supports concurrent requests. Running multiple fast-tier generations simultaneously is an effective way to evaluate a prompt space, generate many variations in parallel, review the results, and select which to advance to a quality-tier render.
Does the fast tier produce lower quality output, and is that a problem?
The fast tier trades some fidelity for speed. For prompt exploration and iteration, this is usually fine: you are evaluating composition, motion, subject matter, and narrative, not evaluating every pixel. At the final-render stage, use
google/veo-3.0-generate-001or a higher Veo tier.Does native audio work in fast mode?
Yes. Set
generateAudio: trueinproviderOptions.vertex. The model generates synchronized sound effects, ambient audio, and dialogue even in fast mode, which is useful for previewing audio treatment before committing to a quality-tier render.Is there a cost-efficient workflow pattern for using fast and standard tiers together?
The standard workflow is to develop prompts on the fast tier, iterate until the output matches the creative direction, then route the finalized prompt to
google/veo-3.0-generate-001for final output. Only the model slug changes between the two phases.Does image-to-video generation work with this model?
Yes. Pass a source image URL in your
generateVideocall. The model animates the image with natural motion. Fast mode lets you preview how different starting frames behave before committing to full-quality animation.Is video generation in beta?
Yes. Video generation is in beta on AI Gateway, available to Pro and Enterprise plans and paid AI Gateway users.
How do I call this model from the AI SDK?
Use
experimental_generateVideo(aliased asgenerateVideo) from AI SDK 6 withmodel: 'google/veo-3.0-fast-generate-001'.