Updated July 2026

Veo 3.1 API Access: The Developer's Onboarding Guide

Veo 3.1 API access is a Bearer token and one REST call away: create a key (it starts with veo_), POST your prompt to /api/generate, and poll /api/status/:taskId until your video URL is ready. No Google Cloud project, no SDK lock-in — this page covers auth, endpoints, model pricing, and rate limits end to end.

Key takeaways

  • Authenticate with Authorization: Bearer veo_... (or an X-API-Key header) against https://api.veo3gen.app.
  • Three endpoints run everything: POST /api/generate, GET /api/status/:taskId, GET /api/logs.
  • Veo 3.1 Fast costs 10 credits per 8-second video with audio — roughly $2.13–$2.50 depending on your credit plan; Lite starts at about $0.17.
  • Default rate limit: 100 requests per hour per API key, with a 200-per-15-minutes per-IP backup.
  • Credits are deducted up front and automatically refunded if a generation fails.
Developer onboarding

Get a Veo 3.1 API key and make your first call in minutes

Plain REST from any language — no GCP project, no IAM, no SDK required.

No credit card required — sign in with Google and start in seconds.

Authentication: one key, two header styles

Every request authenticates with an API key you create from the API dashboard after signing in with Google. Keys are prefixed veo_, are active the moment they're created, and can be scoped and revoked independently — so you can issue one per environment or per app instead of sharing a single secret.

Send the key on every request using either header style — the standard Authorization header is recommended:

Authorization: Bearer veo_your_api_key_here
# or, equivalently:
X-API-Key: veo_your_api_key_here

That's the entire auth story. Compare that with going through Vertex AI directly, where the same first call requires a Google Cloud project, billing setup, service-account JSON, and OAuth token refresh logic. If you're weighing key setup against total spend, the companion piece on Veo 3.1 API access cost breaks down the key-plus-pricing angle in detail.

The three endpoints you'll actually use

The API surface is deliberately small. Generation is asynchronous: you submit a job, get a taskId back immediately, then poll for the finished video.

EndpointWhat it doesReturns
POST /api/generateStarts a video generation from a text prompt (optionally with an input image or first/last frames)taskId, status: "pending", creditsRequired, estimated time
GET /api/status/:taskIdPolls a running jobstatus (pending / processing / completed / failed) plus videoUrl and credit accounting when done
GET /api/logsYour generation history with filtering and pagination (limit, offset)Past generations with models, credits spent, and outcomes

Full parameter tables for every field live in the API documentation; the essentials are model, prompt, audio (default true), modelVersion, and an options object for resolution (720p/1080p), aspectRatio (16:9 or 9:16), duration (4, 6, or 8 seconds), seed, negativePrompt, and enhancePrompt.

Available models and what each costs per credit

Three model ids cover the speed/quality/price spectrum. Credits cost between $0.213 and $0.250 each depending on the plan you choose (one-time packs from $9.99 for 40 credits; monthly subscriptions from $9.99 for 45). Prices below are per 8-second video with audio:

ModelAPI model idCredits (720p/1080p)Credits (4K)Approx. price per videoApprox. per second
Veo 3.1 Liteveo3-lite3 (720p) / 5 (1080p)from ~$0.17~$0.02
Veo 3.1 Fastveo3-fast1022~$2.13–$2.50~$0.07–$0.10
Veo 3.1 Qualityveo3-quality2638~$5.55–$6.50~$0.18–$0.27

Shorter clips cost proportionally less: 4-second videos are billed at 0.5× and 6-second videos at 0.75× of the 8-second rate. For most production integrations, veo3-fast is the default choice — at roughly $0.07–$0.10 per second of finished video with audio, it undercuts direct Vertex AI access, which as of 2026 has been priced around $0.75 per second for Veo with audio. Lite is the budget tier for drafts and high-volume pipelines; Quality (and its 4K option, exclusive to Veo 3.1) is for final renders.

Fast videos from ~$0.55 each — create your key and start building.

Get API Access

Request and response: a complete example

Here is the full round trip. First, submit a generation — this example requests Veo 3.1 Fast, vertical 1080p, with audio:

curl -X POST https://api.veo3gen.app/api/generate \
  -H "Authorization: Bearer veo_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo3-fast",
    "modelVersion": "3.1",
    "prompt": "A majestic eagle soaring over snow-capped mountains",
    "audio": true,
    "options": {
      "aspectRatio": "9:16",
      "resolution": "1080p"
    }
  }'

The API responds immediately with a task id:

{
  "success": true,
  "taskId": "veo_1704067200000_abc123",
  "status": "pending",
  "model": "veo3-fast",
  "creditsRequired": 10,
  "resolution": "1080p",
  "estimatedTime": "1-3 minutes"
}

