Home
›
Sora API Alternatives
⏰
112 days remaining — Sora API removes on 24 September 2026. Deprecation was announced 24 March 2026. The API remains operational until the removal date.
Last verified: 4 June 2026
API removal: 24 September 2026
5 active alternatives
For developers
Sora API Shutdown September 2026: Developer Migration Alternatives
OpenAI announced the deprecation of the Sora Videos API and sora-2 models on 24 March 2026. Removal is scheduled for 24 September 2026. OpenAI lists no official replacement in its deprecation table. This guide covers active video generation APIs developers can evaluate for migration — including verified endpoints, async patterns, and pricing where publicly confirmed.
Direct Answer
OpenAI is scheduled to remove the Videos API, sora-2, sora-2-pro and the listed Sora 2 snapshots on 24 September 2026, and its deprecation table lists no recommended replacement; active developer-accessible video-generation alternatives include Runway API, Google Veo 3.1 through the Gemini API, Luma Dream Machine API, Pika models through Fal.ai, and Kling AI's developer API, while Stability AI's hosted Stable Video API has already been discontinued.
Affected Models and Removal Date
The following OpenAI models and the Videos API endpoint are scheduled for removal on 24 September 2026.
| Model / Resource |
Type |
Announced |
Removal Date |
Status |
Videos API |
API Endpoint |
24 Mar 2026 |
24 Sep 2026 |
Deprecated |
sora-2 |
Model |
24 Mar 2026 |
24 Sep 2026 |
Deprecated |
sora-2-pro |
Model |
24 Mar 2026 |
24 Sep 2026 |
Deprecated |
sora-2-2025-10-06 |
Model Snapshot |
24 Mar 2026 |
24 Sep 2026 |
Deprecated |
sora-2-2025-12-08 |
Model Snapshot |
24 Mar 2026 |
24 Sep 2026 |
Deprecated |
sora-2-pro-2025-10-06 |
Model Snapshot |
24 Mar 2026 |
24 Sep 2026 |
Deprecated |
Source: developers.openai.com/api/docs/deprecations. OpenAI lists no recommended replacement in its deprecation table as of 4 June 2026.
What Must Be Migrated
Audit your codebase for dependencies on the following Sora API capabilities. Each will stop functioning after 24 September 2026.
- ▸
Async video generation — POST /videos — submits generation jobs and returns a job ID for polling
- ▸
Job polling — GET /videos/{id} — checks job status until completion or failure
- ▸
MP4 retrieval — fetching the output video file from the completed job result
- ▸
Webhook events — video.completed and video.failed completion callbacks
- ▸
Image references — passing image inputs to guide video generation output
- ▸
Video extension — extending an existing video clip through the API
- ▸
Video editing — edit or modify video content via API parameters
- ▸
Character assets — persistent character reference inputs for consistent generation
- ▸
Batch API queue — submitting and managing multiple generation jobs in batch
API Comparison Overview
Verified as of 4 June 2026. Feature coverage, pricing and availability are subject to change — always confirm in official documentation before committing to a migration target.
| API |
Active |
Async Pattern |
Verified Pricing From |
Docs |
| Runway API |
Active |
Create job → poll task → retrieve |
$0.05/sec (gen4_turbo) |
docs.dev.runwayml.com |
| Google Veo 3.1 (Gemini API) |
Preview |
predictLongRunning → poll operation |
$0.05/sec (Lite 720p) |
ai.google.dev/gemini-api |
| Luma Dream Machine API |
Active |
POST create → GET poll → retrieve |
See official pricing page |
docs.lumalabs.ai |
| Pika via Fal.ai |
Partner-hosted |
Fal.ai async job queue |
$0.20 per 5-sec 720p |
fal.ai |
| Kling AI API |
Active |
Developer portal async API |
See official pricing page |
kling.ai/dev |
API Details
Runway provides a first-party developer API with Gen-4.5 available since 10 February 2026. The async pattern — create job, poll task, retrieve result — directly mirrors the Sora Videos API pattern, making it the most structurally similar migration target in terms of integration shape. Supports text-to-video and image-to-video generation.
Endpoints
POST /v1/text_to_video
POST /v1/image_to_video
GET /v1/tasks/{id}
Async Pattern
Create job → poll task status → retrieve output. Same structural pattern as Sora's POST /videos → GET /videos/{id} flow.
Verified Pricing
| Model | Rate | Per Second |
| gen4.5 | 12 credits/sec | $0.12/sec |
| gen4_turbo | 5 credits/sec | $0.05/sec |
| gen4_aleph | 15 credits/sec | $0.15/sec |
| veo3.1 (with audio) | 40 credits/sec | $0.40/sec |
| veo3.1 (without audio) | 20 credits/sec | $0.20/sec |
| veo3.1_fast (with audio) | 15 credits/sec | $0.15/sec |
| veo3.1_fast (without audio) | 10 credits/sec | $0.10/sec |
Credits priced at $0.01/credit. Verify current credit pricing at official docs before production budget planning.
View Runway API Docs
Source: docs.dev.runwayml.com/guides/pricing/ — Verified 4 June 2026
⚠ Preview status: All Veo 3.1 model variants are currently in PREVIEW — not stable release. Preview APIs may change, have usage limits, or be discontinued. Do not treat this as a stable production dependency without evaluating stability requirements carefully.
Google Veo 3.1 is available through the Gemini API on paid tiers. Three model variants are documented — standard, fast, and lite — with different pricing and output resolution support. Integration requires using the predictLongRunning endpoint pattern or the generate_videos SDK method with operation polling.
Model IDs
veo-3.1-generate-preview
veo-3.1-fast-generate-preview
veo-3.1-lite-generate-preview
Endpoint Pattern
POST .../models/veo-3.1-generate-preview:predictLongRunning
# SDK method:
client.models.generate_videos(...)
Verified Pricing (per generated second, with audio where applicable)
| Tier / Resolution | Price per Second |
| Standard 720p / 1080p | $0.40/sec |
| Standard 4K | $0.60/sec |
| Fast 720p | $0.10/sec |
| Fast 1080p | $0.12/sec |
| Fast 4K | $0.30/sec |
| Lite 720p | $0.05/sec |
| Lite 1080p | $0.08/sec |
| Lite 4K | Not supported |
Charged on successful generation only. Verify current pricing at ai.google.dev/gemini-api/docs/pricing.
View Gemini API Docs
Source: ai.google.dev/gemini-api/docs/pricing — Verified 4 June 2026
Luma Labs provides a first-party API for Dream Machine video generation. The API supports text-to-video, image-to-video, keyframe-guided generation, looping, aspect ratio control, video extension, and callback events. The create-then-poll pattern is structurally comparable to Sora's async flow.
Base URL and Endpoints
Base: https://api.lumalabs.ai/dream-machine/v1/generations
POST /generations — create generation
GET /generations/{id} — retrieve / poll status
GET /generations — list generations
DELETE /generations/{id} — delete generation
Supported Capabilities
- ▸ Text-to-video generation
- ▸ Image-to-video generation
- ▸ Keyframe inputs
- ▸ Looping control
- ▸ Aspect ratio control
- ▸ Video extension
- ▸ Completion callbacks
Models documented: ray-flash-2, ray-2
Pricing
View Luma API Docs
Source: docs.lumalabs.ai/docs/video-generation — Verified 4 June 2026
⚠ Not a direct Pika API: Pika models are distributed through Fal.ai, not hosted directly by Pika. This integration carries a dependency on Fal.ai's infrastructure and terms of service. Evaluate this dependency against your production requirements.
Pika v2.2 is available for developer access through Fal.ai's model routing platform. Integration is against Fal.ai's API infrastructure — not a direct Pika-hosted endpoint. Useful for workflows where Fal.ai is already an existing dependency.
Model Route
fal-ai/pika/v2.2/text-to-video
Verified Pricing
| Output | Price |
| 5-second video at 720p | $0.20 |
| 5-second video at 1080p | $0.45 |
Verify current pricing at fal.ai/models/fal-ai/pika/v2.2/text-to-video.
View on Fal.ai
Source: fal.ai/models/fal-ai/pika/v2.2/text-to-video — Verified 4 June 2026
Kling AI provides an official developer API through its developer portal at kling.ai/dev. It is particularly noted for multi-shot generation and cinematic-style video workflows. The API has an official developer portal with documentation and authentication.
Pricing
Pricing not published here. Exact Kling AI pricing figures were not fully verified during research (site access was blocked). See the official pricing page:
kling.ai/dev/pricing
Best For
Multi-shot generation workflows and cinematic-style video production pipelines requiring structured shot control.
View Kling Developer Portal
Source: kling.ai/dev — Verified 4 June 2026
Excluded: Stability AI Stable Video API
Stability AI discontinued its hosted Stable Video API on 24 July 2025. Self-hosted deployment may still be available under Stability's licensing terms. It is not included as an active hosted API alternative for Sora migration purposes and should not be treated as a viable hosted replacement target.
Suggested Migration Timeline
112 days remain from 4 June 2026. The following milestones are a suggested framework — adjust to your team's sprint cadence and production requirements.
Jun 12
Inventory all Sora dependencies
Audit codebase for all uses of Videos API endpoints, sora-2 model variants, webhook handlers, and batch queue integrations. Use the search strings listed in the section below.
Jun 26
Select 2–3 candidates and build proof of concept
Narrow to 2–3 API candidates based on your required capabilities. Build minimal POC integrations to validate async patterns, output format, and latency under realistic conditions.
Jul 17
Benchmark quality, cost, latency
Run systematic benchmarks across your candidate APIs. Compare generation quality, per-second cost at your expected volume, p95 latency, and error rate. Decide on primary and fallback providers.
Aug 7
Implement provider abstraction layer
Build the adapter interface (see section below) to decouple your application code from any specific provider. This enables provider switching without application-level changes.
Aug 28
Shadow / limited production traffic
Route a defined percentage of production traffic through the new provider in shadow mode or behind a feature flag. Validate output quality and system behaviour under real load.
Sep 10
Complete production cutover
Complete full migration to replacement provider(s). Confirm all Sora API calls, polling logic, webhook handlers, and batch queue integrations are removed or replaced. 14-day buffer before deadline.
Sep 24
DEADLINE — All Sora models removed
OpenAI removes the Videos API, sora-2, sora-2-pro, sora-2-2025-10-06, sora-2-2025-12-08, and sora-2-pro-2025-10-06. All API calls to these models will fail after this date.
Codebase Audit: Search Strings
Search your codebase, CI configuration, and environment variable references for the following strings to identify all Sora API dependencies that require migration.
sora-2
sora-2-pro
/videos
openai.videos
videos.create
videos.createAndPoll
video.completed
video.failed
Also check: environment variable names containing SORA, webhook endpoint registrations, and any API key scopes provisioned specifically for the Videos API.
grep -r "sora-2" ./src --include="*.ts" --include="*.js" --include="*.py"
grep -r "videos\.create" ./src --include="*.ts" --include="*.js"
grep -r "video\.completed\|video\.failed" ./src
grep -r "/videos" ./src --include="*.ts" --include="*.js" --include="*.py"
grep -r "openai\.videos" ./src
Provider Abstraction: Recommended Interface
Rather than coupling your application code to any single provider's API, implement a provider abstraction layer with a consistent interface. This allows swapping providers without changes to your application logic.
createVideo(params)
Submit a video generation job. Returns a job ID. Maps to POST /videos equivalent per provider.
getJobStatus(jobId)
Poll job state. Returns status: pending / processing / completed / failed. Maps to GET /videos/{id} equivalent.
getVideoOutput(jobId)
Retrieve the completed video file URL or binary. Called only after status is completed.
cancelJob(jobId)
Attempt to cancel a pending or in-progress job. Provider support varies — implement with graceful fallback.
extendVideo(params)
Extend an existing video clip. Not all providers support this capability — implement feature detection.
supportsNativeAudio()
Boolean. Returns whether the provider supports native audio generation. Relevant for Veo 3.1 variants and Runway veo3.1 routes where audio pricing differs.
estimateCost(params)
Estimate cost before job submission based on duration, resolution, and model. Useful for budget guardrails in high-volume pipelines.
interface VideoGenerationProvider {
createVideo(params: VideoParams): Promise<{ jobId: string }>;
getJobStatus(jobId: string): Promise<JobStatus>;
getVideoOutput(jobId: string): Promise<VideoOutput>;
cancelJob(jobId: string): Promise<void>;
extendVideo(params: ExtendParams): Promise<{ jobId: string }>;
supportsNativeAudio(): boolean;
estimateCost(params: VideoParams): Promise<CostEstimate>;
}
type JobStatus = 'pending' | 'processing' | 'completed' | 'failed';
Frequently Asked Questions
Is the Sora API still working now?
+
Yes. As of 4 June 2026, the Sora Videos API and all sora-2 model variants remain operational. OpenAI announced deprecation on 24 March 2026, but the scheduled removal date is 24 September 2026. You have until that date to complete migration. Do not treat the API as non-functional — it currently works; plan migration before the removal deadline.
What is the exact removal date for the Sora API?
+
OpenAI has scheduled the removal of the Videos API and all sora-2 model variants for
24 September 2026. Deprecation was announced on 24 March 2026 — that is the announcement date, not the removal date. Source:
developers.openai.com/api/docs/deprecations
Did OpenAI provide an official replacement API?
+
No. As of 4 June 2026, OpenAI's deprecation table lists no recommended replacement for the Sora Videos API or sora-2 model variants. Developers must independently evaluate third-party alternatives. This is an unusual deprecation in that respect — OpenAI has not directed developers to a successor product or API within its own platform.
Which API is closest to Sora's async pattern?
+
Runway's API uses the same async job pattern as Sora: create job → poll task → retrieve result, with POST /v1/text_to_video, POST /v1/image_to_video, and GET /v1/tasks/{id} endpoints. Luma Dream Machine's API also follows a create-then-poll pattern with POST and GET endpoints. Always verify current documentation before building your integration — API patterns can change.
What happens if I don't migrate before September 24?
+
After 24 September 2026, all calls to the After 24 September 2026, all calls to the Sora Videos API and sora-2 model endpoints will fail. Any product or workflow depending on these endpoints will break. OpenAI's deprecation notice is the official source for this date. Begin migration planning now — 112 days is sufficient time if you start immediately, but insufficient if you wait until August.