POST
https://octopusx.ai
/
v1
/
video
/
create
Create Video
curl --request POST \
  --url https://octopusx.ai/v1/video/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "images": [
    "<string>"
  ],
  "model": "<string>",
  "orientation": "<string>",
  "prompt": "<string>",
  "size": "<string>",
  "duration": 123,
  "watermark": true,
  "private": true,
  "style": "<string>",
  "storyboard": true
}
'
{
  "id": "sora-2:task_01k9008rhbefnt3rb1g9szxdwr",
  "status": "pending",
  "status_update_time": 1762010621323
}

Create Video

The Sora unified video entry point uses POST /v1/video/create, and the request body is JSON. Unlike OpenAI-format Sora video generation, this API uses fields such as images, orientation, size, and duration, and supports Sora-specific options such as watermark, private, style, and storyboard.
  • The route entry point is POST /v1/video/create.
  • Reference images are passed as a list of URLs in the images array; text-to-video can pass an empty array.
  • A common model example is sora-2; use the model actually available in the current channel as the standard.
  • After a successful submission, the task id and status are returned; use Query Task to poll for results later.

Method and Path

POST /v1/video/create

Request Example

curl -X POST https://octopusx.ai/v1/video/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "images": [],
    "model": "sora-2",
    "orientation": "portrait",
    "prompt": "make animate",
    "size": "large",
    "duration": 15,
    "watermark": false,
    "private": true,
    "storyboard": false
  }'

Response Example

{
  "id": "sora-2:task_01k9008rhbefnt3rb1g9szxdwr",
  "status": "pending",
  "status_update_time": 1762010621323
}
The full response may also include fields such as object, model, progress, created_at, size, and detail, and its structure is consistent with the OpenAI VIDEO response format.

Authentication

Authorization: Bearer YOUR_API_KEY

Body

images
array<string>
required
List of reference image links. Text-to-video can pass [].
model
string
required
Model name, for example sora-2.
orientation
string
required
Frame orientation. portrait means vertical, and landscape means horizontal.
prompt
string
required
Prompt.
size
string
required
Output specification. small generally corresponds to 720p.
duration
integer
required
Video duration in seconds. The default is often 10; optional values are 10, 15, and 25 (sora-2-pro supports longer durations).
watermark
boolean
Whether to keep the watermark. The default is true: the system will first try to generate without a watermark, and may fall back to a watermark if that fails. Passing false forces no watermark; if a watermark-removal error occurs, it may automatically retry.
private
boolean
Whether to hide the video. When true, the video will not be published and remix will not be available; the default is false.
style
string
Video style, available only for supported models such as sora_video2. Optional values include thanksgiving, comic, news, selfie, nostalgic, and anime.
storyboard
boolean
Whether to use a storyboard to achieve finer-grained control over video generation details.

Response

id
string
Task ID, passed as the id parameter in subsequent queries.
status
string
Task status. Common values include pending, queued, processing, completed, failed, and cancelled.
status_update_time
integer
The most recent status update time (Unix timestamp).
object
string
Object type; some responses use video.
model
string
The actual model used.
progress
string | integer
Task progress.
detail
object
Submission details, usually including the echoed input field.