All posts

Platforms2 min read

The Sora API is gone. What should builders learn from it?

OpenAI switched off the Sora 2 API on September 24 without naming a replacement model. A case study in platform risk, and how to design AI products that survive a deprecation.

Layered gradient wave lines flowing across a dark ember-coloured background

On September 24, 2026, OpenAI switched off the Sora 2 API, the interface that let developers generate video with Sora 2 and Sora 2 Pro inside their own products. That completed a wind-down that began six months earlier.

How it wound down

Timeline: shutdown announced March 24, consumer app and site closed April 26, Sora 2 API removed September 24
Sora's 2026 wind-down in three steps.
  • March 24. OpenAI announced the shutdown, giving API users six months' notice.
  • April 26. The consumer Sora app and website closed.
  • September 24. The Sora 2 API was removed.

The detail that matters most for builders: OpenAI's deprecation documentation lists no migration target for Sora 2. Normally a deprecated model points to its successor. This time there's nothing to switch to.

Six months' notice is generous, and not enough

Six months is more notice than many platforms give. It still isn't enough time to re-platform a product whose main feature depends on one vendor's model. Teams that built video features on Sora had to do three things at once: find a new provider, re-tune prompts for a model that behaves differently, and handle user expectations shaped by Sora's particular style.

This isn't a criticism of OpenAI in particular. Every AI vendor will retire models, and some will retire whole products. The question is whether your architecture can absorb it.

Designing for deprecation

These are the patterns we build into client systems so a shutdown like this becomes a project, not a crisis:

Put a seam between your product and the model

Route every model call through a thin internal interface that you own, with your own request and response types. Vendor SDKs belong behind that seam, never spread across the codebase.

Keep your prompts and evals portable

Prompts tuned for one model rarely carry over unchanged. Keep an evaluation set of real examples with clear pass criteria, so you can score a replacement model in hours rather than arguing about it for weeks.

Qualify a second source before you need one

For any capability your product depends on, keep at least one alternative provider tested and ready. It doesn't need production traffic. It needs a recent passing eval run.

Own your outputs and metadata

Store generated assets, prompts, settings and user edits in your own storage. When a provider disappears, your users' history shouldn't go with it.

Track deprecation notices like security advisories

Subscribe to every vendor's changelog and deprecation page, and give someone the job of watching them. The six months of notice only helps if somebody reads it on day one.

The bottom line

Sora showed what AI video could do, and its API shutdown shows the risk of depending on a single model. Model access is a dependency, not a foundation. Build so you can swap it out.

Keep reading

All posts ↗