# Veo 3.1 Lite (1080p) API — pricing & specs

Veo 3.1 Lite (1080p) is a Google DeepMind model that generates video clips from text prompts. On KeepRouter, Veo 3.1 Lite (1080p) costs $0.0800 per second of video, billed pay-as-you-go with no monthly fee; the cost follows the clip's `duration`. Call it through a compatible KeepRouter endpoint supported by its active route, with the model id `veo-3.1-lite-1080p`.

| Spec | Value |
|---|---|
| Maker | Google DeepMind |
| Modality | Text-to-video |
| Clip length | 4, 6, 8 seconds only |
| Output price | $0.0800 per second of video |
| Capabilities | Text-to-video, Asynchronous task: poll for the finished clip |
| Endpoint | POST /v1/video/generations, then GET /v1/videos/{id} |
| Model id | `veo-3.1-lite-1080p` |

## Call it via video generations endpoint

Submit the render to POST /v1/video/generations, then poll GET /v1/videos/{id} until status is completed and read url.

### cURL

```bash
# 1. Submit the render and keep the task id
TASK=$(curl -s https://keeprouter.com/v1/video/generations \
  -H "Authorization: Bearer $KEEPROUTER_KEY" -H "Content-Type: application/json" \
  -d '{"model":"veo-3.1-lite-1080p","prompt":"a paper plane gliding over a sunlit desk","duration":4}' \
  | python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])')
# 2. Poll until the clip is ready
curl -s https://keeprouter.com/v1/videos/$TASK -H "Authorization: Bearer $KEEPROUTER_KEY"
```

### Python

```python
import os, time, requests
headers = {"Authorization": "Bearer " + os.environ["KEEPROUTER_KEY"]}
task = requests.post("https://keeprouter.com/v1/video/generations", headers=headers, json={
    "model": "veo-3.1-lite-1080p", "prompt": "a paper plane gliding over a sunlit desk", "duration": 4,
}).json()
while True:
    state = requests.get(f"https://keeprouter.com/v1/videos/{task['id']}", headers=headers).json()
    if state["status"] in ("completed", "failed", "canceled"):
        break
    time.sleep(5)
print(state["url"] or state["error"])
```

### JavaScript

```js
const headers = { Authorization: "Bearer " + process.env.KEEPROUTER_KEY, "Content-Type": "application/json" };
const task = await (await fetch("https://keeprouter.com/v1/video/generations", {
  method: "POST", headers,
  body: JSON.stringify({ model: "veo-3.1-lite-1080p", prompt: "a paper plane gliding over a sunlit desk", duration: 4 }),
})).json();
let state;
do {
  await new Promise((r) => setTimeout(r, 5000));
  state = await (await fetch("https://keeprouter.com/v1/videos/" + task.id, { headers })).json();
} while (state.status !== "completed" && state.status !== "failed" && state.status !== "canceled");
console.log(state.url ?? state.error);
```

## Estimate API costs

At the current KeepRouter customer price, an example workload of 6 seconds of generated video per request costs approximately $0.4800 per request. At 100 requests per day, that is $1440.00 over 30 days. This is a usage estimate, excluding processing fees, taxes, retries and application infrastructure. Actual usage, cache hits and supported generation durations need their own checks.

[Adjust quantities in the API cost calculator](/tools/api-cost-calculator?model=veo-3.1-lite-1080p).

## How to evaluate Veo 3.1 Lite (1080p)

Veo 3.1 Lite (1080p) is listed on KeepRouter as text-to-video under the exact id `veo-3.1-lite-1080p`. Use POST /v1/video/generations, then GET /v1/videos/{id} for the listed route; a maker's upstream features do not automatically apply to this gateway endpoint. No context limit is asserted here because the exact upstream limit has not been verified for this catalog entry.

**First workload:** Render one short representative clip, then inspect motion, consistency and the billed duration. Accepted durations on this route: 4, 6, 8 seconds.

**Before production:** Video generation is asynchronous and billed by generated seconds. Poll the task result; keep failed or refused jobs separate in your cost accounting.

## Public model usage evidence

No public, exact-variant usage figure has been verified for this KeepRouter model id. Missing data is not zero usage; family-level or maker-wide traffic is not presented as this model's traffic.

## Published examples and cases

No exact-model customer case has been verified for this entry. The workload above is an evaluation recipe, not a claim of a public deployment.

## Source and verification boundary

[Official Veo 3.1 Lite (1080p) documentation](https://deepmind.google/models/veo/). KeepRouter's live catalog is authoritative for the customer price and enabled endpoint shown here; the maker remains authoritative for upstream model capabilities and limits.

## Pricing and implementation guides

- [Calculate your API workload cost](https://keeprouter.com/tools/api-cost-calculator)
- [KeepRouter API keys: move from free to paid models](https://keeprouter.com/blog/keeprouter-api-key-free-to-paid)

## Related models

- [Gemini 3 Flash (Preview)](https://keeprouter.com/models/gemini-3-flash-preview.md) by Google DeepMind — $1.00 per 1M input tokens and $3.00 per 1M output tokens
- [Veo 3.1 Lite](https://keeprouter.com/models/veo-3.1-lite.md) by Google DeepMind — $0.0500 per second of video
- [Gemini 3.1 Flash-Lite](https://keeprouter.com/models/gemini-3.1-flash-lite.md) by Google DeepMind — $0.5000 per 1M input tokens and $1.50 per 1M output tokens
- [Veo 3.1 Fast (4K)](https://keeprouter.com/models/veo-3.1-fast-4k.md) by Google DeepMind — $0.3000 per second of video
- [Gemini 3.1 Flash TTS (Preview)](https://keeprouter.com/models/gemini-3.1-flash-tts-preview.md) by Google DeepMind — $1.00 per 1M input tokens and $0.000500 per second of audio
- [Veo 3.1 Fast (1080p)](https://keeprouter.com/models/veo-3.1-fast-1080p.md) by Google DeepMind — $0.1200 per second of video

## More

- [All models & pricing](https://keeprouter.com/models.md)
- [Quickstart](https://keeprouter.com/docs/quickstart.md)
- [Get an API key](https://keeprouter.com/login?returnTo=%2Fconsole%2Fkeys%3Fmodel%3Dveo-3.1-lite-1080p)

_Catalog facts and prices last changed 2026-10-03._
_Page content reviewed 2026-09-28._
