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

Using cURL

Terminal
curl -X POST "https://veo3api.com/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a dog running",
    "model": "veo3-fast",
    "watermark": "veo"
  }'

Using JavaScript

JavaScript
const response = await fetch('https://veo3api.com/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    prompt: 'a dog running',
    model: 'veo3-fast',
    watermark: 'veo'
  })
});

const data = await response.json();
console.log('Task ID:', data.data.task_id);
3

Check Generation Status

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

cURL
curl -X GET "https://veo3api.com/feed?task_id=YOUR_TASK_ID" \
  -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
POST
https://veo3api.com/generate

Generate a video from text or image prompt

Request Body

ParameterTypeRequiredDescription
promptstringRequiredThe text prompt for video generation
modelstringRequiredChoose between veo3 (high quality, 400 credits) or veo3-fast (fast generation, 70 credits)
aspect_ratiostringOptionalAspect ratio: 16:9 (default, 1080P HD), 9:16 (portrait), or Auto (match image)
image_urlsstring[]OptionalArray of image URLs for image-to-video generation
watermarkstring | nullOptionalCustom watermark text. Set to null for no watermark
callback_urlstringOptionalWebhook URL to receive generation results automatically
View cURL command
cURL
curl -X POST "https://veo3api.com/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a dog running",
    "model": "veo3-fast",
    "aspect_ratio": "16:9",
    "callback_url": "https://your-webhook.com/callback"
  }'

Example Request

JSON
{
  "prompt": "a dog running",
  "model": "veo3-fast",
  "watermark": "veo",
  "callback_url": "https://your-webhook.com/callback"
}

Response

JSON Response
{
  "code": 200,
  "message": "success",
  "data": {
    "task_id": "veo4a7f5dd50a90446aa3c567ecceea42bcbksv"
  }
}

Credits Consumption

Model TypeCreditsCost
veo3-fast(Text to Video)70 credits$0.70 USD
veo3-fast(Image to Video)200 credits$2.00 USD
veo3(High Quality)400 credits$4.00 USD

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

GET
https://veo3api.com/feed

Check the status of a video generation task

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

Example Request

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

Response

JSON Response
{
  "code": 200,
  "message": "success",
  "data": {
    "request": {
      "prompt": "a dog running",
      "model": "veo3-fast",
      "watermark": "veo"
    },
    "response": [
      "https://cdn.veo3api.com/video/example_watermarked.mp4"
    ],
    "status": "COMPLETED",
    "created_at": "2025-10-29 12:20:46"
  }
}

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

HTTP Status Codes

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