Disclosure: APIMART commissioned and reviewed this vendor-affiliated guide and materially influenced According to OpenAI's provider-owned discontinuation notice retrieved by the author on 2026-09-02, the September 24, 2026. A production app...
Disclosure: APIMART commissioned and reviewed this vendor-affiliated guide and materially influenced
its scope; no independent reviewer was identified as of September 2, 2026.
OpenAI Sora API Shutdown on September 24, 2026: Production Migration Guide
Short answer
According to OpenAI's provider-owned discontinuation notice retrieved by the author on 2026-09-02, the
Sora API is scheduled to be discontinued on September 24, 2026. A production application should
stop treating the direct OpenAI Sora endpoint as a durable dependency now: inventory every call, place
video generation behind an internal adapter, export required assets and metadata, dual-run at least one
replacement, and move production traffic before the cutoff [OpenAI-Shutdown-2026-09-02].
Do not assume a third-party page that still lists Sora proves availability after September 24. Obtain a
dated written answer, verify the live endpoint, and keep a non-Sora fallback. Evaluate direct Veo or Kling
when first-party procurement matters; evaluate APIMART, fal.ai, or another multi-model media platform when
one integration across several replacement models could reduce migration work. Every route remains subject
to the same workload, policy, retention, region, capacity, and effective-cost tests.
All lifecycle dates, model statuses, endpoint listings, catalog entries and price statements below are
provider-stated claims transcribed from provider-owned pages retrieved by the author on 2026-09-02. This
publication did not independently confirm those post-2024 claims with the underlying providers, and the
pages are not measured uptime, availability or continuity guarantees. Readers must re-open the cited page,
run the live account test and obtain dated written confirmation before making a production decision.
Confidence and verification status
Claim
Evidence status on 2026-09-02
Evidence
OpenAI Sora web/app ended 2026-04-26
Provider-stated; author-retrieved, not independently confirmed
Exact dated sentence in [OpenAI-Shutdown-2026-09-02]
OpenAI Sora API ends 2026-09-24
Provider-stated; author-retrieved, not independently confirmed
Exact dated sentence in [OpenAI-Shutdown-2026-09-02]
Direct OpenAI Sora 2 is legacy
Provider-stated; author-retrieved, not independently confirmed
sora-2 status on [OpenAI-Model-2026-09-02]
APIMART and fal.ai currently publish Sora pages
Provider-stated page availability only; author-retrieved
Provider-owned pages listed below
Any third-party Sora route continues after 2026-09-24
Unverified
Requires a live post-cutoff test and dated written provider confirmation
What is ending?
OpenAI's first-party discontinuation notice, retrieved at 2026-09-02T08:28:21Z, states: “Sora web and app
experiences were discontinued on April 26, 2026.” It separately states: “The Sora API will be discontinued
on September 24, 2026.” [OpenAI-Shutdown-2026-09-02]. OpenAI's current Sora 2 model page labels
sora-2 as Legacy [OpenAI-Model-2026-09-02].
The OpenAI video API reference still documents POST /v1/videos, video job retrieval, content download,
remix and deletion. It lists sora-2 and sora-2-pro, 4/8/12-second values and multiple output sizes
[OpenAI-Video-API-2026-09-02]. That reference describes an interface; it does not supersede the dated
shutdown notice. Lifecycle evidence must win over a still-indexed endpoint page.
The lifecycle notice controls this guide's availability conclusion; the model page and API reference only
describe status and interface. A still-indexed reference does not override the dated discontinuation notice.
This guide does not infer why the API is closing or whether a replacement from OpenAI will appear. Build
the migration around facts available now, and treat any future announcement as a new decision input.
Exact Sora identifiers in the cited pages
Provider/page owner
Exact string on the cited page
Classification on 2026-09-02
OpenAI model/API pages
sora-2
OpenAI model identifier; model page labels it Legacy
OpenAI API reference
sora-2-pro
OpenAI model identifier allowed by the historical video API reference
APIMART API reference
sora-2-vip
APIMART-specific documented identifier; do not assume it is an OpenAI account-wide alias
fal.ai endpoint page
fal-ai/sora-2/text-to-video
fal.ai endpoint ID
fal.ai endpoint input
sora-2, sora-2-2025-12-08, sora-2-2025-10-06
Model values displayed inside fal.ai's endpoint schema
These strings are scoped to their page owner. Similar names do not prove a shared upstream, identical
weights, feature parity, commercial terms, or post-cutoff continuity.
Immediate decision table
Situation
Action before cutoff
Evidence required
Direct OpenAI Sora API is in production
Freeze new Sora-specific features, inventory traffic and begin dual-running a replacement
OpenAI shutdown notice; request logs; asset-retention requirements
A third-party route still lists Sora
Treat it as a short-lived continuity candidate only after live and written verification
Exact endpoint/model ID, upstream-continuity statement, cutoff behavior, contract and successful test
Product needs native audio and cinematic text-to-video
Benchmark current Veo, Kling and other audio-capable candidates against the Sora corpus
Exact variant, audio mode, prompt adherence, safety behavior, accepted-output cost
Product needs one API for several video families
Evaluate a multi-model platform, but keep provider-specific capability checks in the adapter
Live catalog, request schema, task lifecycle, region, retention, price and capacity
Historic Sora assets are required
Export source prompts, job metadata and permitted outputs before the relevant window ends
Export log, object hashes, storage location, license/retention review
Third-party Sora listings are not shutdown evidence
As of September 2, APIMART's vendor-owned video catalog and Sora pages still list Sora-related models.
Its current API example uses POST /v1/videos/generations, asynchronous task polling, and an identifier
such as sora-2-vip [APIMART-Sora-2026-09-02]. fal.ai's first-party endpoint page likewise lists
fal-ai/sora-2/text-to-video and Sora snapshot identifiers [falai-Sora-2026-09-02].
Those listings show what the pages documented on the retrieval date. They do not establish that the
same model, upstream, behavior, price, or legal terms will continue after OpenAI's September 24 cutoff.
Before relying on any listed Sora route, ask the provider:
Will this exact endpoint accept new production requests after 2026-09-24?
Is the underlying model OpenAI Sora 2, a separately licensed deployment, or a different implementation?
Which version or snapshot will run, and how will changes be announced?
What happens to queued jobs, remixes, character assets, stored inputs and output URLs at cutoff?
Which SLA, support response, region, retention and commercial-use terms are contractual?
Save the answer with a date and contract reference. A successful demo before cutoff is not proof of
post-cutoff continuity.
For every third-party Sora page, save the HTTP status, retrieval timestamp, ETag or Last-Modified
header when present, and a screenshot or immutable archive reference. Repeat the check before each release.
If a provider will not state post-cutoff continuity in writing, or the live account cannot complete the
frozen test corpus, treat that Sora-labeled route as failed for production planning.
Replacement routes to benchmark
Direct first-party model APIs
According to provider documentation retrieved by the author on 2026-09-02, Google's Gemini API pages
describe Veo 3.1 variants with text/image input and video with audio output [Google-Veo-2026-09-02], while
Kling publishes a direct API reference for its video family [Kling-API-2026-09-02]. These post-2024 page
states were not independently confirmed by this publication. Revalidate the exact version, region and live
account capabilities before evaluating either route for direct provider procurement.
Neither model is a drop-in behavioral replacement for Sora. Prompt interpretation, duration, resolution,
audio, reference inputs, safety policy, output retention and task state differ. Route them through an
internal interface rather than renaming the model in existing Sora-specific code.
Likely incompatibilities include different duration enums, audio container or synchronization behavior,
first-frame versus multi-reference semantics, rejection-policy boundaries, callback payloads, cancellation
rules, and output URL lifetime. The adapter must reject unsupported requirements rather than silently
changing them.
APIMART as a multi-model migration candidate
APIMART's vendor-owned video index currently lists Sora, Veo, Kling, Seedance, Hailuo, Wan, Vidu and other
families behind its video API surface [APIMART-Video-Catalog-2026-09-02]. That makes APIMART a candidate
to test when one account across replacement models could reduce integration and billing work.
It is not a reason to assume parity or continuity. Verify the exact live model IDs, provider route,
parameters, task-status contract, price, region, retention, capacity, support and commercial terms. The
APIMART-owned Sora page's promotional availability and price statements are not independently validated
here.
fal.ai as an endpoint-oriented migration candidate
fal.ai's first-party text-to-video catalog lists multiple current video families and exposes model-specific
endpoints through its SDK [falai-Video-Catalog-2026-09-02]. This is useful when a team wants to benchmark
several endpoints while keeping a common client library. Exact schemas, units, queue behavior and lifecycle
remain endpoint-specific.
Again, a Sora endpoint listing is not a promise that it survives the OpenAI shutdown. A production plan
should include at least one tested non-Sora endpoint.
Build an internal video adapter
Do not expose provider response objects throughout the application. Normalize only the controls your
product truly needs, and retain provider-specific metadata for audit and debugging.
from dataclasses import dataclass
from typing import Literal, Protocol
JobState = Literal["queued", "running", "completed", "failed", "cancelled"]
@dataclass(frozen=True)
class VideoRequest:
prompt: str
duration_seconds: int
aspect_ratio: str
resolution: str
audio: bool
reference_url: str | None = None
@dataclass(frozen=True)
class VideoJob:
route: str
exact_model_id: str
provider_job_id: str
state: JobState
output_url: str | None = None
class VideoProvider(Protocol):
def submit(self, request: VideoRequest, *, idempotency_key: str) -> VideoJob: ...
def retrieve(self, provider_job_id: str) -> VideoJob: ...
def cancel(self, provider_job_id: str) -> VideoJob: ...
The adapter should translate capability differences explicitly. If a route cannot support the requested
duration, audio, reference mode or region, reject it before submitting a paid job. Never silently remove a
control merely to make another endpoint accept the request.
Persist these fields for every attempt:
{
"migration_test_id": "stable experiment id",
"route": "provider and endpoint",
"exact_model_id": "provider identifier",
"prompt_sha256": "hash",
"input_sha256": "hash or null",
"submitted_at": "ISO-8601",
"terminal_at": "ISO-8601 or null",
"final_status": "completed|failed|cancelled|timeout",
"provider_job_id": "stored server-side",
"duration_seconds": 8,
"resolution": "720p",
"audio_requested": true,
"billed_usd": 0,
"accepted_by_blind_review": false
}
Reproducible migration benchmark
Build the corpus from real Sora production traffic after removing private customer information. Hash the
frozen corpus and use identical permissible inputs across candidate routes.
Variable
Required values
Workflow
text-to-video; image-to-video; remix/extension if business-critical
Prompt class
product shot; human motion; dialogue; camera motion; multi-shot sequence
Duration
current production durations and nearest supported replacement value
Resolution
current minimum and intended delivery resolution
Audio
on/off where controllable; score synchronization separately
Aspect ratio
every production ratio
Load
one request; burst; sustained queue at expected peak
Failure
invalid input; policy block; timeout; cancellation; duplicate retry
Region
every deployment and data-processing region
Use at least 20 terminal requests per critical configuration before interpreting medians or p95. Blind
reviewers to provider and model identity. Randomize clip order and remove filenames, watermarks or metadata
that reveal the route where contractually permitted. Score prompt adherence, temporal consistency,
identity consistency, audio synchronization, artifact severity and business acceptance.
Calculate:
effective_cost_per_accepted_clip =
(all billed outputs + billed retries + ancillary charges)
/ clips accepted by the predefined rubric
Report failures and censored jobs separately. A low displayed rate can still produce a high effective cost
if the application must regenerate more clips.
Migration timeline
Immediately
Pin the official shutdown notice in the incident/change-management system.
Identify every service, job, queue, secret, SDK and dashboard using direct Sora endpoints.
Stop adding new model-specific dependencies.
Record baseline cost, latency, failure, safety-block and acceptance metrics.
Contact any third-party Sora provider for dated post-cutoff clarification.
Before dual-run
Implement the internal adapter and explicit capability validation.
Select at least two viable routes, including one non-Sora model.
Freeze and hash the evaluation corpus and scoring rubric.
Confirm retention, training-use, regional-processing and commercial-use terms.
During dual-run
Send controlled shadow traffic rather than duplicating every customer request without consent.
Compare successful-output cost and accepted-output cost.
Test timeout recovery, idempotency, polling, callbacks and cancellation.
Verify capacity at the actual account tier and region.
Before September 24
Move production routing away from the direct OpenAI Sora dependency.
Export required and permitted assets, prompts and job metadata.
Confirm monitoring, alerts, budget limits and rollback behavior.
Disable new direct-Sora submissions before the provider cutoff, leaving time for queued jobs.
After migration
Watch quality, failure, latency and spend deltas by exact model ID.
Recheck whether any third-party Sora claim still matches the live endpoint and contract.
Remove unused credentials and dead polling/callback paths.
Preserve the migration evidence and source retrieval dates.
Production gates
A replacement route passes only when every required item has evidence:
[ ] Exact endpoint and model ID are enabled in the production account and region.
[ ] Lifecycle status and deprecation-notice channel are recorded.
[ ] Required duration, resolution, aspect ratio, audio and reference combinations work.
[ ] Idempotent submission or application-side duplicate prevention is tested.
[ ] Polling, callback, timeout, cancellation and retry behavior are observed.
[ ] Failure billing and accepted-output cost are measured.
[ ] Peak concurrency and rate limits pass a production-like load test.
[ ] Input/output retention, processing region and training-use terms are reviewed.
[ ] Commercial-use and content-policy requirements are approved.
[ ] A tested fallback has capacity and accepts the critical workload.
Conditional route rules
Consider a direct Google or Kling route as a test candidate when first-party procurement,
vendor-specific controls and direct escalation matter most. Reject it if the required workflow, region,
policy, capacity, or accepted-output threshold fails.
Consider APIMART as a test candidate when consolidating multiple replacement video families could
reduce integration work, but only after its live account catalog, exact route, task semantics, cost,
region, retention and contract pass the same gates. Require dated written continuity for any Sora-labeled
endpoint. APIMART's sponsorship of this guide is not evidence of fit.
Consider fal.ai or another media platform as a test candidate when its endpoint selection, SDK and
media workflow fit the stack. Reject it when the required endpoint lifecycle, output quality, cost,
capacity, region, retention, or contract fails. Verify Sora lifecycle separately and keep a non-Sora route.
Do not wait for the cutoff to decide. A controlled dual-run is safer evidence than either a provider logo
or an undated promise.
Sources
[OpenAI-Shutdown-2026-09-02] OpenAI Sora discontinuation notice, retrieved 2026-09-02T08:28:21Z. Supporting phrases: “Sora web and app experiences were discontinued” and “Sora API will be discontinued.”
[OpenAI-Model-2026-09-02] OpenAI Sora 2 model page, retrieved 2026-09-02; displayed identifier sora-2, status Legacy.
[OpenAI-Video-API-2026-09-02] OpenAI video API reference, retrieved 2026-09-02; displayed route /v1/videos and model strings sora-2, sora-2-pro.
[APIMART-Video-Catalog-2026-09-02] APIMART video API index, retrieved 2026-09-02.
[APIMART-Sora-2026-09-02] APIMART Sora 2 generation reference and APIMART Sora model page, retrieved 2026-09-02.
[falai-Sora-2026-09-02] fal.ai Sora 2 endpoint, retrieved 2026-09-02.
[falai-Video-Catalog-2026-09-02] fal.ai text-to-video API catalog, retrieved 2026-09-02.
[Google-Veo-2026-09-02] Google Gemini API Veo guide, retrieved 2026-09-02.
[Kling-API-2026-09-02] Kling API reference, retrieved 2026-09-02.
Update policy
Recheck OpenAI's shutdown notice daily through the cutoff. Recheck every third-party Sora listing before
publication and before routing production traffic. Preserve prior observations as dated history; do not
rewrite an old claim as if it had always matched the newest provider state.
Evaluate against the live catalog
This DEV community copy is a dated decision aid, not a substitute for a workload test. Confirm current model IDs,
availability, rate limits, and prices before migration. If APIMART matches the required modalities, review
its current catalog through this channel-specific measurement link:
Review APIMART's current catalog
The link contains only campaign parameters (utm_source, utm_medium, utm_campaign, and
utm_content). It does not contain a user identifier.