POST
https://octopusx.ai
/
v1
/
videos
/
extensions
Video Extensions
curl --request POST \
  --url https://octopusx.ai/v1/videos/extensions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "prompt": "<string>",
  "video": {},
  "video.url": "<string>",
  "start_time": 123,
  "duration": 123
}
'
{
  "id": "grok:48a67431-0708-46d1-9ab9-83cb84700153",
  "status": "processing",
  "status_update_time": 1762685256
}

Video Extensions

The OpenAI format shares the POST /v1/videos/extensions path with Unified Video. For an explanation of the Unified Video flow, see Video Extensions (Unified Video). Use POST /v1/videos/extensions to extend a specified segment of an existing video task; pass the original task ID in video.url in the Body.
  • The route entry is POST /v1/videos/extensions.
  • Required fields: model, prompt, video, start_time.
  • Set video.url to the original video task ID, for example grok:f673ba58-b053-4d8d-8938-c0b429de4d7f.

Method and Path

POST /v1/videos/extensions

Request Example

curl -X POST https://octopusx.ai/v1/videos/extensions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "model": "grok-video-3",
    "prompt": "play with another white cat",
    "duration": 6,
    "start_time": 4,
    "video": {
      "url": "grok:f673ba58-b053-4d8d-8938-c0b429de4d7f"
    }
  }'

Response Example

{
  "id": "grok:48a67431-0708-46d1-9ab9-83cb84700153",
  "status": "processing",
  "status_update_time": 1762685256
}

Authentication

Authorization: Bearer YOUR_API_KEY

Body

model
string
required
Model name, for example grok-video-3.
prompt
string
required
Prompt for the extension segment.
video
object
required
Reference to the original video. Currently requires the url field.
video.url
string
required
Original video task ID (not a playable HTTP link), for example grok:f673ba58-b053-4d8d-8938-c0b429de4d7f.
start_time
integer
required
Segment start time (seconds); extend from this timestamp in the original video.
duration
integer
Target duration after extension (seconds). Default is 10; supports 6, 10, and 15.

Response

id
string
New extensions task ID.
status
string
Task status; common values include processing, completed, and failed.
status_update_time
integer
Most recent status update time (Unix timestamp).

Difference Between Extend and Extensions

ItemVideo ExtendVideo Extensions
PathPOST /v1/videos/{video_id}/extendPOST /v1/videos/extensions
Original task IDPath parameter video_idBody video.url
Typical scenarioExtend based on the path-bound original taskIndependent entry point, suitable for batch or orchestration calls