Google Veo 2 text-to-video and image-to-video generation.
Authenticate with the X-API-Key request header.
resolution — pass resolution in your request. Credit cost per second:| resolution | credits / sec | vs base |
|---|---|---|
| 480p | 46 | 0.7× |
| 720p | 65 | 1× |
| 1080p | 104 | 1.6× |
| 4k | 162 | 2.5× |
List price. Volume / bulk customers get a discounted rate — contact us for account pricing.
| Name | Type | Required | Description | Default / options |
|---|---|---|---|---|
| prompt | string | required | Text prompt describing the desired output. | — |
| image_url | string | optional | Optional start image for image-to-video. | — |
| duration | number | optional | Clip length in seconds (1-8). | default: 8 |
| aspect_ratio | string | optional | Output aspect ratio. | default: 16:9 |
| negative_prompt | string | optional | Things to avoid in the output. | — |
| seed | number | optional | RNG seed (0-4294967295) to bias toward deterministic video. | — |
| enhance_prompt | boolean | optional | Let Veo LLM-rewrite the prompt. | — |
| person_generation | string | optional | Allow people in output: dont_allow | allow_adult | allow_all. | default: allow_all |
curl -X POST https://brahmand-api.bulletshorts.co/v1/video/veo-2 \
-H "X-API-Key: $TRINETRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"Waves crashing on a rocky shore at golden hour","duration":8}'{
"prompt": "Waves crashing on a rocky shore at golden hour",
"duration": 8
}Submitting a job returns 202 Accepted with a job id. Poll GET /v1/jobs/{id} until the job reaches a terminal state, or register a webhook to be notified.
{
"job_id": "job_veo2_a1b2c3",
"status": "queued"
}{
"id": "job_veo2_a1b2c3",
"model": "veo-2",
"status": "succeeded",
"output": {
"outputs": [
{
"url": "https://cdn.trinetra.ai/out/veo-2/a1b2c3.mp4",
"type": "video"
}
]
},
"credits_charged": 10
}Webhook: set a webhook_url on your API key to receive a POST with the terminal job document instead of polling.