Veo 3.1 API Documentation

Complete guide to integrate Google's AI video generation into your applications.

Quick Start Guide

Get up and running with the Veo 3.1 API in just a few minutes.

1

Get Your API Key

First, you'll need to obtain an API key from your dashboard.

2

Make Your First Request

1curl -X POST "https://veo3api.com/generate" \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "prompt": "a dog running",
6 "model": "veo4",
7 "duration": 5,
8 "resolution": "720p"
9 }'
3

Check Generation Status

Video generation is asynchronous. Use the https://veo3api.com/feed endpoint to check status, or provide a

cURL
1curl -X GET "https://veo3api.com/feed?task_id=YOUR_TASK_ID" \
2 -H "Authorization: Bearer YOUR_API_KEY"

API Reference

Complete reference for all Veo 3.1 API endpoints, parameters, and response formats.

Base URL

https://veo3api.com

Endpoints do not use an /api prefix—call https://veo3api.com/ (for example https://veo3api.com/generate).

Authentication

All API requests require authentication using a Bearer token in the Authorization header.

Authorization: Bearer YOUR_API_KEY
POSThttps://veo3api.com/generate

Generate a video from text or image prompt

Request Body

ParameterTypeRequiredDescription
promptstring*The text prompt for video generation
modelstring*Choose veo3 (high quality, 180 credits), veo3-fast (fast generation, 25 credits), or veo4 (duration- and resolution-based pricing; see the table below)
durationintegerVeo 4 duration: 5, 10, or 15 seconds (default: 5)
resolutionstringVeo 4 output resolution: 480p, 720p (default), or 1080p
aspect_ratiostringAspect ratio: 16:9 (default, 1080P HD), 9:16 (portrait), or Auto (match image)
image_urlsstring[]Array of image URLs for image-to-video generation
watermarkstringCustom watermark text. Set to null for no watermark

Example Request

JSON
1{
2 "prompt": "a dog running",
3 "model": "veo4",
4 "duration": 5,
5 "resolution": "720p",
6 "aspect_ratio": "16: 9"
7}

Response

JSON Response 200 OK
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "task_id": "n90a1b2c3d4e5f6sd20",
6 "status": "IN_PROGRESS",
7 "consumed_credits": 240,
8 "model": "veo4"
9 }
10}

Credits Consumption

Model TypeCreditsCost
veo3-fast25 credits$0.25
veo3180 credits$1.80
veo4480p · 5s / 10s / 15s160 / 320 / 480 credits$1.60 / $3.20 / $4.80
veo4720p · 5s / 10s / 15s240 / 480 / 720 credits$2.40 / $4.80 / $7.20
veo41080p · 5s / 10s / 15s360 / 720 / 1080 credits$3.60 / $7.20 / $10.80
extendSame as original-
get-1080pFree$0.00

Veo 4 pricing is based on duration and resolution; text-to-video and image-to-video use the same rate.

Note: Credits are deducted only when the video generation is completed successfully. Failed tasks do not consume credits.

GEThttps://veo3api.com/feed

Check the status of a video generation task

Example Request

GET https://veo3api.com/feed?task_id=YOUR_TASK_ID

Response

JSON Response 200 OK
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "request": {
6 "prompt": "a dog running",
7 "model": "veo4",
8 "duration": 5,
9 "resolution": "720p",
10 "aspect_ratio": "16: 9"
11 },
12 "response": [
13 "https://cdn.veo3api.com/video/example_watermarked.mp4"
14 ],
15 "status": "COMPLETED",
16 "consumed_credits": 240,
17 "type": "text-to-video",
18 "model": "veo4",
19 "created_at": "2025-10-29 12: 20: 46"
20 }
21}

💡 Tip: The generated video URL can be obtained from data.response array.

POSThttps://veo3api.com/extend

Extend an existing video with a new prompt. The extended video will continue from where the original video ended.

Request Body

ParameterTypeRequiredDescription
task_idstring*The task_id of the original completed video to extend
promptstring*The text prompt describing how to continue/extend the video
seedsintegerRandom seed (10000-99999) for reproducible generation. Same seed produces similar results
watermarkstringCustom watermark text. Set to null for no watermark

Example Request

JSON
1{
2 "task_id": "veo8a7f5dd50a90446aa3c567ecceea42bcbksv",
3 "prompt": "The dog continues running and jumps over a fence",
4 "watermark": "veo"
5}

Response

JSON Response 200 OK
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "task_id": "veo8b2c3dd60b80557bb4c678fddef53cdextd",
6 "original_task_id": "veo8a7f5dd50a90446aa3c567ecceea42bcbksv",
7 "credits_consumed": 25
8 }
9}

Note: This endpoint supports only completed veo3 and veo3-fast tasks. It is not available for Veo 4 tasks, and videos converted to 1080P cannot be extended.

GEThttps://veo3api.com/get-1080pFree

Get the high-definition 1080P version of a completed video task. This endpoint is free and does not consume any credits.

Example Request

GET https://veo3api.com/get-1080p?task_id=YOUR_TASK_ID

Response

JSON Response 200 OK
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "task_id": "veo8a7f5dd50a90446aa3c567ecceea42bcbksv",
6 "result_url": "https://cdn.veo3api.com/video/example_1080p.mp4"
7 }
8}

💡 Tip: This endpoint supports only completed veo3 and veo3-fast tasks. It is free and does not consume credits. Veo 4 can be generated directly in 1080p.

HTTP Status Codes

Status CodeDescription
200Request successful
400Bad request - Invalid parameters
401Unauthorized - Invalid API key
429Rate limit exceeded
500Internal server error