Skip to main content
POST
https://octopusx.ai
/
v1
/
videos
curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer YOUR_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"
  }'
{
  "id": "video_abc123",
  "task_id": "video_abc123",
  "object": "video",
  "model": "omni-fast",
  "status": "queued",
  "progress": 0,
  "created_at": 1735689600,
  "video_url": ""
}

omni-fast

omni-fast submits asynchronous video tasks with a JSON request body, suitable for text-to-video, first-frame image-to-video, first/last frame, and multi-reference image video.
  • Asynchronous processing mode; returns id or task_id after submission.
  • Text-to-video only requires model, prompt, seconds, and the aspect ratio field.
  • First-frame image-to-video uses first_image_url.
  • First/last frame uses first_image_url and last_image_url.
  • Multi-reference images use images, up to 5; for reference video use omni-fast-v2v.

Method and Path

POST /v1/videos

Request Examples

curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer YOUR_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"
  }'

Response Examples

{
  "id": "video_abc123",
  "task_id": "video_abc123",
  "object": "video",
  "model": "omni-fast",
  "status": "queued",
  "progress": 0,
  "created_at": 1735689600,
  "video_url": ""
}

Authentication

Use Bearer Token authentication:
Authorization: Bearer YOUR_API_KEY
All request examples must include the Authorization header. JSON requests must also include:
Content-Type: application/json

Body

model
string
required
Fixed value omni-fast. Example: "omni-fast".
prompt
string
required
Video prompt. Example: "Ocean waves gently rolling onto a sandy beach at golden hour".
seconds
string
Video duration. Recommended as a string; recommended range is 4 to 30 seconds. Example: "8".
aspect_ratio
string
Aspect ratio. Example values: "16:9", "9:16".
resolution
string
Resolution field. Example values: "720p", "1080p", "2k", "4k".
first_image_url
string
First frame image. Passing it enters first-frame image-to-video mode. Supports public URL or data:image/...;base64,.... Example: "https://example.com/first-frame.jpg".
last_image_url
string
Last frame image. Must be used together with first_image_url. Example: "https://example.com/last-frame.jpg".
images
array<string>
Multi-reference image list, up to 5. Supports public URL or data:image/...;base64,.... Example: ["https://example.com/character.jpg"].

Response

id
string
Video task ID. Can be used later for GET /v1/videos/{task_id} queries.
task_id
string
Compatibility field for the video task ID. Usually the same as id.
object
string
Object type, usually video.
model
string
The model used for this task, for example omni-fast.
status
string
Task status. Common values are queued, in_progress, completed, failed.
progress
number
Task progress, commonly in the range 0 to 100.
video_url
string
The video URL after completion.
error
object
The error object returned when a task fails or an API error occurs, usually containing message and code.

Use Cases

Vertical Text-to-Video

{
  "model": "omni-fast",
  "prompt": "A woman walking through a neon-lit Tokyo street at night, rain reflections, cinematic",
  "seconds": "8",
  "aspect_ratio": "9:16",
  "resolution": "720p"
}

First-Frame Image-to-Video

{
  "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"
}

Multi-Reference Image Video

{
  "model": "omni-fast",
  "prompt": "Use the first image as the character reference and the second image as the visual style reference.",
  "images": [
    "https://example.com/character.jpg",
    "https://example.com/style.jpg"
  ],
  "seconds": "8",
  "aspect_ratio": "16:9",
  "resolution": "720p"
}

Notes

  • omni-fast does not support the video, video_url, input_video reference-video fields.
  • images supports up to 5 images.
  • Image fields use JSON; multipart is not required.
  • It is recommended to poll GET /v1/videos/{task_id}, and after completion retrieve the generated MP4 from the returned video_url.
  • Reference-video editing or extension must use omni-fast-v2v.