Veo 3.1 API

google/veo-3.1-i2v
Veo 3.1 is Google’s advanced AI video generation model, enabling creators and developers to transform text, images, and frame guidance into high-quality, cinematic videos.
Output
$0.26 / sec (variable)

How to use Veo 3.1 API

Install any OpenAI-compatible SDK, point it at api.aimlapi.com/v1, and set the model to google/veo-3.1-i2v.
import requests, time

headers = {"Authorization": "Bearer " + AIMLAPI_KEY}
job = requests.post(
    "https://api.aimlapi.com/v2/video/generations",
    headers=headers,
    json={
      "model": "google/veo-3.1-i2v",
      "prompt": "A serene timelapse of clouds over a mountain range"
    },
).json()
gid = job["id"]

while True:
    res = requests.get(f"https://api.aimlapi.com/v2/video/generations?generation_id={gid}", headers=headers).json()
    if res.get("status") in ("completed", "error"):
        break
    time.sleep(5)
print(res["video"]["url"])
const headers = {
  Authorization: `Bearer ${process.env.AIMLAPI_KEY}`,
  "Content-Type": "application/json",
};
const job = await (await fetch("https://api.aimlapi.com/v2/video/generations", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "model": "google/veo-3.1-i2v",
    "prompt": "A serene timelapse of clouds over a mountain range"
  }),
})).json();

let res;
do {
  await new Promise((r) => setTimeout(r, 5000));
  res = await (await fetch(`https://api.aimlapi.com/v2/video/generations?generation_id=${job.id}`, { headers })).json();
} while (!["completed", "error"].includes(res.status));
console.log(res.video.url);
# submit the generation — the response contains the job "id"
curl -X POST https://api.aimlapi.com/v2/video/generations \
  -H "Authorization: Bearer $AIMLAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"google/veo-3.1-i2v","prompt":"A serene timelapse of clouds over a mountain range"}'

# then poll until status is "completed" — video.url holds the result
curl "https://api.aimlapi.com/v2/video/generations?generation_id={id}" -H "Authorization: Bearer $AIMLAPI_KEY"

OpenAI-compatible — swap the base URL and it works with your existing SDK.

Veo 3.1 API Pricing

TypePrice
Input
Output
$0.26 / sec (variable)

Veo 3.1 Benchmarks

BenchmarkScoreWhat it measuresSourceRetrieved
Text-to-Video Arena
964
Human preference Elo from blind pairwise comparisons of generated videos, measured independently by Artificial AnalysisSourceOctober 4, 2026

Veo 3.1 vs other models

ModelInputOutputContextBest for
Veo 3.1
This page
$0.26 / sec (variable)
Video generation
$0.13 / sec (variable)
Video generation
$1.95 / 1M tokens
$22.75 / 1M tokens
Video generation
$0.09243–$1.014 / sec (by resolution)
Cinematic video + native audio

Frequently asked questions

Veo 3.1 takes image, text as input and returns video.

Veo 3.1 is priced at $0.26 / sec (variable).

Veo 3.1 is billed per generation — a fixed charge per output rather than by prompt length.

Yes, Veo 3.1 accepts image input as well as a text prompt.

Veo 3.1 was built by Google.

Send a request to v2/video/generations with google/veo-3.1-i2v as the model id.

Yes. Veo 3.1 is served through AI/ML API, so the same key and endpoint format used for other models applies.

Start building with Veo 3.1

Get API Key
1000+ models, one API.