Video Generation
Endpoint
POST /v1/videos(asynchronous: create → poll → download) · Token groupmedia / media-gen
Available Models
| Model name | Description | Available durations | First-frame reference |
|---|---|---|---|
gemini-veo31 | Google Veo 3.1, high visual quality, supports 1080p | 4s · 6s · 8s | ≤2 |
runway-gen4-turbo | Runway Gen-4 Turbo (image-to-video only) | 5s · 10s | 1 required |
grok-video | Grok Imagine (text/image-to-video) | 6s · 10s · 15s | ≤6 |
firefly-ray | Adobe Firefly Ray | 5s · 10s | ≤2 |
firefly-video | Adobe Firefly video, supports 1080p | 5s | ≤2 |
Videos are billed per second
Price = per-second unit price × duration; specify the duration with the seconds parameter when creating the task. Failed tasks are automatically refunded. See each model's live unit price in the Generation Playground.
Easiest: use the Generation Playground
- Open the Generation Playground and switch to the "🎬 Video" tab
- Enter your token (
media / media-gengroup) - Pick a model → write a prompt → choose the aspect ratio and duration → click "Generate"
- Once the video is ready, you can download the mp4
Videos are slow
Video generation is much slower than images — anywhere from tens of seconds to a few minutes is normal. The playground shows a progress percentage; be patient and don't click repeatedly.
Image-to-video (use an image as the first frame)
Upload an image to use as the first frame of the video, and the model will start from that image and generate a video that comes to life:
- Playground: click "Reference image" to upload (required for
runway-gen4-turbo) - API: create the task with multipart format, putting the image in the
input_referencefile field — see Calling via the API
Supported aspect ratios
Commonly 16:9 · 9:16 · 1:1; some models also support 4:3, 3:4, 21:9, 2:3, 3:2 — go by the options shown for that model in the Generation Playground. In the API, express it via size (e.g. "1280x720" = 16:9; "1920x1080" = 1080p, supported by some models only).
How to write prompts
- Describe the scene + action + camera. Example: "Waves crashing against rocks, slow motion, cinematic"
- If you want camera movement (push in, orbit, aerial shot…), just write it out
Connecting it to your program
For the full API format plus code examples, see Calling via the API. If you run into problems, check Common Errors.
