Sora 2 API Shuts Down September 24: Migrate to Seedance 2.5, Wan 3.0, or MiniMax H3
OpenAI removes the Videos API and every Sora 2 model on September 24, 2026 with no named replacement. Here is how to map each Sora 2 request field to Seedance 2.5, Wan 3.0, and the open-weights MiniMax H3, with real per-clip prices and a three-week plan.
On September 24, 2026 OpenAI removes the Videos API and every Sora 2 model alias from its platform. The deprecation was announced on March 24, the consumer Sora app went dark on April 26, and the developer API is the last piece to go. There is no successor: the “recommended replacement” column in OpenAI’s deprecation table is blank for every Sora entry.
If you have sora-2 or sora-2-pro in production, you have under three weeks. This guide is the practical version of that deadline. Our recommendation is to move to one of three models, all served on the same WaveSpeedAI API and key: Seedance 2.5, Wan 3.0, or the open-weights MiniMax H3. Below is which fields change, which of the three fits which workload, and what an 8-second clip costs on each. Every price is taken from the live WaveSpeedAI catalog on September 5, 2026.
What is being removed, precisely
From OpenAI’s deprecation table:
- The Videos API itself.
- Model IDs
sora-2,sora-2-pro,sora-2-2025-10-06,sora-2-2025-12-08, andsora-2-pro-2025-10-06. - Shutdown date: September 24, 2026. Announced: March 24, 2026.
Two things follow. First, there is nothing to “upgrade” to inside OpenAI; video moves to another model family. Second, do not plan around the Sora 2 API on WaveSpeedAI as a long-term option once OpenAI ends Sora 2 access; migrate now.
Why these three
Seedance 2.5 is the current quality leader in the WaveSpeedAI catalog for prompt-driven video, with native audio, reference images and videos, single-shot clips up to 30 seconds, and 480p through 4K output. It is the replacement when Sora 2 Pro quality was the point.
Wan 3.0 costs exactly what Sora 2 did at 720p, accepts any duration from 2 to 30 seconds, and generates audio on request. It is the replacement when you want to change the model ID and nothing about your budget.
MiniMax H3 (open weights) composes stereo audio in the same pass at no extra charge and starts at $0.04 per second. It is the replacement when Sora 2 was already too expensive for your volume.
Veo 3.1 and Kling 3.0 are also in the catalog and take the same request shape. They are not in the recommendation because at comparable output they cost more than the three above, and audio is a separately billed switch on both.
The request shape you are leaving
A Sora 2 call on WaveSpeedAI takes four things: a prompt, a size such as 1280*720 or 720*1280, a duration from 4, 8, 12, 16, or 20 seconds, and for image-to-video an image URL. Audio is always generated. Pro adds 1024×1792 and 1920×1080 sizes at a multiplier.
All three replacements use the same asynchronous pattern on WaveSpeedAI: POST https://api.wavespeed.ai/api/v3/<model_uuid> with a JSON body, then GET /api/v3/predictions/<id>/result until the status is terminal. If you already wrapped the WaveSpeedAI Sora 2 endpoints, the only code that changes is the model ID and the body. If you called OpenAI directly, the polling loop is conceptually the same as the Videos API’s create-then-retrieve flow.
Field-by-field mapping
| Sora 2 field | Seedance 2.5 | Wan 3.0 | MiniMax H3 |
|---|---|---|---|
| model | bytedance/seedance-2.5/text-to-video | alibaba/wan-3.0/text-to-video | wavespeed-ai/minimax-h3/text-to-video |
size: 1280*720 | aspect_ratio: 16:9 + resolution: 720p | aspect_ratio: 16:9 + resolution: 720p | aspect_ratio: 16:9 + resolution: 768p |
size: 720*1280 | aspect_ratio: 9:16 | aspect_ratio: 9:16 | aspect_ratio: 9:16 |
duration 4 / 8 / 12 / 16 / 20 | 4 to 30 s, any integer | 2 to 30 s | 3 to 15 s, any integer |
image (image-to-video) | image on .../image-to-video, optional last_image | image on .../image-to-video | image on .../image-to-video, optional last_image |
| audio (always on) | generate_audio: true (default) | enable_audio: true (default) | always on, native stereo |
| Sora 2 Pro 1080p sizes | resolution: 1080p or 4k | resolution: 1080p | resolution: 1080p |
| other ratios | 4:3, 3:4, 1:1, 21:9 | 1:1, 4:3, 3:4 | 1:1, 4:3, 3:4, 21:9, 9:21 |
Three translation traps:
- Duration snapping. Sora’s fixed 4/8/12/16/20 grid does not exist elsewhere. Seedance 2.5 and Wan 3.0 cover every Sora length including 20 seconds. H3 tops out at 15, so a 16- or 20-second Sora job on H3 becomes one 15-second clip or an extension via
wavespeed-ai/minimax-h3/video-extend. - Aspect ratio replaces pixel size. None of the three take a
WxHstring. Convert your size table to an aspect ratio plus a resolution tier once, in one place. H3’s native tier is 768p rather than 720p; it is the closest match for1280*720and costs less than Sora did. - Audio defaults. Sora always returned audio. Seedance 2.5 and Wan 3.0 default audio on but expose a switch; H3 always composes it. If you strip the soundtrack in post, nothing changes; if you relied on it, nothing changes either.
What an 8-second 16:9 clip costs
Text-to-video, audio on, WaveSpeedAI catalog rate for the endpoint named. Image-to-video uses the same formula on the image-to-video endpoint of each family.
| Model and tier | Per second | 8 s clip |
|---|---|---|
Sora 2 720p (openai/sora-2/text-to-video) | $0.10 | $0.80 |
Sora 2 Pro 720p (openai/sora-2-pro/text-to-video) | $0.30 | $2.40 |
| MiniMax H3 480p | $0.04 | $0.32 |
| MiniMax H3 540p | $0.06 | $0.48 |
| MiniMax H3 768p | $0.08 | $0.64 |
| MiniMax H3 1080p | $0.16 | $1.28 |
| Wan 3.0 480p | $0.05 | $0.40 |
| Wan 3.0 720p | $0.10 | $0.80 |
| Wan 3.0 1080p | $0.20 | $1.60 |
| Seedance 2.5 480p | $0.18 | $1.44 |
| Seedance 2.5 Turbo 720p | $0.20 | $1.60 |
| Seedance 2.5 720p | $0.36 | $2.88 |
| Seedance 2.5 1080p | $0.90 | $7.20 |
Read it this way: H3 at 768p replaces Sora 2 at 720p for 20 percent less; Wan 3.0 at 720p is a price-neutral swap; Seedance 2.5 Turbo at 720p sits between Sora 2 and Sora 2 Pro, and full Seedance 2.5 at 720p is the quality step up from Sora 2 Pro at a similar spend.
Picking by workload
Quality first, or clips longer than 15 seconds. Go to Seedance 2.5. Use the Turbo endpoints (bytedance/seedance-2.5/text-to-video-turbo) as the default, and the standard endpoint when a shot has to be right the first time. It is the only one of the three that also takes reference videos, which Sora never offered.
Keep the budget exactly where it is. Go to Wan 3.0. At 720p the per-second rate is identical to Sora 2, the duration range is wider, and the prompt style carries over without rework.
Volume, previews, or Sora was already too expensive. Go to MiniMax H3. Render drafts at 480p or 540p for $0.04 to $0.06 per second, ship at 768p for $0.08, and keep the same prompt for all three. The 15-second cap is the one thing to design around.
A reasonable default for a team that does not want to run a bake-off: Seedance 2.5 Turbo as the primary, MiniMax H3 as the fallback. Both are a model-ID string away from each other on the same API.
A migration plan that fits in three weeks
- Inventory by field, not by model. Grep your codebase for
size,seconds, andinput_reference. Those are the three things that change. Prompts carry over unchanged. - Build a same-prompt evaluation set today. Take your 20 most common Sora prompts, generate them once more on Sora 2 while it still exists, and keep the outputs. Run the same prompts on two of the three candidates. You will not get a second chance to build this baseline after September 24.
- Pick one primary and one fallback. All three models are served on the same API and the same key on WaveSpeedAI, so a fallback is a model-ID string in configuration. Do not build a second vendor integration to get resilience.
- Move the duration table. Sora’s 12/16/20 requests map directly onto Seedance 2.5 and Wan 3.0. On H3, decide explicitly whether 16- and 20-second jobs become one 15-second clip or a clip plus an extension.
- Cut over before the deadline, not on it. OpenAI removes the models at the API level; there is no grace period where old requests keep working. Anything still pointed at
sora-2on September 24 fails.
For the broader pattern of provider deprecations and how to structure clients that survive them, see AI model rollouts, regional availability, and deprecations. If Wan 3.0 is your leading candidate, Best Wan 3.0 alternatives compares it against the same field.
The short version: there is no Sora 3 to wait for, the request shape is nearly identical across Seedance 2.5, Wan 3.0, and MiniMax H3, and the price on WaveSpeedAI runs from well under Sora 2’s rate to a clear step above Sora 2 Pro depending on the tier you choose. Confirm what you are running today on the Sora 2 API page, then move.
