Velokey
Tutorials

Sora 2 API: Pricing, Access & Setup Guide (2026)

Sora 2 API costs $0.10/sec at 720p. Full pricing breakdown, access guide, and working code for Sora 2 and Sora 2 Pro.

Sora 2 API: Pricing, Access & Setup Guide (2026)

TL;DR

  • The Sora 2 API is live from OpenAI through the /v1/videos endpoint, with two models: sora-2 ($0.10/sec at 720p) and sora-2-pro ($0.30–$0.70/sec depending on resolution)
  • A single 10-second 720p clip on sora-2 costs about $1.00; the same length on sora-2-pro at 1080p runs $7.00
  • Access needs a paid OpenAI account — most developers hit it at usage Tier 2, reached after $10 of API spend
  • You call it asynchronously: submit a prompt, poll for the job, then download the finished MP4. Working code is below

OpenAI's Sora 2 shipped as an API, not just a consumer toy. That changes who can build with it. You can now generate video with synchronized audio from a text prompt, program it into a pipeline, and pay by the second instead of a flat subscription. The pricing is public and the endpoint is stable. What trips people up is access tiers, the two model variants, and the async call pattern. Here's everything you need to ship with it.

Sora 2 API pricing, access, and setup guide
Sora 2 API: text-to-video with synchronized audio, priced per second

What is the Sora 2 API?

The Sora 2 API is OpenAI's programmatic interface for generating video from text or image prompts, served through the /v1/videos endpoint. It ships in two variants: sora-2 for standard work and sora-2-pro for higher-resolution exports.

Both take a text prompt (and optionally an image) and return an MP4 with native, synchronized audio — you don't stitch a separate soundtrack. The current standard snapshot is sora-2-2025-12-08; the older sora-2-2025-10-06 snapshot is deprecated, so new integrations should target the unversioned sora-2 identifier or the latest snapshot.

Sora 2 API at a glance:

Capabilitysora-2sora-2-pro
Base price (720p)$0.10/sec$0.30/sec
Max resolution720p (1280×720)1080p (1920×1080)
Native audioYesYes
InputsText, imageText, image
Clip length (single gen)Up to 20 secUp to 20 sec
With extensionsUp to 120 secUp to 120 sec
Endpoint/v1/videos/v1/videos

*Source: OpenAI API documentation, developers.openai.com, 2026*

The two models share the same endpoint and parameters, so switching between them is a one-line change to the model field. That matters when you're prototyping on the cheaper sora-2 and only promoting the shots that need 1080p to sora-2-pro.

How much does the Sora 2 API cost?

The Sora 2 API bills per second of generated video. sora-2 is a flat $0.10/sec at 720p. sora-2-pro scales with resolution: $0.30/sec at 720p, $0.50/sec at 1024p, and $0.70/sec at 1080p.

There's no monthly minimum and no separate audio charge — the price covers the video with its synchronized soundtrack.

Official Sora 2 API pricing (per second of output):

ModelResolutionPrice/sec
sora-2720p (1280×720)$0.10
sora-2-pro720p (1280×720)$0.30
sora-2-pro1024p (1792×1024)$0.50
sora-2-pro1080p (1920×1080)$0.70

*Source: OpenAI API pricing, 2026. Portrait orientations (e.g. 720×1280) are priced the same as their landscape equivalents.*

Per-second sounds cheap until you multiply it out. A short clip is a few cents to a couple of dollars; a batch of them for A/B testing adds up fast. Here's what real clip lengths cost:

What a single clip actually costs:

Model & resolution8-sec clip12-sec clip20-sec clip
sora-2 720p$0.80$1.20$2.00
sora-2-pro 720p$2.40$3.60$6.00
sora-2-pro 1080p$5.60$8.40$14.00
Sora 2 API pricing across models and resolutions
Sora 2 vs Sora 2 Pro per-second cost, and what common clip lengths add up to

The gap between standard and Pro is 3× to 7×. So the real cost lever isn't a discount — it's not calling sora-2-pro for drafts you're going to throw away. Prototype on sora-2 at 720p, review, then re-render only the keepers at Pro resolution.

Sora 2 vs Sora 2 Pro: which should you use?

Use sora-2 for iteration, social clips, and anything that lives at 720p. Use sora-2-pro only when you need 1080p output or the extra fidelity justifies paying three to seven times more per second.

The two models produce different quality tiers, but they're not different workflows. Same endpoint, same parameters, same async pattern. That's deliberate — OpenAI wants you to prototype cheap and promote to Pro without rewriting anything.

  • `sora-2` — the default for most work. Fast enough for iteration, cheap enough to generate variations, and 720p is fine for social, previews, and internal review.
  • `sora-2-pro` — reach for it when the deliverable is a 1080p export, a client-facing hero shot, or a scene where motion detail and sharpness actually matter.

One caveat: both models cap a single generation at 20 seconds. For longer sequences you chain extensions — up to six of them, 20 seconds each, for a maximum of 120 seconds total. Each extension is billed as its own generation, so a 120-second Pro 1080p video is roughly $84 in per-second cost, not a flat rate. Plan longer content around that math.

How do you get access to the Sora 2 API?

Sora 2 API access requires a paid OpenAI account. Free accounts can't call it. In practice most developers unlock it at usage Tier 2, which you reach after spending at least $10 on the API and waiting out the tier's time requirement.

Your account tier also sets your rate limit, which matters the moment you move past testing.

