Omni Video Models Overview
A model-by-model guide to omni-fast and omni-fast-v2v — video generation, task polling, and content download.
The Omni video models all use the OpenAI-compatible asynchronous /v1/videos task API. After submitting a task, keep the returned id or task_id and poll the task-query endpoint for status. Once a task completes you can read video_url, or fetch the MP4 through the content-download endpoint.
| Capability | Endpoint |
|---|---|
| Create task | POST /v1/videos |
| Query task | GET /v1/videos/{task_id} |
| Download video | GET /v1/videos/{task_id}/content |
Choosing a model
| Model | Use case | Key inputs | Limits |
|---|---|---|---|
omni-fast | Text-to-video, first-frame image-to-video, first/last frame, multi-reference-image video | prompt, first_image_url, last_image_url, images | images up to 5, no reference video |
omni-fast-v2v | Reference-video editing, extension, regeneration | video, video_url, input_video | Reference video up to 15MB |
Common request
Every Omni video task uses a JSON request body — no multipart upload required. The base fields are:
| Field | Type | Description |
|---|---|---|
model | string | Required, pass omni-fast or omni-fast-v2v |
prompt | string | Required, the generation or edit prompt |
seconds | string | Video duration, pass as a string, e.g. "8" |
aspect_ratio | string | Aspect ratio, e.g. "16:9", "9:16" |
resolution | string | Resolution, e.g. "720p", "1080p", "2k", "4k" |
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",
"seconds": "8",
"aspect_ratio": "16:9",
"resolution": "720p"
}'A successful submission returns an async task object:
{
"id": "video_abc123",
"task_id": "video_abc123",
"object": "video",
"model": "omni-fast",
"status": "queued",
"progress": 0,
"created_at": 1735689600,
"video_url": ""
}Query and download
curl "$MODELSOK_BASE_URL/v1/videos/video_abc123" \
-H "Authorization: Bearer $MODELSOK_API_KEY"Once complete, the response usually includes video_url:
{
"id": "video_abc123",
"task_id": "video_abc123",
"object": "video",
"model": "omni-fast",
"status": "completed",
"progress": 100,
"created_at": 1735689600,
"completed_at": 1735689900,
"video_url": "https://example.com/results/omni-fast.mp4"
}To download the MP4 directly, use the content endpoint:
curl -L "$MODELSOK_BASE_URL/v1/videos/video_abc123/content" \
-H "Authorization: Bearer $MODELSOK_API_KEY" \
-o result.mp4Status and errors
Common status values include queued, in_progress, completed, and failed. When a task fails, read error.message and error.code to diagnose the cause:
{
"id": "video_abc123",
"task_id": "video_abc123",
"object": "video",
"model": "omni-fast",
"status": "failed",
"progress": 100,
"error": {
"message": "upstream task failed",
"code": "task_failed"
}
}Poll task status at a fixed interval. After a task succeeds, download or re-host video_url promptly to avoid the temporary link expiring.
Sub-pages
| Page | Content |
|---|---|
| omni-fast video generation | Text-to-video, image-to-video, first/last frame, multi-reference images |
| omni-fast-v2v reference-video generation | Reference-video editing, extension, regeneration |