Use case
Developers comparing Veo API options need to know which public aliases are exposed, whether the public contract covers their use case, and what per-second pricing rules apply.
Standard model names and pricing
Source: GET https://cn.crazyrouter.com/api/pricing, snapshot 2026-06-06.
Available models and pricing
The current Pricing API returns veo-3.1-fast and veo-3.1 with public_endpoint_types set to unified-video and billing mode per_second.
- veo-3.1-fast: $0.10/second; public_endpoint_types = unified-video.
- veo-3.1: $0.20/second; public_endpoint_types = unified-video.
Current public contract
The public Veo guide currently covers text-to-video and single-image-to-video. For reference assets, start/end frames, audio-enabled rows, or 4K output, check the current Veo docs and pricing rules before adding them to a production workflow.
- Creation: POST https://cn.crazyrouter.com/v1/video/create.
- Query: GET https://cn.crazyrouter.com/v1/video/query?id={task_id}.
- Recommended first test: one text prompt, 16:9, 720P, short duration.
Fast versus quality decision
Use veo-3.1-fast when time to first result matters. Use veo-3.1 when the output quality is more important than generation cost or latency.
cn.crazyrouter.com test evidence
Only checks that returned 200 are shown here. API requests use https://cn.crazyrouter.com; account, billing, and console actions use https://crazyrouter.com.
| Check | Request | Status | Result |
|---|---|---|---|
| Pricing API reachable | GET https://cn.crazyrouter.com/api/pricing | 200 | Returned the public model pricing catalog used by these pages. |
| Target models visible to API key | GET https://cn.crazyrouter.com/v1/models | 200 | Authenticated check confirmed gpt-image-2, veo-3.1-fast, veo-3.1, nano-banana-2, nano-banana-pro, nano-banana, grok-4-image, qwen-image-plus, qwen-image-max, and qwen-image-2.0 are visible to the local Crazyrouter API key. |
Implementation examples
curl -X POST https://cn.crazyrouter.com/v1/video/create \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "veo-3.1",
"prompt": "A cinematic shot of a spaceship landing on Mars, dust clouds rising",
"aspect_ratio": "16:9",
"size": "720P"
}'import requests
response = requests.post(
"https://cn.crazyrouter.com/v1/video/create",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
json={
"model": "veo-3.1",
"prompt": "A cinematic shot of a spaceship landing on Mars, dust clouds rising",
"aspect_ratio": "16:9",
"size": "720P",
},
timeout=240,
)
print(response.json())FAQ
Where do these model prices come from?
Prices are based on GET https://cn.crazyrouter.com/api/pricing and the current Crazyrouter pricing catalog. For final billing, confirm usage in the Crazyrouter console and consumption logs.
Can I test this without an API key?
Start by checking the public pricing endpoint. To list models or make model calls, create an API key at https://crazyrouter.com and send it as Bearer authorization.
Is Veo billed per request or per generated second?
The current Pricing API marks both veo-3.1-fast and veo-3.1 as per_second models. The cost calculator on this site uses seconds as the default input for these models.