Models Hub
API ReferenceOmni

Omni Video Models Overview

A model-by-model guide to omni-fast and omni-fast-v2v — video generation, task polling, and content download.

Edit this page

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.

CapabilityEndpoint
Create taskPOST /v1/videos
Query taskGET /v1/videos/{task_id}
Download videoGET /v1/videos/{task_id}/content

Choosing a model

ModelUse caseKey inputsLimits
omni-fastText-to-video, first-frame image-to-video, first/last frame, multi-reference-image videoprompt, first_image_url, last_image_url, imagesimages up to 5, no reference video
omni-fast-v2vReference-video editing, extension, regenerationvideo, video_url, input_videoReference video up to 15MB

Common request

Every Omni video task uses a JSON request body — no multipart upload required. The base fields are:

FieldTypeDescription
modelstringRequired, pass omni-fast or omni-fast-v2v
promptstringRequired, the generation or edit prompt
secondsstringVideo duration, pass as a string, e.g. "8"
aspect_ratiostringAspect ratio, e.g. "16:9", "9:16"
resolutionstringResolution, 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.mp4

Status 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

PageContent
omni-fast video generationText-to-video, image-to-video, first/last frame, multi-reference images
omni-fast-v2v reference-video generationReference-video editing, extension, regeneration

On this page