Poll the status endpoint every few seconds until status is completed:

curl -H "Authorization: Bearer veo_your_api_key_here" \
  https://api.veo3gen.app/api/status/veo_1704067200000_abc123

{
  "success": true,
  "taskId": "veo_1704067200000_abc123",
  "status": "completed",
  "result": {
    "videoUrl": "https://storage.googleapis.com/.../video.mp4",
    "duration": 8,
    "resolution": "1080p",
    "aspectRatio": "9:16",
    "hasAudio": true
  },
  "credits": { "required": 10, "charged": 10, "refunded": 0 }
}

Because it's plain HTTPS and JSON, the same flow works unchanged from Node, Python, PHP, Go, or a serverless function — no vendor SDK to install. Validation errors come back as HTTP 400 with a field pointer, and prompts that violate content policy are rejected up front with errorType: "CONTENT_POLICY_VIOLATION" before any credits are charged.

Rate limits and how to handle them

Two limits protect the service, and both return HTTP 429 with errorType: "RATE_LIMIT_EXCEEDED" when hit:

LimitScopeDefault
Per API keyAll requests made with one key100 requests per hour (configurable per key)
Per IP (backup)All requests from one address200 requests per 15 minutes

In practice the per-key limit is the one to design around. Since generation is asynchronous, one video consumes a handful of requests (one submit plus a few status polls) — so 100 requests/hour comfortably supports dozens of videos per hour if you poll politely. Poll at 5–10 second intervals rather than in a tight loop, back off exponentially on 429s, and issue separate keys per service so one busy worker can't starve another.

From zero to first video in four steps

  1. Sign in and create an API key

    Sign in with Google and open the API dashboard. Create a key — it's active immediately. No credit card is required to sign up.
  2. Add credits sized to your workload

    Pick a plan on the pricing page: one-time packs (Basic $9.99/40 credits, Hero $37.50/160, Studio $79.99/350) for bursty usage, or monthly subscriptions ($9.99/45, $37.50/175, $79.99/375) for steady pipelines. Credits are valid at least 30 days from purchase (see Terms).
  3. Send your first POST /api/generate

    Copy the curl example above, swap in your key and prompt, and pick a model — veo3-lite is the cheapest way to smoke-test the integration at ~3 credits per video.
  4. Poll status and store the video

    Poll GET /api/status/:taskId until completed, then download the videoUrl and persist it on your side. Use GET /api/logs to audit usage and credits across your whole history.

Prefer to validate prompts by hand before wiring code? The web generator uses the same models and credits, so you can prototype a prompt in the browser and ship the exact string through the API.

Frequently asked questions

How do I get Veo 3.1 API access?

Sign in to VEO3 Gen with Google, open the API dashboard, and create a key — it starts with veo_ and works immediately. There is no Google Cloud project, service account, or IAM setup involved, and no credit card is required to sign up.

What is the Veo 3 Fast API price?

Veo 3.1 Fast costs 10 credits per 8-second video with audio at 720p or 1080p. Depending on which credit plan you buy (credits run $0.213–$0.250 each), that works out to roughly $2.13–$2.50 per video, or about $0.07–$0.10 per second. 4K Fast output costs 22 credits.

What are the Veo 3.1 API rate limits?

Each API key allows 100 requests per hour by default (configurable per key), with an additional per-IP backup limit of 200 requests per 15 minutes. Exceeding a limit returns HTTP 429 with errorType RATE_LIMIT_EXCEEDED — back off and retry after the window resets.

Is there a free Veo 3.1 API key?

Creating a key is free and requires no credit card, but video generations consume credits. Credit packs start at $9.99 for 40 credits — enough for about three Fast videos or up to 18 silent 720p Lite videos — and credits are valid at least 30 days from purchase (see Terms).

Which models are available through the API?

Three model ids: veo3-fast (10 credits per 8s video), veo3-quality (26 credits), and veo3-lite (3–5 credits, always Veo 3.1). Pass modelVersion: "3.1" on Fast and Quality to use the Veo 3.1 engine, which also unlocks 4K output and first-and-last-frame generation.

Does the Veo 3.1 API support image-to-video?

Yes. Include an image object (base64 bytes plus mimeType) in the POST /api/generate body to animate a still image — this works on all models. First-and-last-frame generation, where the video transitions between two supplied images, requires a Veo 3.1 model.
Ship video generation this week

Veo 3.1 API access without the cloud-console detour

One Bearer token, three REST endpoints, Fast videos from ~$0.55. No credit card required to get your key.

No credit card required — sign in with Google and start in seconds.