Models Hub
API ReferenceOmni

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.

Edit this page

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.

CapabilityFields
Text-to-videomodel, prompt, seconds, aspect_ratio, resolution
First-frame image-to-videofirst_image_url
First/last-frame videofirst_image_url, last_image_url
Multi-reference-image videoimages

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.mp4

Field reference

FieldTypeRequiredDescription
modelstringYesAlways omni-fast
promptstringYesVideo prompt
secondsstringNoVideo duration, pass as a string; 4 to 30 seconds recommended
aspect_ratiostringNoAspect ratio, e.g. 16:9, 9:16
resolutionstringNoResolution, e.g. 720p, 1080p, 2k, 4k
first_image_urlstringNoFirst-frame image; public URL or Base64 data URI
last_image_urlstringNoLast-frame image; used together with first_image_url
imagesstring arrayNoList of reference images, up to 5

Notes

  • omni-fast does not support the video, video_url, or input_video reference-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 with GET /v1/videos/{task_id}/content once complete.

On this page