Seedance 2.5 is live — 30-second cinematic video with native audio & real-person references
Sora 2 API停止:エクスポート・マイグレーション・実コスト検証
2026/08/25

Sora 2 API停止:エクスポート・マイグレーション・実コスト検証

Sora 2 API は2026年9月24日に停止。公式代替なし。動画をエクスポート、APIエンドポイントを書き換え、各プランの実コストを検証します。

Sora 2 APIは2026年9月24日に停止し、OpenAIの非推奨リストには代替が記載されていません。各行(Videos API、sora-2sora-2-pro、3つの日付付きスナップショット)の「Recommended replacement」欄は空です[1]。これは異例です。OpenAIがgpt-image-1を廃止した時は、同じテーブルでgpt-image-2を開発者に示唆しました[1]。動画生成には引き継ぎがありません。

これはモデル入れ替えではなく、エンドポイント削除です。二つの問題が同時に発生します。POST /videosを呼び出すコードと、GET /videos/{video_id}/contentでのみアクセス可能な保存済みアセットです。本ガイドでは、何が実際に削除されるのか、ライブラリをエクスポートする方法、APIコールの書き換え時の正確なフィールド違い、各プランでの代替コストをカバーします。

TL;DR

  • 停止日は2026年9月24日。3月24日に発表。Videos API、sora-2sora-2-prosora-2-2025-10-06sora-2-2025-12-08sora-2-pro-2025-10-06が対象[1]
  • 公式代替は存在しません。 同じテーブル内の他の非推奨項目と異なり、6行すべてで「Recommended replacement」欄が空です[1]
  • 生成済み動画はAPIの後ろに眠っています。 GET /videosでリスト化され、GET /videos/{video_id}/contentでダウンロード可能[2]。停止前にエクスポートしてください。
  • sora-2の$0.10/秒利用者は節約幅が小さいが確実です。 同等の720p+音声レートは$0.076~$0.11/秒[3][4][9]
  • sora-2-proの1080p利用者は$0.70/秒を支払中です。 同じクリップはveo3.1-fast-officialで$0.111/秒[3][4]
  • クリップ長の上限に注意してください。 Sora 2は16秒と20秒対応[2]。Veo 3.1は最大8秒/生成[4]

Sora 2 API停止で何が削除されるのか

OpenAIは2026年3月24日に非推奨化を発表し、Videos APIおよびSora 2エイリアス・スナップショットを使用する開発者に対して「2026年9月24日にAPIから削除される」と通知[1]。動画生成ガイドの最上部にも同じ通知があります[2]

6つの識別子が廃止されます:

停止日モデル / システム推奨代替
2026-09-24Videos API(なし)
2026-09-24sora-2(なし)
2026-09-24sora-2-pro(なし)
2026-09-24sora-2-2025-10-06(なし)
2026-09-24sora-2-2025-12-08(なし)
2026-09-24sora-2-pro-2025-10-06(なし)

出典:OpenAI非推奨ページ[1]

最初の行は過小評価されやすいです。日付付きスナップショットをピン留めしても、トランスポートが一緒に削除されるため追加時間は得られません。POST /videosGET /videos/{video_id}GET /videos/{video_id}/contentGET /videosDELETE /videos/{video_id}に触れるものはすべてリダイレクトではなく書き直しが必要[2]

停止前に動画ライブラリをエクスポートしてください

完成した動画はディスク上にはありません。OpenAIのストレージに存在し、取得の公式な方法はGET /videos/{video_id}/content[2]。このルートが削除されると、これらのファイルへの公式なAPI経路が消滅します。コード書き直しの前にエクスポートを実行してください。これは固いスケジュール要件のある唯一のマイグレーション段階です。

GET /videosはページネーション・ソート付きでライブラリを列挙[2]

curl "https://api.openai.com/v1/videos?limit=20&after=video_123&order=asc" \
  -H "Authorization: Bearer $OPENAI_API_KEY" | jq .

ページングして各idを記録し、ファイルを取得:

import os, requests

KEY = os.environ["OPENAI_API_KEY"]
H = {"Authorization": f"Bearer {KEY}"}

def all_video_ids():
    after, ids = None, []
    while True:
        params = {"limit": 100, "order": "asc"}
        if after:
            params["after"] = after
        page = requests.get("https://api.openai.com/v1/videos",
                            headers=H, params=params, timeout=60).json()
        batch = page.get("data", [])
        if not batch:
            return ids
        ids += [v["id"] for v in batch]
        after = batch[-1]["id"]

for vid in all_video_ids():
    dest = f"export/{vid}.mp4"
    if os.path.exists(dest):
        continue
    r = requests.get(f"https://api.openai.com/v1/videos/{vid}/content",
                     headers=H, timeout=600)
    r.raise_for_status()
    os.makedirs("export", exist_ok=True)
    with open(dest, "wb") as f:
        f.write(r.content)

