AI Troubleshooting12 min

Sora 2 Error Code List: Current API, App, Policy, Rate Limit, and Shutdown Triage

Use this current Sora 2 error-code guide to separate OpenAI API errors, Sora video job states, prompt and policy blocks, rate limits, quota, access, provider-owned errors, and the 2026 Videos API shutdown boundary.

VideoAI Expert
VideoAI Expert
YingTu Editorial
8 июл. 2026 г.
12 min
Sora 2 error owner board separating API errors, video job states, policy blocks, rate limits, access issues, and shutdown planning
yingtu.ai

Содержание

Заголовки не найдены

Do not treat every Sora 2 failure as one universal "error code." The current evidence splits into several surfaces: OpenAI Platform API status codes, Sora video job states, prompt and policy blocks, ChatGPT or Sora app messages, posting/export failures, and provider-owned wrapper errors. A fix that works for one surface can make another worse.

As rechecked on July 8, 2026, OpenAI's public API error guide documents common API branches such as 401, 403, 429, 500, and 503; the video guide describes Sora generation as an asynchronous POST /v1/videos job with states such as queued, in_progress, completed, and failed; and the deprecations page lists the Videos API plus sora-2 and sora-2-pro for API removal on September 24, 2026. That means a current Sora 2 error guide should help you identify the owner, not preserve a stale table of unsupported numeric folklore.

First Split: Which Surface Failed?

Start by recording the exact wording, screenshot or response body, endpoint, model, project, organization, timestamp, request id if present, and whether the failure happened before create, while queued, during generation, after completion, or during posting/export. Then choose the surface.

Failure surfaceTypical signalPrimary ownerNext move
Direct OpenAI Platform APIHTTP status, JSON error body, headersOpenAI API request, project, org, model, billing, or statusRead body and headers before retrying
Sora video jobqueued, in_progress, completed, failed, progress, video idVideos API job lifecyclePoll reasonably, use webhook, inspect job error
Prompt or policy blockunsafe, content violation, invalid prompt, real person, copyrighted character, face inputPrompt, reference asset, or Sora guardrailRewrite the request; do not retry blindly
Rate or quota pressure429, too many requests, quota, billing, monthly spendProject/org/model limit or billing stateSeparate rate pressure from quota stop
ChatGPT or Sora app UIvisible banner, generation button disabled, saved draft, post failureConsumer app surfaceUse app state, account, saved file, and support evidence
Wrapper or gatewayprovider dashboard error, route id, pool full, upstream unavailableProvider contract first, upstream secondCompare provider logs with upstream response

If your visible problem is already narrow, use the narrow owner. The Sora 2 429 guide owns active job queues and rate-limit recovery. The Sora 2 API size-error guide owns size, seconds, and reference-image validation. The Sora 2 invalid prompt guide owns invalid prompt wording beyond generic codes. The Sora 2 content violation guide owns policy-specific refusal wording. Keep this page as the broad router.

Current API Error Reference

OpenAI's API error guide documents these relevant branches for direct Platform API calls. The important detail is not the code alone; it is the owner behind the code.

API status or wordingWhat it usually meansWhat to check firstRetry?
401 invalid authenticationThe API key, org, or authentication context is wrongAPI key, selected organization, project, key scopeNo, fix auth first
401 incorrect API keyThe key is incorrect or no longer activeCurrent key, environment variable, secret storeNo
401 must be a member of an organizationAccount is not in the required organizationOrganization membership and selected orgNo
401 IP not authorizedProject/org IP allowlist rejected the source IPIP allowlist and deployment egress IPNo
403 unsupported country, region, or territoryAPI request is from an unsupported locationOfficial supported-countries page and deployment regionNo
429 rate limit reachedRequests are arriving too quicklyRate-limit headers, Limits page, project, model, queueYes, after backoff and throttling
429 exceeded current quotaCredits, monthly spend, billing, or quota is exhaustedBilling, Usage, Limits, spend capNo, until account state changes
500 server errorOpenAI-side processing issueRequest id, status page, retry after brief waitLimited retry
503 overloadedHigh traffic or service overloadStatus page and recent retry patternLimited retry
503 Slow DownSudden request-rate increase affects reliabilityReduce rate, hold steady, ramp graduallyOnly after slowing traffic

Do not replace this with an old universal Sora table. Current API limits vary by organization, project, model, and usage tier. OpenAI's rate-limit guide also says response headers can expose limit, remaining, and reset values, and that unsuccessful requests can still contribute to per-minute limits. So a tight retry loop can extend the incident.

Sora Video Job States

Sora generation is not a short synchronous request. The official video guide says POST /v1/videos returns a job object with an id and an initial status such as queued or in_progress; you then poll GET /videos/{video_id} or use webhooks until the job finishes. Once the job reaches completed, you fetch the MP4 with GET /videos/{video_id}/content.

Use job state as the next diagnostic layer:

Job stateMeaningPractical response
queuedThe render is accepted but waitingKeep the local slot reserved and avoid duplicate creates
in_progressThe video is being generatedPoll every 10 to 20 seconds or use webhooks
completedThe render finishedDownload and store the asset promptly
failedThe job ended without a usable videoInspect the job error and classify owner before retrying

