API リファレンス
API エラーコードと再試行
エラーは標準の HTTP ステータスと共通の JSON 形式で返ります。code はコードで分岐できる安定した値、message は人向けの説明です。
API キーを取得Wan 3 API チーム ·
JSON
json
{
"error": {
"code": "insufficient_credits",
"message": "This render costs 30 credits; you have 12."
}
}| ステータス | コード | 意味 |
|---|---|---|
| 400 | invalid_request | ボディまたはヘッダーが不正です。message にどの項目かが書かれます。 |
| 400 | media_unreachable | メディア URL をダウンロードできないか、対応していないファイルです。 |
| 401 | invalid_api_key | キーがない・形式が違う・無効化済みです。 |
| 402 | insufficient_credits | クレジットが足りません。課金されていません。 |
| 403 | account_disabled | アカウントが停止されています。 |
| 404 | not_found | そのタスクがアカウントにないか、ルートが存在しません。 |
| 409 | task_processing | タスクがまだ生成中のため削除できません。 |
| 422 | content_blocked | プロンプトまたはメディアがコンテンツフィルターでブロックされました。課金されていません。 |
| 429 | rate_limited | このキーのリクエストが多すぎます。Retry-After まで待ってください。 |
| 429 | too_many_running_tasks | 同時に処理中の生成が多すぎます。1 つ終わるまで待ってください。 |
| 502 | upstream_error | 生成サービスがタスクを受け付けませんでした。クレジットは返金済みです。 |
| 503 | service_unavailable | API またはモデルが一時的に停止しています。 |
失敗したタスク
受け付け後に失敗したタスクは status が failed、refunded が true で、error.code は次のいずれかです:
| error.code | 意味 |
|---|---|
content_blocked | 出力がコンテンツフィルターでブロックされました。 |
media_rejected | リファレンスやフレームの画像が拒否されました(実在の人物が写っていることが多い)。 |
timeout | 生成に時間がかかりすぎて停止しました。 |
service_unavailable | 生成サービスが利用できませんでした。 |
failed | その他。プロンプトを変えて再試行すると通ることが多いです。 |
無料コールと 402
新規アカウントには、最も安い設定で使える無料コールが 2 回あります。対象はモデルの最低解像度、最長 5 秒、テキストまたは画像入力です。無料コールの消費は 0 クレジットで、生成に失敗した場合は回数が戻ります。支払いができないリクエストには、API が 402 を返し、理由、必要なクレジット、購入用のリンクを含めます。
json
{
"error": {
"code": "insufficient_credits",
"reason": "free_calls_exhausted",
"message": "Insufficient credits: this request costs 15 credits and the balance is 0. Nothing was charged. Your 2 free calls are used. Buy credits: …/credits/purchase?ref=api_402",
"required_credits": 15,
"balance": 0,
"free_calls_remaining": 0,
"purchase_url": "…/credits/purchase?ref=api_402"
}
}| error.reason | 意味 |
|---|---|
free_calls_exhausted | 無料コールを使い切っており、クレジットも不足しています。 |
free_call_not_eligible | リクエストが無料コールの条件(解像度、長さ、参照動画)を満たしていないか、アカウントが無料コールの対象外です。 |
insufficient_balance | 残高がこの生成の料金を下回っています。 |
再試行
429・500・502・503 はバックオフして再試行し、同じ Idempotency-Key を送れば二重生成になりません。400・401・402・403・422 はリクエストを変えずに再試行しないでください。