Models
VideoGoogletext-to-videoimage-to-videoaudio

Veo 3.1

Google DeepMind Veo 3.1: cinematic 4–8 s video with native dialogue and sound effects.

Model ID: veo-3.1

Playground

0 – 2147483647

Estimated cost—

Use the same request from code — API docs

Provider prices for this request

Enter a prompt to compare provider prices.

Result

Your generation will appear here.

Pricing by provider

Prices are per unit; requests without a provider are routed to the cheapest provider that supports your parameters.

ProviderOptionPrice (USD)Credits
Replicategenerate_audio: false$0.210% off$0.18 / second45 / second
generate_audio: true$0.410% off$0.36 / second90 / second
WaveSpeedAIgenerate_audio: false$0.210% off$0.18 / second45 / second
generate_audio: true$0.410% off$0.36 / second90 / second
resolution: 4k · generate_audio: false$0.410% off$0.36 / second90 / second
resolution: 4k · generate_audio: true$0.610% off$0.54 / second135 / second
KIE AIresolution: 720p$1.2510% off$1.125 / request282 / request
resolution: 4k$1.8510% off$1.665 / request417 / request
resolution: 1080p$1.27510% off$1.147 / request287 / request
AtlasCloudAll options$0.210% off$0.18 / second45 / second
Vercel AI Gatewayresolution: 720p · generate_audio: false$0.210% off$0.18 / second45 / second
resolution: 720p · generate_audio: true$0.410% off$0.36 / second90 / second
resolution: 1080p · generate_audio: false$0.210% off$0.18 / second45 / second
resolution: 1080p · generate_audio: true$0.410% off$0.36 / second90 / second
resolution: 4k · generate_audio: false$0.410% off$0.36 / second90 / second
resolution: 4k · generate_audio: true$0.610% off$0.54 / second135 / second

API reference

Endpoints

Base URL: https://01router.com/api/v1

POST/generationsCreate a generation (charges credits)
GET/generations/{id}Get a generation; polls the provider while running
POST/quotePrice a request on every provider (no charge, no key needed)

Authentication

Send your API key as a Bearer token. Requests are billed to the key owner's credits.

Authorization: Bearer sk_xxxxxxxxxxxxxxxx
Get an API key

Request body

NameTypeRequiredDescription
modelstringYes"veo-3.1"
providerstringNoPin a provider; omit to auto-route to the cheapest. One of: replicate | wavespeed | kie | atlascloud | vercel
inputobjectYesModel parameters, see the input fields below.

input fields

Unified parameters work on every provider; some providers support a narrower range — check the quote endpoint or the playground.

NameTypeValuesDefault
prompt*text——
negative_promptstring——
image_url
Optional start image (image-to-video)
image——
end_image_urlimage——
durationenum4 | 6 | 88
resolutionenum720p | 1080p | 4k720p
aspect_ratioenum16:9 | 9:1616:9
generate_audioboolean—true
seedinteger0 – 2147483647—

Example request

curl https://01router.com/api/v1/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "veo-3.1",
  "provider": "replicate",
  "input": {
    "prompt": "A cinematic shot of a red fox running through snow",
    "duration": 8,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }
}'

# poll until status is "succeeded" or "failed"
curl https://01router.com/api/v1/generations/<id> -H "Authorization: Bearer $API_KEY"

Response

Pass the model id, its unified input parameters and optionally a provider slug. The response returns immediately with the task id; image models on synchronous providers may already be succeeded.

{
  "id": "gen_6f1c…",
  "object": "generation",
  "model": "veo-3.1",
  "type": "video",
  "provider": "replicate",
  "status": "processing",
  "input": {
    "prompt": "…",
    "duration": 8,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  },
  "outputs": [],
  "error": null,
  "credits": 0,
  "price_usd": 0,
  "created_at": "2026-10-23T08:00:00.000Z",
  "completed_at": null
}

Get the result

Poll every few seconds until status is succeeded or failed. Output URLs are provider-hosted and may expire — download them promptly.

curl https://01router.com/api/v1/generations/gen_6f1c… -H "Authorization: Bearer $API_KEY"

{ "id": "gen_6f1c…", "model": "veo-3.1", "status": "succeeded", "outputs": ["https://…"], … }

Quote

Same body as creating a generation. Returns every available provider sorted by price, plus the ones that cannot serve the request and why.

curl https://01router.com/api/v1/quote -H "Content-Type: application/json" \
  -d '{"model":"veo-3.1","input":{"prompt":"…","duration":8,"resolution":"720p","aspect_ratio":"16:9","generate_audio":true}}'

Auth, routing, billing and error codes are covered in Gateway API reference