Async API: Best for batch processing scenarios. Submit tasks and retrieve results via polling. For real-time interaction, use the synchronous API.
Models & Pricing
VEO 3.1 offers 8 model variants with the following naming convention:- Base name:
veo-3.1 -landscape: Landscape mode (1280x720), default is portrait (720x1280)-fast: Fast generation, quicker speed and lower price-fl: Frame-to-Video mode, supports first/last frame input
| Model | Description | Resolution | Price |
|---|---|---|---|
veo-3.1 | Default portrait video | 720 x 1280 | $0.25 |
veo-3.1-fl | Portrait + frame-to-video | 720 x 1280 | $0.25 |
veo-3.1-fast | Portrait + fast | 720 x 1280 | $0.15 |
veo-3.1-fast-fl | Portrait + fast + frame-to-video | 720 x 1280 | $0.15 |
veo-3.1-landscape | Landscape video | 1280 x 720 | $0.25 |
veo-3.1-landscape-fl | Landscape + frame-to-video | 1280 x 720 | $0.25 |
veo-3.1-landscape-fast | Landscape + fast | 1280 x 720 | $0.15 |
veo-3.1-landscape-fast-fl | Landscape + fast + frame-to-video | 1280 x 720 | $0.15 |
Pay on success: Only charged for successfully generated videos. All models generate 8-second videos with auto-generated audio tracks.
API Endpoints
1. Create Video Task
/v1/videos
Create an async video generation task
Text description for video generation
Model name, e.g.,
veo-3.1, veo-3.1-fast, etc.2. Query Task Status
/v1/videos/{video_id}
Query the current status of a video generation task
Video task ID (returned from the create endpoint)
| Status | Description | Next Action |
|---|---|---|
queued | Task is queued | Continue polling |
processing | Task is processing | Continue polling |
completed | Generation complete | Call content endpoint |
failed | Generation failed | Check error message |
3. Get Video Content
/v1/videos/{video_id}/content
Get the actual content of a generated video
Video URLs are typically valid for 24 hours. Download and save promptly.
Complete Workflow
Poll Status
Use
GET /v1/videos/{video_id} to poll task status (recommended: every 5-10 seconds) until status is completedPython Complete Example
Frame-to-Video Mode
Models with the-fl suffix support frame-to-video functionality, converting static images into dynamic videos.
| Mode | Images | Description |
|---|---|---|
| First Frame | 1 | Use image as video start, AI generates the continuation |
| First & Last Frame | 2 | Use first image as start, second as end, AI generates transition |
Request Parameters
Video description. Describe how the scene should move (e.g., “camera slowly zooms in”, “person walks forward”)
Must use a model with
-fl suffix, e.g., veo-3.1-fl, veo-3.1-landscape-flImage file. Pass once for first-frame mode, twice for first-and-last-frame mode
First Frame Mode (Single Image)
Use one image as the video start, AI automatically generates the continuation.First & Last Frame Mode (Two Images)
Specify the start and end frames, AI generates the transition animation between them.Response & Next Steps
The response format is the same as text-to-video. After receivingvideo_id, poll for results:
Usage Recommendations
First Frame Mode Use Cases
- Bring static images to life
- Product showcase animations
- Generate dynamic video from portraits
First & Last Frame Use Cases
- Scene transitions (day→night, seasonal changes)
- Expression change animations
- Object morphing transitions
Error Handling
| Error Code | Description | Solution |
|---|---|---|
invalid_api_key | Invalid API key | Check if API key is correct |
invalid_model | Model not found | Use a supported model name |
invalid_prompt | Invalid prompt | Check prompt length and content |
video_not_found | Video task not found | Verify video_id is correct |
video_not_ready | Video not yet generated | Continue polling status |
quota_exceeded | Quota exceeded | Contact support to increase quota |
FAQ
How do I choose the right model?
How do I choose the right model?
- Best value: Choose
-fastseries ($0.15/video) - Quality first: Choose standard series ($0.25/video)
- Image-to-video: Choose
-flseries - Landscape content: Choose
-landscapeseries
How long does video generation take?
How long does video generation take?
- Fast models (
-fast): ~30-60 seconds - Standard models: ~1-2 minutes
How long is the video URL valid?
How long is the video URL valid?
Video URLs are typically valid for 24 hours. Download and save promptly after generation.
Are there volume discounts?
Are there volume discounts?
For bulk usage, contact support for enterprise pricing:
[email protected]Technical Specifications
| Item | Specification |
|---|---|
| Video Duration | 8 seconds |
| Portrait Resolution | 720 x 1280 (9:16) |
| Landscape Resolution | 1280 x 720 (16:9) |
| Audio Track | Auto-included |
| URL Validity | 24 hours |
| Recommended Poll Interval | 5-10 seconds |
| Maximum Wait Time | 10 minutes |