ModelsSupportEnterpriseBlog
500+ AI Model API, All In One API.Just In CometAPI
Models API
Developer
Quick StartDocumentationAPI Dashboard
Resources
AI ModelsBlogEnterpriseChangelogAbout
2025 CometAPI. All right reserved.Privacy PolicyTerms of Service
Home/Models/Google/Veo 3 Pro
G

Veo 3 Pro

Per Second:$0.25
Veo 3 pro denotes the production-grade Veo 3 video model experience (high fidelity, native audio, and extended tooling)
New
Commercial Use
Playground
Overview
Features
Pricing
API
Versions

How to access Veo 3 Pro API

Step 1: Sign Up for API Key

Log in to cometapi.com. If you are not our user yet, please register first. Sign into your CometAPI console. Get the access credential API key of the interface. Click “Add Token” at the API token in the personal center, get the token key: sk-xxxxx and submit.

Step 2: Send Requests to Veo 3 Pro API

Select the “\veo3-pro \” endpoint to send the API request and set the request body. The request method and request body are obtained from our website API doc. Our website also provides Apifox test for your convenience. Replace <YOUR_API_KEY> with your actual CometAPI key from your account. base url is Veo3 Async Generation(https://api.cometapi.com/v1/videos).

Insert your question or request into the content field—this is what the model will respond to . Process the API response to get the generated answer.

Step 3: Retrieve and Verify Results

Process the API response to get the generated answer. After processing, the API responds with the task status and output data.

To learn more about Veo3, please see the Veo3 page.

Features for Veo 3 Pro

Explore the key features of Veo 3 Pro, designed to enhance performance and usability. Discover how these capabilities can benefit your projects and improve user experience.

Pricing for Veo 3 Pro

Explore competitive pricing for Veo 3 Pro, designed to fit various budgets and usage needs. Our flexible plans ensure you only pay for what you use, making it easy to scale as your requirements grow. Discover how Veo 3 Pro can enhance your projects while keeping costs manageable.
Comet Price (USD / M Tokens)Official Price (USD / M Tokens)Discount
Per Second:$0.25
Per Second:$0.3125
-20%

Sample code and API for Veo 3 Pro

Access comprehensive sample code and API resources for Veo 3 Pro to streamline your integration process. Our detailed documentation provides step-by-step guidance, helping you leverage the full potential of Veo 3 Pro in your projects.
POST
/v1/videos
Python
JavaScript
Curl
import os
import time
import requests

# Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
COMETAPI_KEY = os.environ.get("COMETAPI_KEY") or "<YOUR_COMETAPI_KEY>"
BASE_URL = "https://api.cometapi.com/veo/v1/video"

# Create video generation task
create_response = requests.post(
    f"{BASE_URL}/create",
    headers={
        "Authorization": COMETAPI_KEY,
        "Content-Type": "application/json",
    },
    json={
        "prompt": "An orange cat flying in the blue sky with white clouds, sunlight pouring onto its fur, creating a beautiful and dreamlike scene",
        "model": "veo3.1-pro",
        "enhance_prompt": True,
    },
)

task = create_response.json()
task_id = task["id"]
print(f"Task created: {task_id}")
print(f"Status: {task['status']}")

# Poll until video is ready
while True:
    query_response = requests.get(
        f"{BASE_URL}/query/{task_id}",
        headers={
            "Authorization": f"Bearer {COMETAPI_KEY}",
        },
    )

    result = query_response.json()
    status = result["data"]["status"]
    progress = result["data"].get("progress", "")

    print(f"Checking status... {status} {progress}")

    if status == "SUCCESS" or result["data"]["data"]["status"] == "completed":
        video_url = result["data"]["data"]["video_url"]
        print(f"
Video URL: {video_url}")
        break
    elif status == "FAILED":
        print(f"Failed: {result['data'].get('fail_reason', 'Unknown error')}")
        break

    time.sleep(10)

Python Code Example

import os
import time
import requests

# Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
COMETAPI_KEY = os.environ.get("COMETAPI_KEY") or "<YOUR_COMETAPI_KEY>"
BASE_URL = "https://api.cometapi.com/veo/v1/video"

# Create video generation task
create_response = requests.post(
    f"{BASE_URL}/create",
    headers={
        "Authorization": COMETAPI_KEY,
        "Content-Type": "application/json",
    },
    json={
        "prompt": "An orange cat flying in the blue sky with white clouds, sunlight pouring onto its fur, creating a beautiful and dreamlike scene",
        "model": "veo3.1-pro",
        "enhance_prompt": True,
    },
)

task = create_response.json()
task_id = task["id"]
print(f"Task created: {task_id}")
print(f"Status: {task['status']}")

# Poll until video is ready
while True:
    query_response = requests.get(
        f"{BASE_URL}/query/{task_id}",
        headers={
            "Authorization": f"Bearer {COMETAPI_KEY}",
        },
    )

    result = query_response.json()
    status = result["data"]["status"]
    progress = result["data"].get("progress", "")

    print(f"Checking status... {status} {progress}")

    if status == "SUCCESS" or result["data"]["data"]["status"] == "completed":
        video_url = result["data"]["data"]["video_url"]
        print(f"\nVideo URL: {video_url}")
        break
    elif status == "FAILED":
        print(f"Failed: {result['data'].get('fail_reason', 'Unknown error')}")
        break

    time.sleep(10)

JavaScript Code Example

// Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here
const COMETAPI_KEY = process.env.COMETAPI_KEY || "<YOUR_COMETAPI_KEY>";
const BASE_URL = "https://api.cometapi.com/veo/v1/video";

async function sleep(ms) {
  return new Promise((resolve) => setTimeout(resolve, ms));
}

async function main() {
  // Create video generation task
  const createResponse = await fetch(`${BASE_URL}/create`, {
    method: "POST",
    headers: {
      Authorization: COMETAPI_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      prompt:
        "An orange cat flying in the blue sky with white clouds, sunlight pouring onto its fur, creating a beautiful and dreamlike scene",
      model: "veo3.1-pro",
      enhance_prompt: true,
    }),
  });

  const task = await createResponse.json();
  const taskId = task.id;
  console.log(`Task created: ${taskId}`);
  console.log(`Status: ${task.status}`);

  // Poll until video is ready
  while (true) {
    const queryResponse = await fetch(`${BASE_URL}/query/${taskId}`, {
      headers: {
        Authorization: `Bearer ${COMETAPI_KEY}`,
      },
    });

    const result = await queryResponse.json();
    const status = result.data.status;
    const progress = result.data.progress || "";

    console.log(`Checking status... ${status} ${progress}`);

    if (status === "SUCCESS" || result.data.data.status === "completed") {
      const videoUrl = result.data.data.video_url;
      console.log(`\nVideo URL: ${videoUrl}`);
      break;
    } else if (status === "FAILED") {
      console.log(`Failed: ${result.data.fail_reason || "Unknown error"}`);
      break;
    }

    await sleep(10000);
  }
}

main();

Curl Code Example

#!/bin/bash
# Get your CometAPI key from https://api.cometapi.com/console/token, and paste it here

BASE_URL="https://api.cometapi.com/veo/v1/video"

# Create video generation task
response=$(curl -s -X POST "${BASE_URL}/create" \
  -H "Authorization: $COMETAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "An orange cat flying in the blue sky with white clouds, sunlight pouring onto its fur, creating a beautiful and dreamlike scene",
    "model": "veo3.1-pro",
    "enhance_prompt": true
  }')

task_id=$(echo "$response" | jq -r '.id')
status=$(echo "$response" | jq -r '.status')

echo "Task created: ${task_id}"
echo "Status: ${status}"

# Poll until video is ready
while true; do
  query_response=$(curl -s -X GET "${BASE_URL}/query/${task_id}" \
    -H "Authorization: Bearer $COMETAPI_KEY")

  status=$(echo "$query_response" | jq -r '.data.status')
  progress=$(echo "$query_response" | jq -r '.data.progress // ""')
  completed=$(echo "$query_response" | jq -r '.data.data.status')

  echo "Checking status... ${status} ${progress}"

  if [ "$status" = "SUCCESS" ] || [ "$completed" = "completed" ]; then
    video_url=$(echo "$query_response" | jq -r '.data.data.video_url')
    echo ""
    echo "Video URL: ${video_url}"
    break
  elif [ "$status" = "FAILED" ]; then
    fail_reason=$(echo "$query_response" | jq -r '.data.fail_reason // "Unknown error"')
    echo "Failed: ${fail_reason}"
    break
  fi

  sleep 10
done

Versions of Veo 3 Pro

The reason Veo 3 Pro has multiple snapshots may include potential factors such as variations in output after updates requiring older snapshots for consistency, providing developers a transition period for adaptation and migration, and different snapshots corresponding to global or regional endpoints to optimize user experience. For detailed differences between versions, please refer to the official documentation.
veo3-pro
veo3-pro-framesThe veo3-frames model is specifically optimized for frame sequence generation.The veo3-frames model is specifically optimized for frame sequence generation, and includes a diagram supporting the first and last frames.

More Models

O

Sora 2 Pro

Per Second:$0.24
Sora 2 Pro is our most advanced and powerful media generation model, capable of generating videos with synchronized Audio. It can create detailed, dynamic video clips from natural language or images.
O

Sora 2

Per Second:$0.08
Super powerful video generation model, with sound effects, supports chat format.
M

mj_fast_video

Per Request:$0.6
Midjourney video generation
X

Grok Imagine Video

Per Second:$0.04
Generate videos from text prompts, animate still images, or edit existing videos with natural language. The API supports configurable duration, aspect ratio, and resolution for generated videos — with the SDK handling the asynchronous polling automatically.
G

Veo 3.1 Pro

Per Second:$0.25
Veo 3.1-Pro refers to the high-capability access/configuration of Google’s Veo 3.1 family — a generation of short-form, audio-enabled video models that add richer native audio, improved narrative/editing controls and scene-extension tools.
G

Veo 3.1

Per Second:$0.05
Veo 3.1 is Google’s incremental-but-significant update to its Veo text-and-image→video family, adding richer native audio, longer and more controllable video outputs, and finer editing and scene-level controls.

Related Blog

New Veo3.1: More consistency ,diverse output and richer
Jan 14, 2026
veo-3-1

New Veo3.1: More consistency ,diverse output and richer

Google’s Veo 3.1 was updated in January, bringing focused improvements that push image-to-video workflows closer to production quality. The release emphasizes image-to-video fidelity, improved temporal and character consistency, native vertical output for mobile platforms, and higher-definition outputs via improved 1080p quality and a 4K upscaling path. For creators and developers who have been working around the “crop-then-edit” workflow for social vertical formats, Veo 3.1’s native 9:16 output and improved upscaling promise to reduce friction and deliver more polished, platform-ready clips.