OpenAPI 3.1.0MITraw.githubusercontent.com2026-08-20977671.3 MB

ac1b6484d9e2

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.

creativityinteger

Creativity level for video upscaling models only. This parameter is not supported by video generation models.

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.

upscale_factornumber

Upscale factor for video upscaling models only. This parameter is not supported by video generation models.

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"
}