v126

latestOpenAPI 3.1.0MITraw.githubusercontent.com2026-08-04957391.2 MB
Video Generation

Submit a video generation request

Submits a video generation request and returns a polling URL to check status

post/videos

Request body

aspect_ratio'16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '21:9' | '9:21'

Aspect ratio of the generated video

callback_urlstring uri

URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS.

durationinteger

Duration of the generated video in seconds

generate_audioboolean

Whether to generate audio alongside the video. Defaults to the endpoint's generate_audio capability flag, false if not set.

modelstring required
promptstring

Text prompt describing the video to generate. Optional for models that support generating a video from image input alone; required by all other models.

resolution'480p' | '720p' | '768p' | '1080p' | '1K' | '2K' | '4K'

Resolution of the generated video

seedinteger

If specified, the generation will sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed for all providers.

sizestring

Exact pixel dimensions of the generated video in "WIDTHxHEIGHT" format (e.g. "1280x720"). Interchangeable with resolution + aspect_ratio.

Example request

{
  "aspect_ratio": "16:9",
  "duration": 8,
  "model": "google/veo-3.1",
  "prompt": "A serene mountain landscape at sunset",
  "resolution": "720p"
}

Response

Video generation request accepted

errorstring
generation_idstring

The generation ID associated with this video generation job. Available once the job has been processed.

idstring required
polling_urlstring required
status'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled' | 'expired' required
unsigned_urlsstring[]

Example response

{
  "generation_id": "gen-xyz789",
  "id": "job-abc123",
  "polling_url": "/api/v1/videos/job-abc123",
  "status": "pending"
}