Video API
Generate videos with Veo 3.1, Kling 3, Wan 2.6, and more
Generate videos from text prompts or images using 6 models across 2 providers.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /api/v1/video/generate | Text-to-video or image-to-video |
GET | /api/v1/video/status | Poll async video jobs |
MiniMax Hailuo
MiniMax Hailuo video generation is available via the existing Media API. The Video API documented here covers additional providers (Google Veo, Kling, Wan).
Available Models
| Model | ID | Provider | Type | Notes |
|---|---|---|---|---|
| Veo 3.1 | veo-3.1 | Async | 720p/1080p/4K, native audio, 4-8s | |
| Veo 3.1 Fast | veo-3.1-fast | Async | Faster, slightly lower quality | |
| Kling 3 Pro | kling-3-pro | fal.ai | Sync | High quality, text-to-video |
| Kling 3 Pro (i2v) | kling-3-pro-i2v | fal.ai | Sync | Image-to-video |
| Wan 2.6 | wan-2.6 | fal.ai | Sync | Text-to-video |
| Wan 2.6 (i2v) | wan-2.6-i2v | fal.ai | Sync | Image-to-video |
Async models (Google Veo) return an operation_id immediately — poll /api/v1/video/status for results.
Sync models (fal.ai) block until the video is ready (can take 1-3 minutes).
Auto Image-to-Video
If you pass image_url with kling-3-pro or wan-2.6, the API automatically switches to the image-to-video variant. No need to specify the -i2v suffix manually.
Generate Video
POST /api/v1/video/generate
Request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Video description |
model | string | No | Model ID (default: veo-3.1) |
image_url | string | No | Source image for image-to-video |
duration | string | No | Duration: "4", "6", "8" seconds (Google Veo) |
aspect_ratio | string | No | "16:9" or "9:16" |
resolution | string | No | "720p", "1080p", "4k" (Google Veo) |
Response (Async — Google Veo)
Response (Sync — fal.ai)
Poll Video Status
GET /api/v1/video/status?provider=google&operation_id=operations/abc123
For async models (Google Veo), poll this endpoint until done: true.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | "google" |
operation_id | string | Yes | Operation ID from generate response |
Response (Processing)
Response (Complete)
Polling Interval
Poll every 10 seconds. Video generation typically takes 1-3 minutes depending on model, duration, and resolution.