非同期配信

ステータスとWebhookで動画タスクを安定化

単純なクライアントはポーリング、自動配信はWebhook。同じライフサイクルを使います。

Webhook付きタスクを作成
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" }]
}

1つのライフサイクル、2つの配信方法

すべてのタスクIDを保存し、succeededとfailedだけを終了状態として扱います。

予測可能なポーリング

タスクを作成し、チェック結果エンドポイントをポーリングして、SSE を使用せずにステータスと進行状況の同期を維持します。

20 の同時リクエスト

最大 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を追加します。