Sora video ids in your database after the shutdown: what to keep
OpenAI's Videos API shut down 2026-09-24. Old video_ids no longer resolve, so store your own file URL and the model used. Schema fields included.

After 2026-09-24, a stored Sora video id is a label, not a handle: the Videos API it pointed to is gone, per OpenAI's deprecations page (read 2026-10-03). Any file you did not download is something you cannot fetch by that id. Keep the id as history, and make the new table point at files you hold.
Columns for the next vendor
| Column | Why |
|---|---|
| provider and model | A row must say which model made it, so a retired id explains itself |
| job_id | Sume's id for GET /v1/jobs/{id}/status and /result |
| artifact_url | The media.sume.com URL from the result artifacts |
| request_json | Replay the same request on a different model |
| legacy_vendor_id | Old Sora id, never used for lookups |
Where Sume's output lives
Completed Sume jobs return result artifacts with media.sume.com URLs, readable through the jobs result endpoint. The video endpoint also exposes unsigned_urls and a content download. Store the artifact URL and your own copy if your retention rules require it.
Don't use a vendor id as a primary key again. Put your own id first and the vendor's id in a nullable column.
Sources
Related posts
More in Developers
- Keep a source log for Shorts cut from long video: CSV from video trim
A source log shows which long video, timestamp and edit produced each Short. Build one from video trim results using actual_start_seconds.
- source_too_large on trim or filter: the 300 MiB source cap
Sume's video trim and filter refuse a hosted source over 300 MiB (314,572,800 bytes) at submit. What is checked, the free check call, and ways around it.
- Speech-to-text audio too large? Sume STT takes up to 10 MB, hosted
Sume's stt_create needs a public HTTPS audio URL on the Sume media host, 10 MB at most. What fits: 16 kHz mono wav versus mp3, and how to cut a long file.
- Split one voiceover into 40 scene tracks: two timeline audio jobs
Timeline audio split takes up to 20 ranges per job. Forty scene tracks from one voiceover is two split jobs, $0.02, with ranges built from cue times in Python.
Written by Sume