Sora now has a confirmed end date. OpenAI’s official help page says the Sora web and app experiences were discontinued on April 26, 2026, and the Sora API will be discontinued on September 24, 2026. Teams with an application that still calls the API therefore have a fixed migration window.
The notice is also a useful architecture test. A video model is a fast-changing dependency; the campaign brief, source rights, review process, editing steps, and delivery requirements should outlive it. If replacing Sora means rewriting the entire production system, the pipeline coupled a durable business process to one temporary implementation.
What OpenAI has actually confirmed
The official discontinuation notice establishes three facts that matter operationally:
- Sora’s consumer web and app surfaces are already discontinued.
- The Sora API ends on September 24, 2026.
- OpenAI recommends exporting Sora content promptly and says associated data will be permanently deleted after discontinuation and any final export window.
The notice provides an export route through the Sora sunset page and says users will receive an email if a final export window is offered. “If” matters: a team should not defer export on the assumption that another window is guaranteed.
OpenAI’s page does not give a detailed business explanation for the retirement. Claims about compute cost, user counts, internal strategy, or model economics should not be presented as confirmed reasons unless OpenAI publishes them. The responsible conclusion is narrower: the product and API are ending, so dependent systems must migrate and data must be preserved lawfully.
Treat the dates as two different incidents
The app shutdown affects people and content operations. Teams may have drafts, references, prompt histories, or published outputs associated with individual Sora accounts. Inventory account owners, export authorized material, verify archive completeness, and document deletion expectations.
The API shutdown affects software. Locate credentials, endpoints, model identifiers, SDK calls, prompt templates, parameter mappings, job polling, webhooks, output parsers, monitoring, budgets, documentation, and tests. Some dependencies will be hidden in automation platforms or environment configuration rather than source code.
Create one owner and one cutoff date for each application. The vendor date is the final boundary, not the safe migration target. Production traffic should move earlier, leaving time to reconcile delayed jobs and remove credentials.
Why a model-name swap is rarely enough
Video providers expose different contracts. A replacement may accept text, images, keyframes, source video, masks, or audio in different combinations. Duration and aspect-ratio options vary. Some models create sound; others return silent video. Safety filters, regional access, concurrency, job retention, watermarks, and commercial terms can differ.
Prompt semantics also move. A Sora prompt optimized for camera movement and temporal detail may not produce the same composition elsewhere. Negative prompts, seed behavior, image reference strength, edit instructions, and character consistency can require new tuning.
The migration adapter should translate a stable internal request into a provider request. An internal contract might describe:
- operation: text-to-video, image-to-video, or edit;
- target duration and aspect ratio;
- reference assets and their rights;
- required audio behavior;
- quality tier and maximum budget;
- safety and content category;
- idempotency key and callback policy;
- desired output container and validation rules.
Provider-specific values stay inside the adapter. The rest of the system consumes a normalized task state and artifact record.
Choose replacements by workload, not reputation
The 2026 market offers different approaches rather than one obvious Sora substitute. Google brought Gemini Omni Flash to developers in preview for video generation and conversational editing from text, image, and video inputs. Runway launched Runway Dev as a unified developer platform spanning image, video, audio, workflows, and real-time characters.
Those official launches show the breadth of current choices, not a recommendation that either is a drop-in replacement. Evaluate the exact production workload:
- Does the source start as text, an image, an existing clip, or several references?
- Must the output contain synchronized sound?
- Is a short social clip enough, or is multi-shot continuity required?
- Does the team need conversational editing after generation?
- Which regions, retention controls, and commercial terms apply?
- What are the queue, concurrency, resolution, and duration limits?
- How much human correction is acceptable?
A high benchmark score cannot answer these workflow questions. Run the same representative briefs through every candidate and review the complete outputs.
Build a migration regression set
Select examples that cover the real distribution, not only attractive demos. Include people, products, hands, motion, text, brands, indoor and outdoor lighting, different aspect ratios, camera movement, source-image animation, long prompts, short prompts, safety-boundary content, and difficult audio cases where relevant.
For each candidate, score:
- prompt and reference adherence;
- identity and object consistency;
- physical motion and temporal stability;
- camera behavior and scene continuity;
- visual artifacts and unwanted text;
- audio quality and synchronization if supplied;
- task success, queue time, retries, and cost;
- reviewer time and acceptance rate.
Keep source files, prompts, provider settings, model versions, output checksums, and decisions. A migration result without provenance cannot be reproduced when the provider updates a preview model.
Dual-run before cutting over
Route a controlled portion of eligible work to the replacement while Sora remains available. Start with noncritical internal assets, then advance to limited production under human review. Compare failure rates, completion time, spend, and acceptance.
Do not automatically submit every request to both systems; that can double cost and broaden data exposure. Dual-run only a measured evaluation sample with appropriate rights. For real customer jobs, decide which system is authoritative before submission.
Define the cutoff sequence:
- stop creating new Sora jobs;
- reconcile queued and processing tasks;
- download and verify completed outputs;
- archive necessary task metadata and authorized assets;
- revoke Sora credentials and remove secrets;
- delete obsolete integration paths after rollback expires;
- update incident, support, and cost documentation.
Keep rollback bounded by the official deadline. A rollback plan that depends on Sora after September 24 is not a rollback plan.
Data export needs a rights filter
Exporting everything is not the same as retaining everything. Check whether the organization is permitted to keep each source, reference, voice, face, and output. Respect creator contracts, customer deletion requests, employee access changes, and retention policies.
Store files with useful metadata: account owner, source rights, original task or generation identifier, export date, checksum, approved use, and deletion date. Keep sensitive references separate from public outputs. Test several archive files rather than trusting that an export completed because an email arrived.
Make the agent understand deprecation
An agent should not continue calling a dying API because the credential still works. Add provider status and cutoff dates to routing policy. Reject new Sora jobs after the internal cutoff, surface a clear migration message, and prevent an automated fallback from routing traffic back to Sora.
The agent also needs terminal-state reconciliation. If a network response is lost, query the existing task before submitting another. If a provider returns an unsupported parameter, map or remove it deliberately rather than retrying unchanged. If a result fails quality review, preserve it and record why before generating another candidate.
Keep finishing independent with Medux
Generator migration becomes easier when downstream operations are separate. Medux can act as an external media-processing layer through an authorized Codex or Claude MCP client; this is not a claim that Medux is natively integrated with Sora, Gemini Omni, Runway, or any other generator.
For example, a replacement generator can create approved clips, while a later Medux task merges those clips. The Codex merge tutorial shows temporary upload URLs, ordered source file IDs, asynchronous task creation, polling, download, and verification. The Claude merge tutorial demonstrates the same durable operation from another MCP client.
The migration boundary is explicit:
- generate a candidate with the selected provider;
- download and validate the provider result;
- assign a checksum and approval state;
- upload only approved clips through signed destinations;
- create one Medux finishing task and persist its task ID;
- poll that task, download the result, and verify the final MP4.
If the generation provider changes, the approved input clip changes, but the merge and verification contract can remain. If the merge fails, retry the merge rather than regenerating the source. Keep provider task IDs and Medux task IDs distinct so support and cost records show where a failure occurred.
Sora’s shutdown is a deadline, not a theory. Export now, migrate before September, and design the next pipeline so that a future model retirement affects one adapter instead of the entire production system.