Video expiration bug raises API documentation concerns

Videos have an expiration of one hour after completion reported on their jobs, but the endpoint for retrieving videos reports that videos should expire 24 hours after completion.

List Videos:

{

    "object": "list",

    "data": [

        {

            "id": "video_68e66b9a41a8819098221f8891ac275905af4a55682d772c",

            "object": "video",

            "created_at": 1759931290,

            "status": "completed",

            "completed_at": 1759931704,

            "error": null,

            "expires_at": 1759935304,

            "model": "sora-2-pro",

            "progress": 100,

            "remixed_from_video_id": null,

            "seconds": "12",

            "size": "1280x720"

        }

    ],

    "first_id": "video_68e66b9a41a8819098221f8891ac275905af4a55682d772c",

    "has_more": false,

    "last_id": "video_68e66b9a41a8819098221f8891ac275905af4a55682d772c"

}

Retrieve video:

{
    "error": {
        "message": "The video is no longer available. Downloads expire after 24 hours.",
        "type": "invalid_request_error",
        "param": null,
        "code": null
    }
}

Video retrieval was attempted 2 hours after video completion.

EDIT:

@PaulBellow Merged my topic this into this topic for… some reason? My reported issue is not with stuck generations…

1 Like

This indeed seems like a bug, an issue in API configuration, a documentation problem against the API reporting its very own promise. This is a separate issue that needs to be resolved.

{
“created_at”: “2025-10-08T13:48:10Z”,
“status”: “completed”,
“completed_at”: “2025-10-08T13:55:04Z”,
“error”: null,
“expires_at”: “2025-10-08T14:55:04Z”
}

3 Likes

I agree. See my edit above.

2 Likes

Sorry, was trying to consolidate as the volunteer mod team is passing these reports along, but we don’t have a lot of control over when/if they’re answered, etc.

I’ll escalate this one separately. Apologies for the hassle!

And welcome to the community… You should’ve seen us in our heyday! :wink:

2 Likes

This is the heyday! A world coming together around a collective issue to commiserate, AI (and its cloud service provider) touching lives around the world. :laughing:

Just OpenAI talking to developers in front of a 10 meter LED wall instead of webcams in front of house plants these days (oh, I guess they couldn’t help but bring the plants there also…)

1 Like

lol i meant Brockman and others answering support emails (quickly!) and hanging out here on the forums but yeah… time marches on and the baby grows up…

Seriously, though, looks like they’re having a lot of problems with the new stuff which is about par for the course heh…

1 Like

Yes! Same issue here, all videos expired an hour after being created. I got charged and wasn’t able to download them…

1 Like

Would you mind sharing the link to the doc that mentions 24 hours? Happy to help clarify this!

The “doc” is in the API error message returned after you read the previous version of API documentation and assumed the previous promise of 24 hours, and then attempted retrieval after 60+ minutes elapsed.

"message": "The video is no longer available. Downloads expire after 24 hours.",

There is no “updated” date and no version history to see when the API shape or promised services have been altered in https://platform.openai.com/docs/ , for example, to see the PR that changed documentation from vector stores having been using text-embeddings-3-large to now the 3-small version at the same service pricing. It currently says 1 hour.

One would have to retrieve/download their Sora 2 API video after 60 minutes have elapsed and see if the error message remains incorrect. Someone at OpenAI could just search the API endpoint code base for “video is no longer available” along with “24 hours” and answer this themselves if a change was pushed. Or just make a video and wait.


I kicked off a sora-2 video. We’ll see what the error message looks like after it continues to poll and download for over an hour.


Update: the API error text is fixed, with only a pluralization issue:

2025-10-28 18:43:16,461 ERROR [attempt 6] Final error received during re-download (HTTP 404). Full JSON body follows:
{
  "error": {
    "message": "The video is no longer available. Downloads expire after 1 hours.",
    "type": "invalid_request_error",
    "param": null,
    "code": null
  }
}