Video generation can take several minutes depending on model, API load, and resolution. A frontend should not keep submitting new jobs just because a previous job is still waiting. Show queue state, prevent duplicate clicks, and keep one server-side owner for polling. If the repeated symptom is 429 while jobs are still active, hand off to the Sora 2 429 and concurrency guide.

Prompt, Policy, and Guardrail Blocks

For Sora 2 API jobs, OpenAI's video guide lists several content restrictions: the API enforces content suitable for audiences under 18, rejects copyrighted characters and copyrighted music, does not generate real people including public figures, blocks character uploads that depict human likeness by default, and currently rejects input images with human faces.

That means a policy or prompt block is not the same as a transient server error. Retrying the same prompt can waste quota or create repeated refusals. Instead, separate the failure:

Visible clueLikely ownerBetter next step
unsafe, content violation, disallowed, or policy wordingSafety boundaryUse the content violation guide
invalid prompt, vague rejection, or prompt cannot be processedPrompt structure or unsupported requestUse the invalid prompt guide
real person, public figure, face input, or human likeness referenceSora guardrailRemove human-likeness dependency or use an eligible approved route
copyrighted character or musicIP boundaryReplace the protected reference with original description
image reference mismatch, unsupported file, or wrong target resolutionInput validationUse the size-error guide

Do not use prompt obfuscation, bypass wording, or policy-evasion recipes. A current troubleshooting page should help the reader reach a valid request or stop safely, not hide the policy owner.

Rate Limit, Quota, and Billing Errors

429 has two major branches. One branch is traffic pressure: requests are too fast, status polling is too aggressive, or active video jobs are not being queued. That branch can use backoff, random jitter, lower concurrency, and a server-side queue.

The other branch is quota or account state: current quota exceeded, credits exhausted, maximum monthly spend reached, wrong project, wrong organization, or unavailable model. That branch should not be retried until the account state changes.

Use this small decision table:

EvidenceAction
Response says rate limit reached and headers show reset timingBack off with jitter, pause workers, then resume gradually
Response says current quota exceeded or insufficient quotaStop retries; inspect Billing, Usage, Limits, and spend cap
Only video create calls fail while status polling succeedsInspect active jobs, size/duration, and video-specific quota
Status polling itself fails with 429Slow the poller and centralize job state in your backend
Multiple app surfaces fail during a status incidentPreserve evidence and wait instead of rotating accounts

For exact code patterns, use the Sora 2 429 guide or the broader OpenAI API rate-limit guide. This page's job is to route the error correctly.

Access, Authentication, and Permission Errors

Authentication failures should be fixed at the credential and scope layer. Do not regenerate keys, change projects, switch models, and rewrite retry logic in one pass; that makes the evidence unreadable.

For direct API calls, check:

LayerWhat to verify
API keyIt is the active key used by the running service, not an old local value
OrganizationThe request is sent under the org whose Limits and Billing page you inspected
ProjectThe key belongs to the project that has the model and spend capacity
IP allowlistThe deployed service egress IP is allowed if IP restrictions are enabled
RegionThe request originates from a supported API country, region, or territory
Model accesssora-2 or sora-2-pro is actually available to that project before shutdown

For app UI failures, collect account email, plan surface, region, screenshot, timestamp, and exact wording. Consumer app limits and Platform API limits are not automatically the same contract.

Size, Duration, Reference, and Download Errors

The video guide is explicit about several Sora-specific validation rules. sora-2 and sora-2-pro support 16- and 20-second generations in the current guide. sora-2-pro is the route for 1080p exports in 1920x1080 or 1080x1920. Image references must match the target video size, and supported image input formats are image/jpeg, image/png, and image/webp.

Common validation branches:

SymptomLikely branchBetter owner
size, aspect ratio, or reference image mismatchRequest validationSora 2 API size-error guide
long render or user repeats submissionAsync job lifecycleThis page plus 429/concurrency guide
failed after completion when downloadingAsset retrieval or temporary URLSave final MP4 to your own storage promptly
thumbnail or spritesheet confusionVariant selectionUse variant=thumbnail, variant=spritesheet, or default video route
offline shot list failsBatch request shapeBatch must use JSON and currently supports POST /v1/videos only

OpenAI's video guide also says generated download URLs are time-limited. If your product needs durable delivery, copy completed assets to your own storage instead of depending on the temporary content URL.

Provider-Owned and Wrapper Errors

A wrapper can be useful, but its error is not automatically an OpenAI Platform error. It may have its own queue, credit ledger, route labels, upstream retry policy, and billing rules. If a provider returns "Sora compatible," "pool full," "rate limited," or "generation failed," record the provider route id and ask whether the request reached OpenAI at all.

Collect:

EvidenceWhy it matters
Provider account and route idShows which contract owned the request
Provider request idLets support trace local routing
Upstream OpenAI response, if exposedSeparates provider pool issues from OpenAI API issues
Billing or credit recordShows whether the failed job was charged
Final asset URL and retention ruleConfirms whether a completed render is retrievable

