Create video

Creates a new asynchronous video generation job using an OpenAI-compatible request format.

post/v1/videos

Request body

modelstring

The video generation model to use. Supports current Veo and Sora video models, including provider-prefixed variants like openai/sora-2 or google-vertex/veo-3.1-generate-preview.

promptstring required

Text prompt describing the video to generate.

sizestring

Output resolution in OpenAI widthxheight format. Supported values depend on the selected model and provider mapping.

callback_urlstring uri

LLMGateway extension. When set, a signed webhook is delivered after the job reaches a terminal state.

callback_secretstring

LLMGateway extension. Shared secret used to sign webhook deliveries with HMAC-SHA256.

secondsinteger required

Output duration in seconds. Supported values depend on the selected model and provider mapping.

audioboolean

Whether the generated video should include audio. Support depends on the selected model and provider mapping.

ninteger

Example request

{
  "model": "veo-3.1-generate-preview",
  "prompt": "A cinematic drone shot flying through a neon-lit futuristic city at night",
  "size": "1280x720",
  "callback_url": "https://example.com/webhooks/video",
  "callback_secret": "whsec_test_secret",
  "seconds": 8,
  "audio": true,
  "reference_images": [
    {
      "image_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
    }
  ],
  "reference_videos": [
    {
      "video_url": "https://example.com/reference-motion.mp4"
    }
  ],
  "reference_audios": [
    {
      "audio_url": "https://example.com/reference-track.mp3"
    }
  ]
}

Response

Video job created.

idstring required
object'video' required
modelstring required
status'queued' | 'in_progress' | 'completed' | 'failed' | 'canceled' | 'expired' required
progressinteger nullable required
created_atnumber required
completed_atnumber nullable required
expires_atnumber nullable required

Changes

No recorded changes to this endpoint across all 1 revision of this API.