API Endpoints
Complete reference for all VEO3 API endpoints with request/response examples and authentication details.
https://api.veo3gen.coAll endpoints are prefixed with the base URL. Authentication required for all requests.
Available Endpoints
Overview of all VEO3 API endpoints
1. Generate Video from Text
Generate videos from descriptive text prompts using VEO models
/api/veo/text-to-videoHeaders
Content-Type: application/json
X-API-Key: veo3_your_api_key_hereRequest Body
{
"prompt": "A majestic dragon soaring through clouds above a fantasy castle",
// model options: veo-3.0-generate-001 | veo-3.0-fast-generate-001
// veo-3.1-generate-001 | veo-3.1-fast-generate-001
// veo-3.1-lite-generate-001
"model": "veo-3.1-fast-generate-001",
"sampleCount": 1,
"durationSeconds": 8,
"aspectRatio": "16:9",
"generateAudio": true,
"enhancePrompt": true,
"negativePrompt": "blurry, low quality",
"seed": 12345,
"personGeneration": "allow_adult"
}Response (202 Accepted)
{
"success": true,
"message": "Video generation started",
"taskId": "veo_1703123456789_abc123def",
"status": "pending",
"estimatedWaitTime": "60-120 seconds",
"creditsUsed": 500,
"remainingCredits": 600,
"statusUrl": "/api/veo/status/veo_1703123456789_abc123def",
"downloadUrl": "/api/veo/download/veo_1703123456789_abc123def"
}cURL Example
curl -X POST "https://api.veo3gen.co/api/veo/text-to-video" \
-H "X-API-Key: veo3_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A majestic dragon soaring through clouds above a fantasy castle",
"model": "veo-3.1-fast-generate-001",
"generateAudio": true,
"enhancePrompt": true
}'2. Generate Video from Image
Upload a reference image (JPEG or PNG, up to 20MB) with a text prompt. Uses multipart/form-data with field image for the file. Other options match text-to-video (sent as form fields).
/api/veo/image-to-videoSupported models
- All Veo 3.0 and Veo 3.1 models support image-to-video.
- Veo 3.1 Quality and Fast also support first+last frame via
/api/veo/first-last-frame. - Credits are calculated from the selected model tier and
generateAudio, same idea as text-to-video.
cURL example
curl -X POST "https://api.veo3gen.co/api/veo/image-to-video" \
-H "X-API-Key: veo3_your_api_key_here" \
-F "image=@/path/to/reference.jpg" \
-F "prompt=Camera slowly pushes in while leaves drift in the wind" \
-F "model=veo-3.1-generate-001" \
-F "generateAudio=true"Successful response (202)
Same shape as text-to-video: taskId, statusUrl, downloadUrl, creditsCost, plus imageInfo with original filename, size, and MIME type.
3. Check Generation Status
Monitor the progress of your video generation requests
/api/veo/status/{taskId}Response (Completed)
{
"success": true,
"taskId": "veo_1703123456789_abc123def",
"status": "completed",
"type": "text-to-video",
"model": "veo-3.0-generate-preview",
"prompt": "A majestic dragon soaring...",
"creditsCost": 500,
"createdAt": "2023-12-20T10:30:45.123Z",
"completedAt": "2023-12-20T10:32:15.456Z",
"processingTime": 90,
"videos": [
{
"url": "https://storage.googleapis.com/veo3gen-gen-video/videos/task-id/sample_0.mp4",
"mimeType": "video/mp4",
"expiresAt": "2023-12-21T10:32:15.456Z"
}
]
}Status Values
Request queued for processing
Video is being generated
Generation finished successfully
Generation failed (credits refunded)
4. Download Videos
Get secure download URLs for your completed videos
/api/veo/download/{taskId}Response
{
"success": true,
"taskId": "veo_1703123456789_abc123def",
"videos": [
{
"url": "https://storage.googleapis.com/veo3gen-gen-video/videos/task-id/sample_0.mp4",
"mimeType": "video/mp4",
"expiresAt": "2023-12-21T10:32:15.456Z"
}
],
"totalVideos": 1
}Important Notes
- • Download URLs are time-limited and expire after 24 hours
- • Videos are in MP4 format with H.264 encoding
- • Multiple videos available if sampleCount > 1
5. Generation History
Retrieve your video generation history with pagination and filtering
/api/veo/historyQuery Parameters
limitRecords to return (max 100)
skipRecords to skip (pagination)
statusFilter by status
Example Request
GET /api/veo/history?limit=20&status=completedResponse
{
"success": true,
"videos": [
{
"taskId": "veo_1703123456789_abc123def",
"type": "text-to-video",
"model": "veo-3.0-generate-preview",
"prompt": "A majestic dragon soaring...",
"status": "completed",
"creditsCost": 500,
"createdAt": "2023-12-20T10:30:45.123Z",
"completedAt": "2023-12-20T10:32:15.456Z",
"processingTime": 90,
"videoCount": 1
}
],
"pagination": {
"total": 45,
"limit": 20,
"skip": 0,
"hasMore": true
}
}6. Available Models
Get information about available VEO models and their capabilities
/api/veo/modelsResponse
{
"success": true,
"models": [
{
"id": "veo-3.0-generate-001",
"name": "Veo 3.0 Quality",
"description": "High-quality video with audio",
"capabilities": ["text-to-video", "image-to-video", "audio-generation"],
"pricing": { "creditsPerVideo": 500, "creditsPerVideoNoAudio": 250 }
},
{
"id": "veo-3.0-fast-generate-001",
"name": "Veo 3.0 Fast",
"description": "Fast video generation with audio",
"capabilities": ["text-to-video", "image-to-video", "audio-generation"],
"pricing": { "creditsPerVideo": 190, "creditsPerVideoNoAudio": 120 }
},
{
"id": "veo-3.1-generate-001",
"name": "Veo 3.1 Quality",
"description": "Latest Veo 3.1 high-quality video with first+last frame support",
"capabilities": ["text-to-video", "image-to-video", "first-last-frame", "audio-generation"],
"pricing": { "creditsPerVideo": 500, "creditsPerVideoNoAudio": 250 }
},
{
"id": "veo-3.1-fast-generate-001",
"name": "Veo 3.1 Fast",
"description": "Latest Veo 3.1 fast video with first+last frame support",
"capabilities": ["text-to-video", "image-to-video", "first-last-frame", "audio-generation"],
"pricing": { "creditsPerVideo": 190, "creditsPerVideoNoAudio": 120 }
},
{
"id": "veo-3.1-lite-generate-001",
"name": "Veo 3.1 Lite",
"description": "Affordable 720p video generation — cheapest option",
"capabilities": ["text-to-video", "image-to-video", "audio-generation"],
"pricing": { "creditsPerVideo": 65, "creditsPerVideoNoAudio": 35 }
}
],
"defaultModel": "veo-3.1-fast-generate-001"
}Authentication
All endpoints require proper authentication
Required Header
X-API-Key: veo3_your_api_key_hereGet your API key from the dashboard and include it in all requests.Learn more about authentication →
Next Steps
Ready to start using the API? Explore these resources