/v1/tasks. Video generation typically takes from 10 seconds up to several minutes; after submission you receive a task_id, and you fetch the result via polling or a webhook callback.
Request Endpoint
Supported Models
Veo Series
Google Veo 3.1 — official direct (Fast / Quality) + reverse-engineered (Lite / Quality)
Seedance Series
ByteDance Seedance — 1.0 Pro / 1.5 Pro / 2.0 (with Face / Fast variants)
Kling Series
Kuaishou Kling — v2.6 / v3 / v3-Omni / Video O1
Hailuo Series
MiniMax Hailuo — 2.3 / 2.3 Fast, 15 camera-movement directives
Vidu Series
Shengshu Vidu Q3 — Pro / Mix / Q3 / Turbo
Wan Series
Alibaba Tongyi Wanxiang — 2.7 VideoEdit (video editing / style transfer)
Skyreels
Kunlun Wanwei SkyReels V4 — Fast / Standard, multimodal reference
HappyHorse
Alibaba Cloud Bailian HappyHorse — single model auto-routes T2V/I2V/R2V/EDIT
Grok Imagine Video
xAI Grok Imagine 1.0 Video — 6-30 seconds, 5 aspect ratios
Common Parameters (shared across the series)
Each model’s actual supported range differs — see the individual vendor docs.
string
required
Model ID (group_name); pick from the vendor docs above
string
default:"generate"
Operation type; valid values depend on the model. Common values:
generate— text-to-video (T2V)image2video— image-to-video (I2V)first_last_frame— first/last framereference/reference_video— reference-to-video (R2V)edit/video_edit/style_transfer— video editingvideo_continuation/extend— video continuation
string
Video description text. Required for T2V; optional as guidance for other modes
integer
Video duration in seconds; range depends on the model
string
Frame aspect ratio, e.g.
16:9 / 9:16 / 1:1string
Output resolution, e.g.
720p / 1080p / 4Kstring[]
Array of reference image URLs (used for I2V / R2V)
string
First-frame image URL (used for first/last-frame mode)
string
Last-frame image URL; must be paired with
first_frame_imagestring[]
Array of reference video URLs — a single element is sufficient (used for video continuation / R2V video reference / video editing)
string[]
Array of reference audio URLs — a single element is sufficient (used for driving audio / custom voiceover)
string
Webhook callback URL, invoked when the task reaches a terminal state. See Task System
Submit Response Example
task_id, poll GET /v1/tasks/{task_id} until status = completed, then read the video URL.
Mode Quick Reference
Not every model supports every mode — check each vendor’s doc for the actual supported
action list and field range. The backend validates whether request fields fall within the vendor’s declared capabilities and returns an error if they do not.Field Naming Conventions
- Media references are always plural — always
image_urls/video_urls/audio_urls; even a single video uses a one-element array["one.mp4"] - Frame ratio is unified as
aspect_ratio— vendor-internalsize/ratioetc. are implementation details and not exposed - Resolution is unified as
resolution— vendor-internalmode/qualityetc. are implementation details - First/last-frame fields carry the
_imagesuffix —first_frame_image/last_frame_image(emphasizing the image resource)
Related Docs
- Task System Reference — task state machine / polling cadence / webhook
- Request and Response Format — common error codes / headers / rate limits
- Authentication — API key application and usage
- Model List — full model list query endpoint