エラー
すべての失敗は標準のHTTPステータスコードと共通のJSONエンベロープを返します。ほかを読む前に、まずsuccessで分岐してください。
失敗は2種類 リクエストエラー(不正なキー、不正なパラメータ、クォータ超過)は、下記のエンベロープを含む非2xx応答として同期的に返されます。生成失敗は後から発生します。生成リクエストは
200を返しますが、その後アセットがtaskStatus: 3で終わり、消費したクレジットは自動的に返金されます。理由を確認するには、アセットのerrorCategory / errorDetailを読んでください。非同期とポーリングを参照してください。エラーエンベロープ
error response
{
"success": false,
"error": {
"code": 14001,
"message": "Insufficient credit",
"httpStatus": 402,
"timestamp": "2026-08-05T09:12:00.000Z",
"path": "/v1/models/from-text"
}
}エラー応答にはdataがありません。error.codeは安定した数値の識別子です。人間向けで変わる可能性があるerror.messageではなく、この値で分岐してください。
一部のコードに付く
error.details 一部のエラーは、失敗の背後にあるリアルタイムの数値を含むerror.detailsオブジェクトを返します。例: 13002は{ "total": 15, "maxTotal": 15 }を返します。上限をクライアントにハードコーディングせず、これらの値を読んでください。HTTPステータスコード
| ステータス | 意味 |
|---|---|
400 | 検証エラー。不正または欠落したパラメータ、非対応のエンジン/フォーマット、または読み取れない画像。 |
401 | APIキーが欠落、無効、または失効しています。 |
402 | ジョブを処理するにはクレジットが不足しています。 |
403 | アカウントにAPIの利用権限がありません。有効なサブスクリプションも完了したクレジット購入もありません。 |
404 | アセットまたはコレクションが見つからないか、キーの所有ではありません。 |
413 | アップロードしたファイルが20 MBを超えました。 |
429 | レート制限(10003)、同時生成数の超過(13002)、またはアップストリームエンジンのクォータ超過です。バックオフしてから再試行してください。 |
500 · 503 · 504 | サーバーエラー、メンテナンス、またはアップストリームエンジンのタイムアウト。バックオフしながら再試行してください。 |
エラーコードカタログ
/v1で最も遭遇しやすいコードです。数値のcodeはリリース間で安定して維持されます。
| コード | HTTP | 発生する状況 |
|---|---|---|
| 1001 | 401 | APIキーが欠落、無効、または失効しています。 |
| 6014 | 403 | アカウントに有効なサブスクリプションも完了したクレジット購入もありません。APIの利用権限がありません。 |
| 14001 | 402 | ウォレット残高でジョブを処理できません。追加するか、GET /v1/creditsを確認してください。 |
| 2001 | 400 | フィールドが検証に失敗しました(型、範囲、または長さ)。 |
| 2012 | 400 | プロンプトまたは画像がコンテンツポリシーにより拒否されました。 |
| 7002 | 413 | アップロードが20 MBの上限を超えました。 |
| 7003 | 400 | 非対応のアップロード形式です。 |
| 13001 | 404 | 不明なアセットidか、アセットがキーの所有ではありません。 |
| 13005 | 400 | リメッシュのソースはAIで生成したモデルである必要があります。アップロードしたファイルはリメッシュできません。 |
| 13008 | 400 | アニメーションのソースはリギングできません。明確な人型または動物型の形状が必要です。 |
| 10003 | 429 | IPあたりまたはユーザーあたりのレート制限を超えました。 |
| 13002 | 429 | 進行中の生成が多すぎます。同時実行の上限を参照してください。課金はされないので、スロットが空いたら再試行してください。 |
| 20001 | 504 | 生成エンジンがタイムアウトしました。再試行しても安全です。 |
| 20002 | 429 | エンジンの処理能力が一時的にいっぱいです。少し待ってから再試行してください。 |
| 20004 | 400 | エンジンが入力を拒否しました(例: 処理できない画像)。 |
対処方法
- 再試行する:
429、500、503、504は指数バックオフで再試行してください。約1 秒から始め、最大約30 秒、5回まで。 - 再試行しない:
400、401、403、404は再試行せず、リクエストを修正してください。 429が出たら呼び出しの頻度を下げてください。制限はIPあたり毎分240リクエスト、ユーザーあたり毎分120生成リクエストです。200の後で失敗したジョブ(taskStatus: 3)は自動的に返金されます。成功した生成に対してのみ課金されます。