Operation

Extend Sora 2 Video

Extend an existing OpenAI Sora 2 video by 4, 8, 12, 16, or 20 seconds.

Operation: sora2.video.extend
Submit via POST /api/v1/requests
Credits: dynamic
Sora 2

Request fields

sora_video_idpromptdurationmodelaspect_ratioresolutionsource_video_urlsource_duration

Example request

{
  "operation": "sora2.video.extend",
  "input": {
    "sora_video_id": "video_abc123",
    "prompt": "Continue the shot as the train doors open and fog rolls across the platform.",
    "duration": 20,
    "model": "sora-2-pro",
    "aspect_ratio": "16:9",
    "resolution": "1080p"
  }
}
curl -X POST https://www.cannonstudio.app/api/v1/requests \
  -H "Content-Type: application/json" \
  -H "x-api-key: $CANNON_API_KEY" \
  -H "x-idempotency-key: sora2-video-extend-001" \
  -d @- <<'JSON'
{
  "operation": "sora2.video.extend",
  "input": {
    "sora_video_id": "video_abc123",
    "prompt": "Continue the shot as the train doors open and fog rolls across the platform.",
    "duration": 20,
    "model": "sora-2-pro",
    "aspect_ratio": "16:9",
    "resolution": "1080p"
  }
}
JSON

Notes

  • Requires the native OpenAI `video_...` ID of the source Sora video.
  • Extension duration is normalized to 4, 8, 12, 16, or 20 seconds.
  • OpenAI Sora videos can be extended repeatedly; Cannon Studio tracks each extension as its own request.

Success output

{
  "task_id": "video_789",
  "asset_type": "video",
  "status": "succeeded",
  "video_url": "https://storage.googleapis.com/.../sora-extension.mp4",
  "provider": "sora2",
  "model": "sora2"
}