Sora 2 API rate limits by tier (requests per minute):

Tiersora-2 RPMsora-2-pro RPM
Tier 12510
Tier 250
Tier 3125
Tier 4200
Tier 5375150

*Source: OpenAI API rate limit documentation, 2026*

There are three ways to reach the model:

Path 1: OpenAI directly

  • Native access, latest snapshots first, full parameter control
  • Requires a paid account at the right tier and separate key management
  • One more provider to bill, monitor, and rate-limit against
  • Best for: teams already standardized on OpenAI

Path 2: Third-party aggregators

  • Pay-as-you-go, often without hitting OpenAI's tier requirements yourself
  • Quality and uptime vary by provider; some wrap the official API, some don't
  • Best for: developers who want Sora 2 without managing OpenAI account tiers

Path 3: Unified API gateway (OpenAI-compatible)

  • One API key and one integration for Sora 2 alongside other video and text models
  • No per-provider tier gating — the gateway handles upstream access and failover
  • Swap between sora-2, sora-2-pro, and other video models by changing one identifier
  • Best for: teams building video products that want to test and switch models without rebuilding

If you're only ever calling Sora 2 and already run on OpenAI, going direct is simplest. The friction shows up when you want Sora 2 next to other models, or you don't want to babysit tier requirements. A unified gateway like Velokey gives you one OpenAI-compatible endpoint that reaches Sora 2 and other video models on the same key — no separate account or tier to clear for each provider.

How do you call the Sora 2 API in code?

Sora 2 is asynchronous. You submit a generation request, get back a job, poll until it's done, then download the MP4. The OpenAI SDK gives you a helper that handles the polling loop for you.

Here's the minimal pattern in Python:

from openai import OpenAI

client = OpenAI(api_key="sk-...")  # use an environment variable, never hardcode

# Submit and wait for completion in one call
video = client.videos.create_and_poll(
    model="sora-2",              # or "sora-2-pro" for 1080p
    prompt="A drone shot flying over a coastal city at sunset, cinematic",
    size="1280x720",
    seconds="8",
)

# Download the finished MP4
content = client.videos.download_content(video.id)
content.write_to_file("output.mp4")
print("Saved output.mp4")

If you'd rather manage the polling yourself — for a job queue or a webhook flow — split it into create and retrieve:

import time

# Kick off the job and return immediately
job = client.videos.create(
    model="sora-2",
    prompt="A drone shot flying over a coastal city at sunset, cinematic",
    size="1280x720",
    seconds="8",
)

# Poll on your own schedule (every 10–20 seconds is reasonable)
while True:
    job = client.videos.retrieve(job.id)
    if job.status in ("completed", "failed"):
        break
    time.sleep(15)

The key parameters are model (sora-2 or sora-2-pro), prompt, size (the resolution string, e.g. 1280x720), and seconds (clip length). Through a unified gateway the code is identical — you point base_url at the gateway and keep the same OpenAI SDK, so nothing about your integration changes except the endpoint and key.

Practical tip: Keep the model and size as config values, not hardcoded strings. Then promoting a shot from sora-2 720p to sora-2-pro 1080p is a config change, not a code change — and your cost per render is one edit away from being tuned.

Frequently Asked Questions

How much does the Sora 2 API cost per video?

sora-2 costs $0.10 per second at 720p, so an 8-second clip is $0.80 and a 20-second clip is $2.00. sora-2-pro costs $0.30/sec at 720p, $0.50/sec at 1024p, and $0.70/sec at 1080p — a 10-second 1080p Pro clip runs $7.00. Billing is per second of generated video, with audio included.

What's the difference between sora-2 and sora-2-pro?

Both generate video with synchronized audio from the same endpoint and parameters. sora-2 maxes out at 720p and costs $0.10/sec. sora-2-pro goes up to 1080p and costs 3× to 7× more per second depending on resolution. Use sora-2 for iteration and 720p output; switch to sora-2-pro only when you need higher resolution.

How do I get access to the Sora 2 API?

You need a paid OpenAI account. Free accounts can't use it, and most developers reach it at usage Tier 2, which requires at least $10 of API spend. Alternatively, third-party aggregators and unified API gateways provide Sora 2 access without clearing OpenAI's tier requirements yourself.

How long can Sora 2 API videos be?

A single generation is capped at 20 seconds for both sora-2 and sora-2-pro. You can chain up to six extensions of 20 seconds each to reach a maximum of 120 seconds. Each extension is billed separately as its own generation, so longer clips scale in cost accordingly.

Does the Sora 2 API generate audio?

Yes. Both models return video with native, synchronized audio in a single generation — you don't add a separate soundtrack. The per-second price already includes the audio track.

Can I use the Sora 2 API without an OpenAI account?

Not directly — OpenAI requires a paid account at the right usage tier. But you can reach Sora 2 through a unified API gateway or aggregator that handles the upstream OpenAI access for you, so you integrate against one OpenAI-compatible endpoint without managing OpenAI's account tiers yourself.


Want Sora 2 without juggling OpenAI account tiers? [Get your Velokey API key](/) and call sora-2 and sora-2-pro through one OpenAI-compatible endpoint — reach video and text models on the same key, with automatic failover and no per-provider tier to clear.


*Last updated: July 6, 2026. Pricing and model details in this article are drawn from OpenAI's official API documentation at the time of writing. Per-second rates, rate limits, and available snapshots are set by OpenAI and may change — verify current numbers against the official pricing page before committing to production budgets.*