リスト取得のJSONも保存してください。MP4ファイルだけでなく、各ジョブのmodelsecondssizecreated_atを含みます[2]。別のモデルに対してプロンプトを再構築する際、元のレンダリング仕様を知る必要があるためです。

呼び出しの書き直し:二つの形式の違い

両APIは非同期サブミット・ポーリング型なので、制御フローは保存されます。フィールド名は変わります。

ステップOpenAI Videos API[2]reAPI[5]
サブミットPOST /v1/videosPOST /api/v1/videos/generations
モデルフィールドmodel: "sora-2"model: "<model id>"
プロンプトフィールドpromptprompt
解像度size: "1280x720" (ピクセルペア)resolution: "720p" + size: "16:9"
期間seconds: "8" (文字列)duration: 5 (数値)
ジョブハンドルresponse内のidresponse内のtask_id
ポーリングGET /v1/videos/{video_id}GET /api/v1/tasks/{id}
ファイル取得GET /v1/videos/{video_id}/contentすでにoutput.video_urlsに含まれている

実運用では3つが問題になります。sizeは両側で異なる意味を持ちます。一方はピクセルペア、他方はアスペクト比で、解像度が独立したフィールドに分割されています。secondsは文字列でdurationは数値なので、値を素朴にコピーするとバリデーションメッセージではなく型エラーになります。そしてダウンロードステップは完全に消滅します。ポーリングレスポンスがすでにoutput.video_urls[5]を含むため、ファイル取得の第三エンドポイント呼び出しが不要です。

このコール:

video = openai.videos.create(model="sora-2", prompt=PROMPT,
                             size="1280x720", seconds="8")

こうなります:

r = requests.post("https://reapi.ai/api/v1/videos/generations",
                  headers={"Authorization": f"Bearer {REAPI_KEY}"},
                  json={"model": MODEL, "prompt": PROMPT,
                        "resolution": "720p", "size": "16:9", "duration": 8})
task_id = r.json()["task_id"]

現在のプランごとのマイグレーションコスト

多くの記事は単一の見出し節約を引用します。これは読者のSoraプランを無視した場合のみ機能します。実際の答えは二つに分かれます。

OpenAIが公表するSoraレート(秒単価)[3]

モデルサイズStandardBatch
sora-2720p$0.10$0.05
sora-2-pro720p$0.30$0.15
sora-2-pro1024p$0.50$0.25
sora-2-pro1080p$0.70$0.35

reAPIの720p+音声レート[4][6]と比較:

現在のプランSoraレート比較レート変化
sora-2 720p$0.10/sveo3.1-fast-official 720P + 音声、$0.092/s−8%
sora-2 720p$0.10/sWan 3.0 720P、$0.076/s−24%
sora-2 720p$0.10/sKling 3.0 std 720p + 音声、$0.11/s+10%
sora-2-pro 720p$0.30/sveo3.1-fast-official 720P + 音声、$0.092/s−69%
sora-2-pro 1080p$0.70/sveo3.1-fast-official 1080P + 音声、$0.111/s−84%
sora-2-pro 1080p$0.70/sKling 3.0 pro 1080p + 音声、$0.149/s−79%
sora-2-pro 1080p$0.70/sWan 3.0 1080P、$0.151/s−78%
sora-2-pro 1080p$0.70/sSeedance 2.5 1080P、$0.462/s−34%

plain sora-2の$0.10/秒利用者なら、基本的なティアは価格競争力があり、多くのスイッチはそこから数セント以内に着地します。Wan 3.0の720Pは例外で$0.076/秒、デフォルト音声トラック付き[9]、約24%低い。これは実際の節約で、いくつかの記事が約束する桁違いの削減ではありません。Batch API経由でsora-2を$0.05/秒[3]で実行していたなら、この比較で最も安い音声対応レートで、秒単価の上昇に備えてください。

sora-2-proの状況は逆です。1080pなら$0.70/秒を支払中で、同じ1秒分の1080p動画+音声はveo3.1-fast-officialで$0.111/秒[4]。20秒クリップなら$14.00対$2.22です。

課金詳細を慎重に引き継いでください。Veo 3.1は生成ごとに課金し、秒単位ではない[4]。一方、上記の-officialバリアントは秒単位です。異なる単位です。コスト計算が全秒単位を想定していると、生成ごとのティアはそれに対して調整できません。

20秒の問題

Sora 2は両バリアント対応で16秒と20秒生成[2]。すべての代替がそれを一度で達成するわけではなく、これは設定変更ではなく実際の書き直しを強制する可能性が最も高い制約です。