Do not promise that a third-party route has lower error rates, higher concurrency, cheaper permanent Sora access, or watermark-free output unless the current provider evidence proves that exact claim. This broad error-code owner should not become a gateway sales page.

The September 24, 2026 Shutdown Boundary

The current OpenAI deprecations page says developers using the Videos API and Sora 2 video generation model aliases and snapshots were notified on March 24, 2026 of API removal on September 24, 2026. The listed entries include 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.

So the final branch in any Sora 2 API error list is lifecycle. If a new error appears after a deployment, ask whether the route is approaching shutdown, already removed, or replaced by a different product surface. For existing integrations, keep logs and abstractions clean:

Migration controlWhy it helps
Store prompt, model, size, seconds, and reference metadataLets you replay or translate jobs later
Keep a provider abstractionAvoids hard-coding product code to a removed API
Save completed assets outside temporary download URLsPreserves user work
Tag errors by ownerShows which failure types block migration first
Avoid new long-term Sora-only assumptionsReduces rework after shutdown

This is not a reason to panic over every current Sora error. It is a reason not to treat a 2025-style error table as permanent infrastructure.

Support Packet Checklist

If the error survives the first fix, create a clean support packet before changing more variables:

IncludeExclude
Exact error body or screenshotAPI keys, bearer tokens, private user data
Timestamp with timezoneUnredacted private prompts if not needed
Endpoint and modelRandom guesses about quotas
Project and organizationClaims copied from old blog tables
Video id and job statusMultiple unrelated failed experiments mixed together
Request id if presentBrowser cache theories without evidence
OpenAI Status snapshotThird-party claims without provider logs

For broad unknown errors, support can act faster when the owner is already narrowed: API status code, video job lifecycle, policy block, rate limit, quota, access, provider, or app UI. A clean packet also prevents your own team from "fixing" the same incident three different ways.

FAQ

Are Sora 2 error codes 1001-1008 official public codes?

Do not assume that. If an app or wrapper shows a numeric local code, capture the exact wording and route it by owner. OpenAI's public API error guide documents common HTTP/API branches such as 401, 403, 429, 500, and 503.

What should I do first after a Sora 2 error?

Identify the surface: direct API, video job state, prompt/policy block, ChatGPT or Sora app UI, posting/export, or provider wrapper. Then collect the error body, timestamp, model, endpoint, project, organization, video id, and request id if present.

Is 429 always a rate-limit error?

No. OpenAI documents a rate-limit branch and a quota/billing branch under 429. Rate pressure can use backoff and queues. Quota or billing needs account repair before retrying.

Why did my Sora job fail after it was accepted?

Sora jobs are asynchronous. A create call can return queued or in_progress, then the job can later reach failed. Inspect the final job error and classify it as prompt, policy, size, quota, status, or provider-owned before retrying.

Can I keep using this page after September 24, 2026?

Use it as a historical triage map only if the Videos API removal has already happened. For current production decisions after that date, check the newest OpenAI video or media-generation docs before applying any Sora 2 API guidance.

Should I switch to a third-party API when errors persist?

Only after you verify the provider's current route, billing, logs, upstream evidence, support path, and shutdown exposure. A provider can own a useful contract, but it does not change OpenAI's official error semantics or lifecycle notices.

Use Sora 2 429 and concurrency errors for active jobs, queueing, and rate-limit recovery. Use Sora 2 API size errors for size, seconds, and reference-image problems. Use Sora 2 invalid prompt fixes when the prompt is the owner. Use Sora 2 content violation for safety-policy refusals. Use failed to post Sora 2 when the video exists but publishing, saving, or posting fails.

Теги

Поделиться статьей

XTelegram

Похожие статьи

Схема восстановления публикации Sora 2 после закрытия приложения
AI工具指南
7 мая 2026 г.8 min

Sora 2 не публикует видео: что можно сделать после закрытия приложения

Как разобрать сбой публикации Sora 2: сохраненный файл, черновик, закрытие приложения, политика, OpenAI Status и отдельные задачи Sora API.

Sora 2OpenAI
Читать
Диагностическая схема ошибок загрузки изображений в ChatGPT с ветками файла, лимита, хранилища, браузера, аккаунта, статуса и API
AI工具指南
19 мая 2026 г.11 min

ChatGPT не загружает изображения: проверьте кнопку, файл, лимит, хранилище и статус

Практичный разбор ошибок загрузки изображений в ChatGPT: кнопка неактивна, файл отклонен, превышен лимит, заполнено Library-хранилище, мешает браузер или приложение, рабочая область, статус OpenAI или API-маршрут.

ChatGPTзагрузка изображений
Читать
Схема восстановления после лимита сообщений ChatGPT: сохранить диалог, найти владельца лимита и безопасно продолжить
AI工具指南
15 июл. 2026 г.12 min

ChatGPT достиг лимита сообщений: сохраните работу и проведите 3 коротких теста

Если ChatGPT достиг лимита сообщений, сохраните диалог и проверьте короткий запрос в том же чате, чистый текст без инструментов и новый чат, прежде чем ждать, переключаться или разбирать API 429.

ChatGPTMessage Limits
Читать