Overview
Generate professional-quality videos from natural language descriptions using Google’s state-of-the-art VEO 3.0 Fast model. Perfect for content creation, social media, marketing, and creative projects. Generation time: 1-10 minutesModel: VEO 3.0 Fast (Google Vertex AI)
Output: Base64-encoded MP4 video
Duration: 8 seconds (fixed)
Use cases
- Social media — TikTok, Instagram Reels, YouTube Shorts
- Marketing — Product demos, ad creatives, promotional clips
- Content creation — B-roll footage, stock videos, visual content
- Prototyping — Concept videos, storyboards, creative exploration
- Education — Explainer videos, visual demonstrations
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | ✅ Yes | - | Text description of the video to generate |
size | string | ❌ No | "1280x720" | Video dimensions (see supported sizes below) |
input_reference | string | ❌ No | - | Base64-encoded reference image for image-to-video |
Supported video sizes
| Size | Resolution | Aspect Ratio | Best for |
|---|---|---|---|
1280x720 | 720p | 16:9 | YouTube, web content, landscape videos |
720x1280 | 720p | 9:16 | TikTok, Instagram Reels, Stories, mobile |
1920x1080 | 1080p | 16:9 | High-quality landscape, presentations |
1080x1920 | 1080p | 9:16 | High-quality portrait, premium mobile |
1024x1024 | 720p | 1:1 | Square social posts, Instagram feed |
Response
| Field | Type | Description |
|---|---|---|
success | boolean | Whether generation succeeded |
video_id | string | Unique operation ID from Vertex AI |
video_url | string | Base64-encoded video as data URI |
status | string | Generation status (completed) |
prompt | string | The prompt that was used |
duration | integer | Video duration in seconds (always 8) |
Working with base64 video
Thevideo_url field contains a data URI in the format:
- Display directly in HTML:
<video src="data:video/mp4;base64,..."></video> - Decode to file in Python:
base64.b64decode(video_url.split(',')[1]) - Download by copying the data URI to a browser address bar
Examples
Basic video generation
With specific size (portrait for mobile)
Image-to-video with reference
TypeScript with proper typing
Prompt writing tips
Be specific and descriptive
❌ Vague: “A person walking”✅ Better: “A person walking through a bustling city street at sunset with dramatic lighting”
Include motion and action
- “A bird flying through clouds”
- “Water flowing over rocks in a stream”
- “A car driving along a winding coastal road”
- “Leaves falling from trees in autumn”
Describe camera movement
- “Camera slowly panning across…”
- “Aerial view descending towards…”
- “Close-up shot zooming in on…”
- “Tracking shot following…”
Set the scene and mood
- “…in golden hour lighting”
- “…with cinematic composition”
- “…in slow motion”
- “…with vibrant colors”
- “…in a serene atmosphere”
Examples of good prompts
Image-to-video
Use a reference image to guide video generation:Error handling
Common errors
| Status | Error | Solution |
|---|---|---|
| 400 | Invalid request | Check prompt and size parameters |
| 400 | Invalid size | Use one of the supported video sizes |
| 401 | Unauthorized | Verify API key is correct |
| 500 | Generation failed | Try again or rephrase prompt |
| 503 | Service unavailable | Vertex AI credentials not configured |
| 504 | Timeout | Generation took >10 minutes, retry |
Limitations
- Duration: Fixed at 8 seconds per video
- Generation time: 1-10 minutes depending on complexity
- Format: MP4 video returned as base64
- Model: VEO 3.0 Fast (no audio generation)
- Rate limits: Shared with other API endpoints
- Timeout: Maximum 10 minutes per request
Best practices
- Be patient — Video generation takes 1-10 minutes
- Use descriptive prompts — Include motion, lighting, and mood
- Choose the right size — Match your target platform (16:9 for web, 9:16 for mobile)
- Save videos immediately — Decode base64 and store to file
- Handle timeouts gracefully — Set appropriate timeout values (660s recommended)
- Test with short prompts — Verify setup before complex generations
Saving videos from base64
Python
Node.js
Browser (download)
vs Other endpoints
| Feature | /v1/generate-video | /v1/generate-image | /v1/chat-completion |
|---|---|---|---|
| Output | MP4 videos (8s) | JPEG/PNG images | Text, tool calls |
| Generation time | 1-10 minutes | 10-60 seconds | 1-10 seconds |
| Format | Base64 data URI | URL or base64 | JSON streaming |
| Use case | Video content | Static visuals | Conversations, agents |
Model information
- Model: VEO 3.0 Fast (veo-3.0-fast-generate-001)
- Provider: Google Vertex AI
- Duration: 8 seconds (fixed)
- Quality: High (professional-grade)
- Features: Text-to-video, image-to-video
- No audio: VEO 3.0 Fast does not generate audio
Platform-specific sizes
Choose the right size for your target platform:| Platform | Recommended Size | Aspect Ratio |
|---|---|---|
| YouTube | 1920x1080 | 16:9 landscape |
| TikTok | 720x1280 | 9:16 portrait |
| Instagram Reels | 1080x1920 | 9:16 portrait |
| Instagram Feed | 1024x1024 | 1:1 square |
| Twitter/X | 1280x720 | 16:9 landscape |
1280x720 | 16:9 landscape | |
1920x1080 | 16:9 landscape |
Next steps
- Get your API key: API Dashboard
- See all endpoints: API Reference
- Learn about other services: Generate Image, Answer