Skip to content

Omni reference video generation

Call for reference-video editing, extension, or regeneration.

http
POST /v1/videos

Available models

Headers

NameTypeRequiredDescription
stringYesRequest authentication. Use a Bearer Token, for example: .
stringYesRequest content type. Must be set to .

Request body

NameTypeRequiredDescription
stringYesModel name. See Available models above.
stringYesVideo edit or generation prompt. Specify which motion, camera, or subject to keep, and clearly ask for a new video output. Example: .
stringNoReference video. Supports a public MP4 URL or . Use one of , , or . Example: .
stringNoCompatibility alias for . Use when is not set. Example: .
stringNoCompatibility alias for . Use when and are not set. Example: .
stringNoOutput duration. Prefer a string; recommended range is to seconds. Example: .
stringNoAspect ratio. Example values: , .
stringNoResolution. Example values: , , , .
stringNoCompatibility first-frame field from . Without a reference video, prefer directly. Example: .
array<string>NoCompatibility multi-reference image field from , up to 5 images. Without a reference video, prefer directly.

Request example

bash
curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '
{
  "model": "omni-fast-v2v",
  "prompt": "Edit the attached video into a visibly new version while preserving the original camera path, timing, subject motion, and shot continuity. Add a rainy cinematic night look with neon reflections. Output a newly generated video, not the uploaded source clip or its preview.",
  "video": "https://example.com/source.mp4",
  "seconds": "8",
  "aspect_ratio": "16:9",
  "resolution": "720p"
}'
bash
curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '
{
  "model": "omni-fast-v2v",
  "prompt": "Extend this clip into a new cinematic shot with the same camera path.",
  "video_url": "https://example.com/source.mp4",
  "seconds": "8",
  "aspect_ratio": "16:9",
  "resolution": "720p"
}'
bash
curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '
{
  "model": "omni-fast-v2v",
  "prompt": "Regenerate the attached clip with brighter lighting and smoother motion.",
  "input_video": "https://example.com/source.mp4",
  "seconds": "8",
  "aspect_ratio": "16:9",
  "resolution": "720p"
}'

Response example

json
{
  "id": "video_abc123",
  "task_id": "video_abc123",
  "object": "video",
  "model": "omni-fast-v2v",
  "status": "queued",
  "progress": 0,
  "created_at": 1735689600,
  "video_url": ""
}
json
{
  "id": "video_abc123",
  "task_id": "video_abc123",
  "object": "video",
  "model": "omni-fast-v2v",
  "status": "completed",
  "progress": 100,
  "created_at": 1735689600,
  "completed_at": 1735689900,
  "video_url": "https://example.com/results/omni-fast-v2v.mp4"
}
json
{
  "id": "video_abc123",
  "task_id": "video_abc123",
  "object": "video",
  "model": "omni-fast-v2v",
  "status": "failed",
  "progress": 100,
  "error": {
    "message": "upstream task failed",
    "code": "task_failed"
  }
}
json
{
  "error": {
    "message": "video is required for V2V generation",
    "type": "invalid_request_error",
    "param": "video",
    "code": "invalid_request_error"
  }
}
json
{
  "error": {
    "message": "invalid token",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}
json
{
  "error": {
    "message": "insufficient quota",
    "type": "insufficient_quota",
    "code": "insufficient_quota"
  }
}
json
{
  "error": {
    "message": "request body too large",
    "type": "invalid_request_error",
    "code": "request_body_too_large"
  }
}
json
{
  "error": {
    "message": "rate limit exceeded",
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded"
  }
}
json
{
  "error": {
    "message": "internal server error",
    "type": "server_error",
    "code": "server_error"
  }
}

Response fields

NameTypeDescription
stringVideo task ID. Can be used later for task query.
stringCompatibility field for the video task ID. Usually the same as .
stringObject type, typically .
stringModel used for this task, e.g. .
stringTask status. Common values: , , , .
numberTask progress, typically from to .
stringVideo URL when complete.
objectError object on task failure or API error, usually including and .