Endpoint
How It Works
Video generation is asynchronous. You submit a job and poll for the result:- POST to
/v1/videos/generations→ receive a jobid - GET
/v1/videos/generations/{id}→ poll untilstatus: "completed" - Download the video from the returned URL
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | ✅ | Video model ID |
prompt | string | ✅ | Text description of the video |
duration | integer | — | Duration in seconds (model-dependent) |
aspect_ratio | string | — | "16:9", "9:16", "1:1" |
image_url | string | — | Source image for image-to-video |
Example
Available Models
| Model | Provider | Max Duration | Notes |
|---|---|---|---|
sora-2 | OpenAI | 20s | Best coherence |
sora-turbo | OpenAI | 5s | Fast generation |
veo-3 | 10s | Native audio | |
veo-3.1 | 10s | Improved quality | |
luma-dream-machine | Luma AI | 5s | Image-to-video |
hailuo-video | MiniMax | 6s | Fast, cinematic |
kling-1.6 | Kuaishou | 10s | High fidelity |
runway-gen3 | Runway | 10s | Cinema-grade |