Sora 2 API
OpenAI Sora 2 提供業界領先的文字轉影片與圖片轉影片,畫面寫實、物理準確、音訊同步,且可控性強。分為 Standard 與 Pro 等級,另有 Characters 端點,可建立可跨次生成重複使用的角色 ID。
提供 Standard 與 Pro 品質等級的文字轉影片與圖片轉影片。Pro 版本強調更高的保真度、更銳利的寫實感與更強的可控性。Characters 端點可從影片參考建立可重複使用的角色 ID,讓角色外觀在多次 Sora 2 生成之間保持一致。
概覽
關於 Sora 2 API
Sora 2 的功能、它在 OpenAI 模型陣容中的定位,以及團隊選用它的原因。
Sora 2 是來自 OpenAI 的影片生成模型,可透過 WaveSpeedAI REST API 使用。OpenAI Sora 2 提供業界領先的文字轉影片與圖片轉影片,畫面寫實、物理準確、音訊同步,且可控性強。分為 Standard 與 Pro 等級,另有 Characters 端點,可建立可跨次生成重複使用的角色 ID。
提供 Standard 與 Pro 品質等級的文字轉影片與圖片轉影片。Pro 版本強調更高的保真度、更銳利的寫實感與更強的可控性。Characters 端點可從影片參考建立可重複使用的角色 ID,讓角色外觀在多次 Sora 2 生成之間保持一致。
WaveSpeedAI 上的 Sora 2 系列提供 6 個 REST 端點,涵蓋 Image-To-Video, Text-To-Video 等工作流程。每個變體都有各自的定價、參數選項與範例輸出 — 請挑選符合您輸入模態與生產限制的版本,或使用同一組 API 金鑰呼叫多個變體,組合成多步驟的處理流程。
使用您呼叫其他 1,000+ 個 WaveSpeedAI AI 模型時相同的 API 金鑰、帳單帳戶與速率限制額度來執行 Sora 2。無需另外設定供應商、無需各家 SDK、無需處理各家不同的速率限制 — 一次整合,涵蓋從文字轉圖片、文字轉影片,到音訊合成、3D 生成、放大與編輯的所有功能。
端點
所有 Sora 2 API 端點
WaveSpeedAI 目前提供 6 個 Sora 2 端點 — 請選擇符合您工作流程的變體。
/filters:quality(82)/media/images/20260408112732_q7q9ibeh.webp)
Sora 2 Pro Image To Video
OpenAI Sora 2 Pro Image-to-Video creates physics-aware, realistic videos from reference images with synchronized audio and strong steerability. Supports 720p and 1080p resolutions with durations up to 20 seconds. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/20260408112737_6jbthvrf.webp)
Sora 2 Pro Text To Video
OpenAI Sora 2 Pro is a state-of-the-art text-to-video model with realistic physics, synchronized audio, and strong steerability. Supports multiple resolutions up to 1080p and durations up to 20 seconds. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/20260408112720_fr0co07c.webp)
Sora 2 Text To Video Pro
OpenAI Sora 2 Text-to-Video Pro creates high-fidelity videos with synchronized audio, realistic physics, and enhanced steerability. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/20260408112722_dedc4sez.webp)
Sora 2 Text To Video
OpenAI Sora 2 is a state-of-the-art text-to-video model with realistic visuals, accurate physics, synchronized audio, and strong steerability. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/20260408112718_d65e7n5f.webp)
Sora 2 Image To Video Pro
OpenAI Sora 2 Image-to-Video Pro creates physics-aware, realistic videos with synchronized audio and greater steerability. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/20260408112711_0sgj3log.webp)
Sora 2 Image To Video
OpenAI Sora 2 generates realistic image-to-video content with synchronized audio, improved physics, sharper realism and steerability. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
範例
看看 Sora 2 的實際效果
由 Sora 2 API 生成的真實輸出。將滑鼠移到任一影片上即可預覽,點擊可開啟完整尺寸檢視器。
使用方式
如何使用 Sora 2 API
從註冊到完成生成,只要四個步驟。完整的 Python、Node.js 與 cURL 範例請見下方的 API 區段。
- 01
取得 API 金鑰
註冊 WaveSpeedAI 帳號,並從控制台複製您的 API 金鑰。新帳號會獲贈免費入門點數 — 足以在開始計費前執行數十次 Playground。
- 02
提交 prediction
將您的輸入以 JSON 格式 POST 到 https://api.wavespeed.ai/api/v3/openai/sora-2/text-to-video。端點會立即回傳 prediction id — 生成是非同步進行的,因此推論期間您不需要保持連線。
- 03
輪詢完成狀態
GET https://api.wavespeed.ai/api/v3/predictions/{request_id}/result。狀態為 completed 時回傳輸出;狀態為 failed、cancelled、timeout 或 deleted 時停止並回報錯誤;其他狀態則持續輪詢。
- 04
讀取輸出網址
當狀態為 "completed" 時,從 data.outputs[0] 讀取網址。該網址指向 WaveSpeedAI CDN 上您生成的媒體 — 依您呼叫的 Sora 2 變體,可能是圖片、影片、音訊或 3D 檔案。
應用情境
您可以用 Sora 2 打造什麼
開發者與創作者使用 Sora 2 API 的常見工作流程。
帶同步音訊的文字轉影片
openai/sora-2/text-to-video 可從文字提示詞生成寫實影片,並帶有同步音訊、準確的物理表現與強大的可控性,是 OpenAI 為全新創意簡報所主打的 Sora 2 核心功能。
具物理感知動態的圖片轉影片
openai/sora-2/image-to-video 可將參考靜態圖轉為寫實影片,帶有同步音訊與更好的物理表現。適合起始構圖已確定、動態必須符合來源圖片的情境。
Pro 等級,交付等級輸出
openai/sora-2/text-to-video-pro 與 image-to-video-pro 可建立帶同步音訊、物理寫實且可控性更強的高保真影片,當 Standard 輸出不夠銳利而無法交付時,請使用 Pro 等級。
可重複使用的角色 ID
openai/sora-2/characters 可從影片參考建立可重複使用的角色 ID,讓同一個角色外觀貫穿多次 Sora 2 生成,適用於系列化內容、品牌吉祥物與固定班底角色。
精準創意控制的可控性
目錄強調 Pro 版本具有「強大的可控性」與「更強的可控性」。撰寫提示詞時請加入明確的運鏡、光線與動作描述,Sora 2 對結構化的創意指示反應良好。
具物理感知的場景
目錄說明:文字轉影片與圖片轉影片皆具「準確的物理表現」與「物理感知」輸出。適合產品展示、運動動態,以及物體互動必須在物理上合理的場景。
技巧
Sora 2 提示詞技巧
讓 Sora 2 產出更好結果的實用建議 — 整理自在實際生產流程中,影片模型通用的有效做法。
- 01
Pro 等級用於交付,Standard 用於迭代
Standard 與 Pro 使用相同的提示詞格式,只需切換端點 URL。以 Standard 迭代找出方向,當物理準確度與可控性需要在交付畫質下維持時,再切換到 Pro。
- 02
為固定班底建立角色 ID
openai/sora-2/characters 可從影片參考建立可重複使用的 ID。建立一次後,在後續的文字轉影片與圖片轉影片呼叫中引用該 ID,比每次生成都重新上傳參考影片更快。
- 03
明確描述物理與互動
目錄強調準確的物理表現。請寫出物體如何互動,例如倒水、彈跳、碰撞、布料垂墜,而不要假設模型能單憑主體推斷物理行為。
- 04
以結構化提示詞穩固可控性
在同一個提示詞中寫出主體 + 場景 + 攝影機 + 光線 + 動作。Sora 2 所強調的可控性,最適合搭配結構化的創意簡報,而不是只有一個詞的提示詞。
- 05
以高品質的關鍵靜態圖搭配圖片轉影片
當構圖很重要時,請從高品質的參考圖片出發。Sora 2 的圖片轉影片會保留起始畫面,同時加入物理感知的動態與同步音訊。
定價
Sora 2 API 定價
依輸出計費。最終費用會依您在各變體 Playground 中設定的參數(解析度、時長、輸出數量、參考素材)而調整。
| 端點 | 類型 | 起始價格 |
|---|---|---|
| openai/ | image-to-video | $1.20 |
| openai/ | text-to-video | $1.20 |
| openai/ | text-to-video | $1.20 |
| openai/ | text-to-video | $0.40 |
| openai/ | image-to-video | $1.20 |
| openai/ | image-to-video | $0.40 |
API
呼叫 Sora 2 API
請到 wavespeed.ai/accesskey 註冊取得 API 金鑰,然後透過 REST 提交 prediction。Playground 會為任何輸入組合產生可直接貼上的範例。
POSThttps://api.wavespeed.ai/api/v3/openai/sora-2/text-to-video
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/openai/sora-2/text-to-video" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d '{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "720*1280",
"duration": 4
}')
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/openai/sora-2/text-to-video";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "720*1280",
"duration": 4
}),
});
const task = body.data ?? body;
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "720*1280",
"duration": 4
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/openai/sora-2/text-to-video", json.dumps(payload).encode())
task = body.get("data", body)
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout", "deleted"}:
raise RuntimeError(result)
time.sleep(2)比較
Sora 2 與其他選擇比較
在 WaveSpeedAI 上,何時該選擇 Sora 2 而非類似的模型。
Sora 2 vs Veo 3.1
Veo 3.1 提供三種價格等級(Standard / Fast / Lite),並有參考轉影片與首尾幀插值。Sora 2 則強調物理準確度與可控性,並有專用的 Characters 端點,用於跨次生成的身分一致,兩者功能組合不同,價位同屬高階。
Sora 2 vs Seedance 2.0
Seedance 2.0 在所有版本皆具原生音訊,並以更低的成本提供 video-edit 與 video-extend。Sora 2 的定位則在於 OpenAI 的寫實度與物理先驗,並以 Characters 工作流程維持固定角色身分。
Sora 2 vs Kling 3.0
Kling 3.0 涵蓋 Standard、Pro 與 4K 等級,並以動作控制作為子端點。Sora 2 則專注於文字轉影片與圖片轉影片,提供 Pro 品質等級與 Characters 端點,雖沒有動作控制,但具備強大的物理表現與可控性。
常見問題
Sora 2 API — 常見問題
定價、授權、整合 — 關於在 WaveSpeedAI 上執行 Sora 2 的常見問題。
什麼是 Sora 2 API?
Sora 2 是 OpenAI 的影片生成模型,在 WaveSpeedAI 上以 REST API 提供。OpenAI Sora 2 提供業界領先的文字轉影片與圖片轉影片,畫面寫實、物理準確、音訊同步,且可控性強。分為 Standard 與 Pro 等級,另有 Characters 端點,可建立可跨次生成重複使用的角色 ID。您可以透過程式呼叫,也可以在上方連結的 Playground 試用。
如何呼叫 Sora 2 API?
註冊 WaveSpeedAI 帳號,從 /accesskey 複製您的 API 金鑰,然後將您的輸入以 JSON 格式 POST 到 https://api.wavespeed.ai/api/v3/openai/sora-2/text-to-video。端點會回傳 prediction id。請從約每 2 秒輪詢一次結果端點開始,長時間任務可拉長間隔,並在任何終止狀態時停止。上方提供適用於生產環境的 Python / Node.js / cURL 範例。
Sora 2 API 的費用是多少?
Sora 2 每次執行 $0.40 起。實際費用會依您設定的參數(解析度、時長、輸出數量、參考素材)而調整。Playground 中「生成」按鈕旁的即時費用預覽會顯示您目前輸入的確切價格。
有哪些 Sora 2 變體可用?
WaveSpeedAI 提供 6 個已上線的 Sora 2 端點:openai/sora-2-pro/image-to-video, openai/sora-2-pro/text-to-video, openai/sora-2/text-to-video-pro, openai/sora-2/text-to-video, openai/sora-2/image-to-video-pro, openai/sora-2/image-to-video。每個變體都有各自的 Playground 頁面與定價。
Sora 2 的輸出可以商用嗎?
商業使用權依 OpenAI 的模型授權而定。多數 OpenAI 模型允許商用輸出;請參閱各模型 Playground 頁面中的授權摘要,以及 WaveSpeedAI 的服務條款了解平台層級的條件。
為什麼要在 WaveSpeedAI 上使用 Sora 2,而不是直接使用?
一組 API 金鑰、一個帳單帳戶,即可使用 Sora 2 以及來自其他供應商的 1,000+ 個 AI 模型。無需設定各家 SDK、無需處理各自獨立的速率限制、無需為每個供應商重寫整合程式碼。價格通常與 OpenAI 的直接 API 相當或更低。
提供者
關於 OpenAI
Sora 2 背後的團隊,以及 OpenAI 在 WaveSpeedAI 上的完整模型陣容。
OpenAI 是 ChatGPT、GPT-4 與 GPT-5、DALL·E、Sora 與 Whisper 背後的實驗室。其圖像與影片模型廣泛部署於消費端與企業應用,重視指令遵循、寫實度與保守的安全防護。其圖像 API 常被需要明確商用授權的行銷與編輯類情境選用。
在 WaveSpeedAI 上開始使用 Sora 2 打造應用
註冊即贈免費入門點數。一組 API 金鑰,涵蓋來自 OpenAI 與所有其他供應商的 1,000+ 個 AI 模型。