Use CometAPI GET /v1/videos/ to retrieve Sora 2 video status, progress, and metadata like duration, dimensions, timestamps, and expiry.
curl --request GET \
--url https://api.cometapi.com/v1/videos/{video_id} \
--header 'Authorization: Bearer <token>'{
"id": "video_69b25d5f467c81908733a56bc236b4df",
"size": "1280x720",
"error": null,
"model": "sora-2",
"object": "video",
"prompt": "A paper airplane glides across a desk.",
"status": "in_progress",
"seconds": "4",
"progress": 0,
"created_at": 1773296991,
"expires_at": null,
"completed_at": null,
"remixed_from_video_id": null
}status for the lifecycle stateprogress for a coarse progress signalerror when the provider rejects or fails the jobexpires_at after completion if you need to know when temporary assets expireCreate or remix the video first
Download the file
completed, move to Retrieve Video Content.Bearer token authentication. Use your CometAPI key.
Video id returned by the create or remix endpoint.
Current job state.
curl --request GET \
--url https://api.cometapi.com/v1/videos/{video_id} \
--header 'Authorization: Bearer <token>'{
"id": "video_69b25d5f467c81908733a56bc236b4df",
"size": "1280x720",
"error": null,
"model": "sora-2",
"object": "video",
"prompt": "A paper airplane glides across a desk.",
"status": "in_progress",
"seconds": "4",
"progress": 0,
"created_at": 1773296991,
"expires_at": null,
"completed_at": null,
"remixed_from_video_id": null
}