Generating a video
Video generation is asynchronous. You create a job, receive a job ID, and poll for completion.Status | Description |
---|---|
queued | Job is waiting in queue |
in_progress | Video is being generated |
completed | Generation successful, video available |
failed | Generation failed, check info.errors |
cancelled | Job was cancelled |
Parameters
Parameter | Type | Description | Default |
---|---|---|---|
prompt | string | Text description of the video to generate | Required |
model | string | Model identifier | Required |
width | integer | Video width in pixels | 1366 |
height | integer | Video height in pixels | 768 |
seconds | integer | Length of video (1-10) | 6 |
fps | integer | Frames per second | 15-60 |
steps | integer | Diffusion steps (higher = better quality, slower) | 10-50 |
guidance_scale | float | How closely to follow prompt | 6.0-10.0 |
seed | integer | Random seed for reproducibility | any |
output_format | string | Video format (MP4, GIF) | MP4 |
output_quality | integer | Bitrate/quality (lower = higher quality) | 20 |
negative_prompt | string | What to avoid in generation | - |
frame_images | Array | Array of images to guide video generation, like keyframes. If size 1, starting frame, if size 2, starting and ending frame, if more than 2 then frame must be specified |
prompt
is required for all models except Klingwidth
andheight
will rely on defaults unless otherwise specified - options for dimensions vary by model
Reference Images
Guide your video’s visual style with reference images:Keyframe Control
Control specific frames in your video for precise transitions. Single Keyframe: Set a single(for the example below this is the first frame) frame to a specific image. Depending on the model you can also specify to set multiple keyframes please refer to the models table for details.Guidance Scale
Controls how closely the model follows your prompt:- 6.0-7.0: More creative, less literal
- 7.0-9.0: Sweet spot for most use cases
- 9.0-10.0: Strict adherence to prompt
- >12.0: Avoid - may cause artifacts
Quality Control with Steps
Trade off between generation time and quality:- 10 steps: Quick testing, lower quality
- 20 steps: Standard quality, good balance
- 30-40 steps: Production quality, slower
- >50 steps: Diminishing returns
Supported Model Details
See our supported video models and relevant parameters below.Organization | Name | Model API String | Duration | Dimensions | FPS | Keyframes | Prompt |
---|---|---|---|---|---|---|---|
MiniMax | MiniMax 01 Director | minimax/video-01-director | 5s | 1366×768 | 25 | First | 2-3000 char |
MiniMax | MiniMax Hailuo 02 | minimax/hailuo-02 | 10s | 1366×768, 1920×1080 | 25 | First | 2-3000 char |
Veo 2.0 | google/veo-2.0 | 5s | 1280×720, 720×1280 | 24 | First, Last | 2-3000 char | |
Veo 3.0 | google/veo-3.0 | 8s | 1280×720, 720×1280, 1920×1080, 1080×1920 | 24 | First | 2-3000 char | |
Veo 3.0 + Audio | google/veo-3.0-audio | 8s | 1280×720, 720×1280, 1920×1080, 1080×1920 | 24 | First | 2-3000 char | |
Veo 3.0 Fast | google/veo-3.0-fast | 8s | 1280×720, 720×1280, 1920×1080, 1080×1920 | 24 | First | 2-3000 char | |
Veo 3.0 Fast + Audio | google/veo-3.0-fast-audio | 8s | 1280×720, 720×1280, 1920×1080, 1080×1920 | 24 | First | 2-3000 char | |
ByteDance | Seedance 1.0 Lite | ByteDance/Seedance-1.0-lite | 5s | 864×480, 736×544, 640×640, 960×416, 416×960, 1248×704, 1120×832, 960×960, 1504×640, 640×1504 | 24 | First, Last | 2-3000 char |
ByteDance | Seedance 1.0 Pro | ByteDance/Seedance-1.0-pro | 5s | 864×480, 736×544, 640×640, 960×416, 416×960, 1248×704, 1120×832, 960×960, 1504×640, 640×1504 | 24 | First, Last | 2-3000 char |
PixVerse | PixVerse v5 | pixverse/pixverse-v5 | 5s | 640×360, 480×360, 360×360, 270×360, 360×640, 960×540, 720×540, 540×540, 405×540, 540×960, 1280×720, | |||
960×720, 720×720, 540×720, 720×1280, 1920×1080, 1440×1080, 1080×1080, 810×1080, 1080×1920 | 16, 24 | First, Last | 2-2048 char | ||||
Kuaishou | Kling 2.1 Master | kwaivgI/kling-2.1-master | 5s | 1920×1080, 1080×1080, 1080×1920 | 24 | First | 2-2500 char |
Kuaishou | Kling 2.1 Standard | kwaivgI/kling-2.1-standard | 5s | 1920×1080, 1080×1080, 1080×1920 | 24 | First | ❌ |
Kuaishou | Kling 2.1 Pro | kwaivgI/kling-2.1-pro | 5s | 1920×1080, 1080×1080, 1080×1920 | 24 | First, Last | ❌ |
Kuaishou | Kling 2.0 Master | kwaivgI/kling-2.0-master | 5s | 1280×720, 720×720, 720×1280 | 24 | First | 2-2500 char |
Kuaishou | Kling 1.6 Standard | kwaivgI/kling-1.6-standard | 5s | 1920×1080, 1080×1080, 1080×1920 | 30, 24 | First | 2-2500 char |
Kuaishou | Kling 1.6 Pro | kwaivgI/kling-1.6-pro | 5s | 1920×1080, 1080×1080, 1080×1920 | 24 | First | ❌ |
Wan-AI | Wan 2.2 I2V | Wan-AI/Wan2.2-I2V-A14B | - | - | - | - | - |
Wan-AI | Wan 2.2 T2V | Wan-AI/Wan2.2-T2V-A14B | - | - | - | - | - |
Vidu | Vidu 2.0 | vidu/vidu-2.0 | 8s | 1920×1080, 1080×1080, 1080×1920, 1280×720, 720×720, 720×1280, 640×360, 360×360, 360×640 | 24 | First, Last | 2-3000 char |
Vidu | Vidu Q1 | vidu/vidu-q1 | 5s | 1920×1080, 1080×1080, 1080×1920 | 24 | First, Last | 2-3000 char |
OpenAI | Sora 2 | openai/sora-2 | 8s | 1280×720, 720×1280 | - | First | 1-4000 char |
OpenAI | Sora 2 Pro | openai/sora-2-pro | 8s | 1280×720, 720×1280 | - | First | 1-4000 char |
Troubleshooting
Video doesn’t match prompt well:- Increase
guidance_scale
to 8-10 - Make prompt more descriptive and specific
- Add
negative_prompt
to exclude unwanted elements
- Reduce
guidance_scale
(keep below 12) - Increase
steps
to 30-40 - Adjust
fps
if motion looks unnatural
- Reduce
steps
(try 10-20 for testing) - Use shorter
seconds
during development - Lower
fps
for slower-paced scenes
- Download videos immediately after completion
- Don’t rely on URLs for long-term storage