開発者ドキュメントキュー・制限・再試行

キュー・制限・再試行

H3 動画タスク API · /api/v3

キューと同時実行

ルール動作
同時実行数・送信 RPM・待機件数顧客アカウントとモデルの組み合わせで集計します。同一アカウントのキーは上限を共有します。
取得の制限単一取得 20 QPS、一覧 1 QPS、キャンセル・削除 20 QPS。それぞれアカウント内で共有します。
実行順序アカウントを公平に巡回し、300 秒以上待機したタスクを保護したうえで、priority と作成順に割り当てます。実行中の推論は中断しません。
容量とキュー検証済み仕様のリクエストを永続キューに保存し、GPU の使用中や一時的なオフライン時は待機します。待ち時間の予測が長いだけでは拒否しません。アカウントの送信頻度・待機件数・安全上限に達すると 429 を返す場合があります。

同時実行数と待機件数は管理者が設定します。新規アカウントの既定値は待機 200 件、毎分 180 件の送信です。待ち時間の予測は完了時刻を保証しません。キーを増やしてもアカウント上限は回避できません。

安全な再試行

HTTP ヘッダー · 同じタスクの再試行で再利用
Idempotency-Key: customer-video-20261102-001

同じアカウント・キー・リクエストでは元のタスクを返し、重複受付しません。同じキーで異なるリクエストを送ると 409 を返します。新しいタスクには新しいキーを使用します。

429 / 503 では、次のヘッダーに従います: Retry-After。ジッター付き指数バックオフを使用します。取得に失敗した場合は取得のみ再試行します。作成がタイムアウトした場合は、元の冪等キーで同じリクエストを再試行し、別のタスクを新規作成しないでください。

有効期限と通知

時間・通知説明
タスクの有効期間受付から待機時間を含めて計算します。既定値は 172800 秒、設定範囲は 3600~259200 秒で、プラットフォーム上限が適用されます。
動画リンク生成が完了して配信可能になってから固定で 1 時間有効です。取得しても更新されず、期限切れ後の成功タスクでは URL が null の場合があります。
タスク記録作成から 7 日間。キャンセル済み記録は 24 時間保持します。
HTTPS コールバックcallback_url には queued、running、終端状態のスナップショットを送信します。中間状態は 1 回、終端状態は最大 3 回送信を試行します。2xx 応答で配信成功とみなします。

コールバックは重複したり順不同で届いたりします。タスク ID と終端状態で重複排除し、取得 API の結果を正としてください。イベントを保存して速やかに 2xx を返し、その後非同期で処理します。コールバック URL に API キーを含める必要はありません。

タスク完了コールバックの受信

JSON · タスク作成時に追加するフィールド
{
  "callback_url": "https://YOUR_APP_HOST/webhooks/fablun"
}

本文は単一タスク取得と同じ構造です。成功時の動画 URL は次の項目から取得します: content.video_url 。タイムアウトは 5 秒です。終端状態の配信失敗時は約 5 秒、15 秒後に再試行し、初回を含め最大 3 回です。受信失敗で生成がキャンセルされたり、再課金されたりすることはありません。

リクエストヘッダー用途
X-Fablun-Timestamp署名タイムスタンプ(秒)
X-Fablun-Signaturesha256= に続く HMAC-SHA256 の 16 進数署名
X-Fablun-Event-ID受信側の重複排除に使う固定イベント ID

署名対象: timestamp + "." + 生のリクエスト本文。アカウントのコールバック署名シークレットを使用し、定時間比較とタイムスタンプの検証を行います(推奨許容幅は 5 分)。シークレットはアカウント所有者のみ閲覧できます。管理者がリセットした場合は受信側も更新してください。互換性のため旧 X-Nabit-Timestamp、X-Nabit-Signature、X-Ravenzet-Event-ID も送信しますが、新規導入では X-Fablun ヘッダーを使用してください。シークレットは「組織 → タスクコールバック」で確認できます。