予測可能なポーリング
タスクを作成し、チェック結果エンドポイントをポーリングして、SSE を使用せずにステータスと進行状況の同期を維持します。
curl -X POST https://sora2-api.com/api/v1/video/sora-video \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-2",
"prompt": "A tracking shot through a quiet night market",
"aspectRatio": "16:9",
"webHook": "https://api.example.com/webhooks/video",
"isPublic": false
}'
# Your webhook receives a terminal payload:
{
"id": "task_123",
"status": "succeeded",
"progress": 100,
"results": [{ "url": "https://storage.example/video.mp4" }]
}すべてのタスクIDを保存し、succeededとfailedだけを終了状態として扱います。
タスクを作成し、チェック結果エンドポイントをポーリングして、SSE を使用せずにステータスと進行状況の同期を維持します。
最大 20 個のビデオ生成タスクを同時に処理します。より高い制限についてはお問い合わせください。
各呼び出しには、10 秒の sora-2/sora-2-stable の場合は 100 クレジット、15 秒の sora-2/sora-2-stable の場合は 150 クレジット、または sora-2-pro の場合は 150 クレジットがかかり、世代が失敗した場合は自動的に返金されます。
Webhook配信ルール
すぐに2xxを返し、冪等に処理し、復旧用としてポーリングを残します。
プロンプトとともに Tikdek リクエストを送信し、返された taskId を保存します。
ステータスが成功または失敗になるまで、結果確認エンドポイントを呼び出します。
result_url/result_urls のストレージを利用した URL を使用して、生成されたビデオを提供またはダウンロードします。
コンソールで API キーを作成し、それを Authorization: Bearer YOUR_API_KEY として含めます。キーはいつでもローテーションできます。
create を呼び出した後、taskId を保存します。ステータスが成功または失敗するまで 3 ~ 5 秒ごとに /api/video-generations/check-result を呼び出し、その後 result_url/result_urls を使用します。
タスクが失敗した場合はクレジットが自動的に返金され、監査証跡のチェック結果ペイロードでrefund_trans_noとcredits_refunded=trueが返されます。
まずポーリングで実装し、生成契約を変えずにWebhookを追加します。