Skip to main content
GET
/
v1
/
videos
/
{video_id}
VIDEO_ID="<video_id>"

curl "https://api.cometapi.com/v1/videos/$VIDEO_ID" \
  -H "Authorization: Bearer $COMETAPI_KEY"
{
  "id": "<video_id>",
  "model": "sora-2",
  "object": "video",
  "status": "in_progress",
  "progress": 30,
  "created_at": 1781079478
}
Use this endpoint after you start a Sora job. It reports the current job state, the configured size and duration, and any error returned by the provider.

Watch these fields

  • status for the lifecycle state
  • progress for a coarse progress signal
  • error when the provider rejects or fails the job
  • expires_at after completion if you need to know when temporary assets expire

Poll until completion

1

Create or remix the video first

Start with Create Video or Remix Video.
2

Poll by id

Pass the returned id here and keep checking until the job reaches completed or failed.
3

Download the file

When the job is completed, move to Retrieve Video Content.

Response shape on CometAPI

This step matches the Sora polling workflow closely. CometAPI keeps the OpenAI-style object shape so you can wire status checks with minimal translation.

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your CometAPI key.

Path Parameters

video_id
string
required

Video id returned by the create or remix endpoint.

Response

200 - application/json

Current job state.

id
string
required

Task id.

size
string
required
model
string
required
object
string
required
status
string
required

Task state: queued, in_progress, completed, or failed.

seconds
string
required
progress
integer
required

Render progress from 0 to 100.

created_at
integer
required

Unix timestamp of task creation.

error
object
prompt
string
expires_at
integer | null
completed_at
integer | null

Unix timestamp of completion.

remixed_from_video_id
string | null
video_url
string

Time-limited download URL present when status is completed. Mirror the file to your own storage for long retention.