モデル最長単一生成
sora-2 / sora-2-pro20 s[2]
Seedance 2.530 s[6]
Wan 3.030 s[9]
Kling 3.015 s[7]
MiniMax H315 s[8]
Veo 3.18 s[4]

20秒のSoraショットは3回のVeo 3.1レンダリング+結合になります。パイプラインが長時間シーンを出力する場合、2つのモデルがSoraの制限を超えられます。Seedance 2.5は4~30秒(同期音声付き)[6]、Wan 3.0は2~30秒(デフォルト音声トラック付き)[9]。ベンチマーク品質する前に確認してください。ショット長を生成できないモデルは品質がどうであれ候補にはなりません。

FAQ

Sora 2 APIは正確にいつ停止しますか?

2026年9月24日。OpenAIは2026年3月24日に影響を受ける開発者に通知[1]

OpenAIは代替モデルを推奨しますか?

いいえ。Videos APIと5つのSora 2識別子すべてについて「Recommended replacement」欄は空[1]

sora-2-2025-10-06のような日付付きスナップショットを使い続けられますか?

いいえ。日付付きスナップショットはエイリアスと同じ9月24日に記載され、それを提供するVideos APIも非推奨[1]

既に生成した動画はどうなりますか?

GET /videos/{video_id}/content経由で取得されます。非推奨Videos APIの一部[2]。このエンドポイント削除後、これらのファイルへの公式APIルートは存在しないため、その日付前にエクスポートしてください。

マイグレーションで請求は下がりますか?

プランによって異なります。sora-2-proの1080p($0.70/s)からなら、はい、かなり。plain sora-2の$0.10/秒からなら、ほぼ変わらず。Batchの$0.05/秒からなら上昇を覚悟[3]

代替は音声をSora 2のように生成しますか?

一部は、しばしば別の価格ティア。Kling 3.0とVeo 3.1は両方とも音声ありと音声なしの異なるレートを掲載[4][7]。Seedance 2.5はデフォルト音声オンで音声・効果音・音楽を生成[6]。Wan 3.0はデフォルト音声トラック付き[9]

コードの何割が変わりますか?

非同期サブミット・ポーリング構造は保存。変わるのはフィールド名、sizeresolutionとアスペクト比に分割、secondsが文字列対durationが数値、別コンテンツ取得呼び出しの削除[2][5]

Sora 2のコンテンツ制限は他でも同じですか?

不必ずしも。Sora 2は実在人物(著名人含む)、著作権キャラとミュージック、人間の顔を含む入力画像を拒否[2]。他モデルはこれらの線を異なる場所に引くため、Soraで失敗したプロンプトが他で通ることもあり、その逆も然り。

スケジュール計画

エクスポートが最優先。動かせないスケジュール要件がある唯一のステップで、APIキーとディスク容量以外何も不要。次にハード制約を順に当てはめてモデル選択:クリップ長、音声、解像度、コスト。長さが候補を最速に絞り、コストは後で最も変更しやすい。

コール書き直しはそう見えるほど複雑ではありません。サブミット・ポーリング形は保存、ファイル取得ステップは消滅。時間をかけるべき部分はコストモデル。sora-2-proから来るなら節約は実質的かつ大きい。sora-2の$0.10/秒またはBatchの$0.05/秒から来るなら秒単価がフラット~上昇を計画し、能力で選ぶ。いずれにしもSora 2 API停止は逆算できる固いスケジュール。エクスポートはその後できなくなる唯一の部分です。

References

  1. OpenAI. Deprecations: Sora 2 video generation models and Videos API. Retrieved August 2026 from developers.openai.com/api/docs/deprecations
  2. OpenAI. Video generation with Sora: Videos API guide. Retrieved August 2026 from developers.openai.com/api/docs/guides/video-generation
  3. OpenAI. Pricing: video generation models, standard and batch per-second rates. Retrieved August 2026 from developers.openai.com/api/docs/pricing
  4. reAPI. Veo 3.1: model page and per-tier pricing. Retrieved August 2026 from reapi.ai/models/veo3-1
  5. reAPI. Seedance 2.5 API: request shape, task polling and output fields. Retrieved August 2026 from reapi.ai/docs/seedance-2-5
  6. reAPI. Seedance 2.5: model page, duration range and per-resolution pricing. Retrieved August 2026 from reapi.ai/models/seedance-2-5
  7. reAPI. Kling 3.0: model page, audio tiers and per-second pricing. Retrieved August 2026 from reapi.ai/models/kling-3-0
  8. reAPI. MiniMax H3: model page, duration range and per-second pricing. Retrieved August 2026 from reapi.ai/models/minimax-h3
  9. reAPI. Wan 3.0: model page, duration range and per-resolution pricing. Retrieved August 2026 from reapi.ai/models/wan-3-0