omni-fast Video Generation
Use /v1/videos with omni-fast for text-to-video, image-to-video, first/last frame, and multi-reference-image video.
omni-fast is designed for fast video generation that does not need a reference video. It submits an async task with a JSON request body and supports text-to-video, first-frame image-to-video, first/last-frame video, and multi-reference-image video.
| Capability | Fields |
|---|---|
| Text-to-video | model, prompt, seconds, aspect_ratio, resolution |
| First-frame image-to-video | first_image_url |
| First/last-frame video | first_image_url, last_image_url |
| Multi-reference-image video | images |
Create a task
curl -X POST "$MODELSOK_BASE_URL/v1/videos" \
-H "Authorization: Bearer $MODELSOK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omni-fast",
"prompt": "Ocean waves gently rolling onto a sandy beach at golden hour, cinematic, warm sunlight",
"seconds": "8",
"aspect_ratio": "16:9",
"resolution": "720p"
}'The response returns a task ID:
{
"id": "video_abc123",
"task_id": "video_abc123",
"object": "video",
"model": "omni-fast",
"status": "queued",
"progress": 0,
"created_at": 1735689600,
"video_url": ""
}First-frame image-to-video
Pass first_image_url and the model uses that image as the first frame of the generated video. The image can be a public URL or a data:image/...;base64,... data URI.
curl -X POST "$MODELSOK_BASE_URL/v1/videos" \
-H "Authorization: Bearer $MODELSOK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omni-fast",
"prompt": "The scene comes alive with gentle wind and drifting clouds",
"first_image_url": "https://example.com/first-frame.jpg",
"seconds": "8",
"aspect_ratio": "16:9",
"resolution": "720p"
}'First/last-frame video
Pass both first_image_url and last_image_url to generate a video that transitions from the first frame to the last frame.
{
"model": "omni-fast",
"prompt": "Create a smooth transition from the first frame to the last frame.",
"first_image_url": "https://example.com/first-frame.jpg",
"last_image_url": "https://example.com/last-frame.jpg",
"seconds": "8",
"aspect_ratio": "16:9",
"resolution": "720p"
}Multi-reference-image video
Use images to pass multiple reference images, up to 5. Reference images can convey character, style, scene, or product appearance.
{
"model": "omni-fast",
"prompt": "Use the first image as the character reference and the second image as the visual style reference. Create a cozy cafe conversation scene.",
"images": [
"https://example.com/character.jpg",
"https://example.com/style.jpg"
],
"seconds": "8",
"aspect_ratio": "16:9",
"resolution": "720p"
}Query the result
curl "$MODELSOK_BASE_URL/v1/videos/video_abc123" \
-H "Authorization: Bearer $MODELSOK_API_KEY"When complete, read video_url, or download via /content:
curl -L "$MODELSOK_BASE_URL/v1/videos/video_abc123/content" \
-H "Authorization: Bearer $MODELSOK_API_KEY" \
-o omni-fast.mp4Field reference
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Always omni-fast |
prompt | string | Yes | Video prompt |
seconds | string | No | Video duration, pass as a string; 4 to 30 seconds recommended |
aspect_ratio | string | No | Aspect ratio, e.g. 16:9, 9:16 |
resolution | string | No | Resolution, e.g. 720p, 1080p, 2k, 4k |
first_image_url | string | No | First-frame image; public URL or Base64 data URI |
last_image_url | string | No | Last-frame image; used together with first_image_url |
images | string array | No | List of reference images, up to 5 |
Notes
omni-fastdoes not support thevideo,video_url, orinput_videoreference-video fields.- Image fields are passed as JSON — no multipart required.
- For reference-video editing or extension, use omni-fast-v2v reference-video generation.
- Poll
GET /v1/videos/{task_id}, then download the MP4 withGET /v1/videos/{task_id}/contentonce complete.