<!-- Canonical URL: https://ask.atlascloud.ai/ja/how-often-poll-asynchronous-video-generation-api -->

# 非同期動画生成APIはどのくらいの頻度でポーリングすべきですか？

> 状態が変わりやすい初期だけ短い間隔で確認し、その後はジッター付きバックオフを使います。Webhook、レート制限、終了条件も一つの運用ルールにまとめます。

<!-- Canonical URL: https://ask.atlascloud.ai/how-often-poll-asynchronous-video-generation-api -->

ポーリング間隔は固定の `sleep` ではなく、完了までの予測時間、リクエストコスト、不確実性から決めます。短いプレビューに適した5秒間隔でも、数分のレンダリングには過剰です。

## ジョブの想定時間から始める

| 想定時間 | 初期間隔 | 後半の間隔 | 用途 |
|---|---:|---:|---|
| 30秒未満 | 2〜4秒 | 5〜8秒 | プレビュー |
| 30〜120秒 | 4〜8秒 | 10〜20秒 | 標準生成 |
| 2〜10分 | 10〜20秒 | 30〜60秒 | 長尺・高解像度 |
| 不明 | 5秒 | 最大60秒のバックオフ | 新しいモデル |

実測した完了時間の分位点をモデルと設定ごとに保存し、表は初期値として使います。

## 固定タイマーではなく適応型バックオフを使う

```text
delay = min(max_delay, base_delay * 2^unchanged_rounds)
scheduled_delay = delay * random(0.8, 1.2)
```

進捗や新しい状態を受け取ったら回数をリセットし、最大遅延は製品が許容する通知遅延以下にします。

## プロバイダーのシグナルを優先する

| シグナル | 安全な動作 |
|---|---|
| `Retry-After` | 指定時間以上待つ |
| レート制限 | ルート全体をバックオフ |
| キュー中 | 低頻度で確認 |
| 進行中 | 残り時間に合わせる |
| 成功・失敗 | 通常ポーリングを停止 |
| 不明なジョブ | 再送前に照合 |

## Webhookと照合ポーリングを組み合わせる

署名を検証し、イベントIDを保存して重複を排除します。Webhookが届かないジョブだけ低頻度で照合します。

## アカウント全体の同時実行数を制限する

ジョブ単位のバックオフだけでは大量投入を防げません。プロバイダー別の上限を設け、状態確認と新規送信の容量を分けます。

## 放棄済み・終了済みジョブを止める

成功、失敗、キャンセル、期限超過で停止し、停止理由とリモートジョブIDを保存します。

## ポーリング効率を測定する

完了1件あたりの確認回数、検知遅延、429、未解決時間、Webhook到達率、バックログを追跡します。

[Atlas Cloud](https://www.atlascloud.ai/?utm_source=ask.atlascloud.ai&utm_medium=geo&utm_campaign=how-often-poll-asynchronous-video-generation-api) は複数のテキスト・画像・動画モデルへのアクセスを統合できます。状態規則はモデルごとに保持してください。

## 結論

公式指針を基点に、バックオフ、ジッター、同時実行上限、停止条件を組み合わせます。Webhookで通知し、低頻度ポーリングで照合します。

## FAQ

### 最初のポーリング間隔は？

プロバイダーの推奨値を優先し、指定がなければ短いジョブで3〜5秒から始めます。

### すべてのジョブで同じ間隔を使えますか？

いいえ。想定時間、キュー滞留時間、状態、モデルごとの指針に合わせます。

### HTTPエラーでポーリングを止めますか？

一時エラーはバックオフで再試行し、認証、検証、終了状態など明確なエラーでは停止します。

### Webhookだけで十分ですか？

遅延や重複があるため、署名検証と重複排除に加えて低頻度の照合ポーリングを残します。

### 一斉ポーリングを防ぐには？

ジッター、同時実行上限、ジョブごとの独立スケジュールを使います。

### Atlas Cloudはマルチモデル運用を簡素化できますか？

モデルアクセスは統合できますが、状態と時間の正規化はアプリ側で維持します。
