Skip to content

Turn a scene description into a short video with synchronized sound. Set the framing, resolution and duration before bringing your shot to life.

Modalities
Text
Video, Audio
Price
From $0.26per second
Clip length
4 · 6 · 8 seconds
Released
Nov 24, 2025

Overview

Duration
Resolution
Aspect ratio
Generate audio

Direct a short shot, sound included

Veo 3.1 is Google DeepMind’s video model for short clips with generated sound. This page covers its text-to-video endpoint, google/veo-3.1-t2v: describe the scene, then choose 4, 6 or 8 seconds, 16:9 or 9:16, 720p or 1080p, and whether to generate audio.

Write the prompt the way you would brief a camera operator: the subject, the action, how the camera moves and what the scene sounds like. With audio on, which is the default, dialogue, ambience and effects come from the same prompt. Use negative_prompt for elements to avoid and a fixed seed to compare prompt changes. The API enhances prompts by default and may rewrite one that fails validation; set enhance_prompt and auto_fix to false when the exact wording matters.

Where it stands today

Google’s launch evaluation in October 2025 reported Veo 3.1 as the most preferred model overall on 1,003 MovieGenBench prompts. The field has moved since. On Artificial Analysis’ text-to-video arena with audio, Veo 3.1 now scores 962 Elo, 22nd of 31 models. Its best category rank is audio synchronization (18th). Its weakest results are dialogue and lip sync (29th) and live-action film (28th). Google also notes that natural spoken audio, especially in short speech segments, is still being improved.

Choose the variant before you scale

Veo 3.1 Fast scores 958 on the same board, and AA places both models in the same 22nd–25th rank range. On AI/ML API an 8-second clip with audio costs $1.56 with Fast and $4.16 with Veo 3.1. Test both on your own prompts before committing. Image-to-video, reference images, first and last frames, and clip extension are separate Veo 3.1 model IDs, each with its own documentation.

Benchmarks by Artificial Analysis

Compare Veo 3.1 on human-preference video quality and creator API price.

Text to video

Elo with audio · AA-Video-T2V v2.1

Silent video

Elo · AA-Video-T2V-Silent v2.1

Creator API price

USD per minute of video with audio

Cost on each model creator’s API at AA’s benchmark settings, not the AI/ML API rate. Our rates are in Pricing

Benchmark results

Compare five models available on AI/ML API across three video leaderboards.

AA-Video-T2V v2.1

Blind pairwise human votes on video with audio generated from a text prompt.

Results by capability

Category slices of AA-Video-T2V v2.1 with audio, each ranked across 31 models.

Audio synchronization

Votes on prompts in the audio synchronization category. Veo 3.1 ranks #18 of 31.

Pricing

Veo 3.1 price per second of generated video, in US dollars
UsagePriceUnit
Video without audio$0.26second
Video with audio$0.52second · default

Compare Veo 3.1 variants

Cost of one 8-second clip on AI/ML API.

Cost of one 8-second clip in US dollars, without and with audio
ModelAudio offAudio on
Veo 3.1$0.26 / $0.52 per second$2.08$4.16
Veo 3.1 Fast$0.13 / $0.195 per second$1.04$1.56
Veo 3.1 Lite$0.065 / $0.104 per second · 1080p$0.52$0.832

Build with your agent

Give your agent the model details, code and documentation.

export AIMLAPI_KEY="8f2b4c7d9a1e6b3f…"

2Make your first request

curl 'https://api.aimlapi.com/v2/video/generations' \
  -H "Authorization: Bearer $AIMLAPI_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "google/veo-3.1-t2v",
  "prompt": "Two person street interview in New York City.",
  "duration": 8,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "generate_audio": true
}'
Retrieve your result

Save the returned id, then poll this endpoint while the status is queued or generating. A completed task includes video.url.

GET /v2/video/generations?generation_id=…

Related articles

All posts

Frequently asked questions

How much does a Veo 3.1 clip cost?

Veo 3.1 is billed per second of generated video: $0.26 without audio and $0.52 with audio. An 8-second clip costs $2.08 silent or $4.16 with audio. Audio is on by default.

Which durations, resolutions and aspect ratios are supported?

Clips are 4, 6 or 8 seconds long (8 by default), at 720p or 1080p (1080p by default), in 16:9 landscape or 9:16 portrait.

Can I generate a silent clip?

Yes. Set generate_audio to false. A silent clip is billed at $0.26 per second instead of $0.52.

Can I start from an image instead of text?

Not on this endpoint. Veo 3.1 image-to-video, reference-to-video, first-last-frame and extend-video are separate model IDs on AI/ML API, each with its own documentation.

How do I get the finished video?

Send the request to POST /v2/video/generations and keep the returned id. Poll GET /v2/video/generations?generation_id=… until status is completed, then read video.url.

How does Veo 3.1 rank on independent benchmarks?

On Artificial Analysis’ text-to-video arena (captured October 30, 2026), Veo 3.1 scores 962 Elo with audio, 22nd of 31 models, and 960 as silent video, 23rd of 36. Scores come from blind pairwise human votes.

Should I use Veo 3.1 or Veo 3.1 Fast?

On the same text-to-video board with audio, Fast scores 958 against 962 and the two share a 22nd–25th rank range. With audio, Fast costs $0.195 per second against $0.52. Compare both on your own prompts.

Start building with Veo 3.1

API

API key, code and agent prompt for Veo 3.1.

Build with your agent

Give your agent the model details, code and documentation.

export AIMLAPI_KEY="8f2b4c7d9a1e6b3f…"

2Make your first request

curl 'https://api.aimlapi.com/v2/video/generations' \
  -H "Authorization: Bearer $AIMLAPI_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "google/veo-3.1-t2v",
  "prompt": "Two person street interview in New York City.",
  "duration": 8,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "generate_audio": true
}'
Retrieve your result

Save the returned id, then poll this endpoint while the status is queued or generating. A completed task includes video.url.

GET /v2/video/generations?generation_id=…