エラーコードリファレンス
一般的なHTTPステータス、非同期タスクのエラーコード、プラットフォームのプログラムエラーコードを確認します。
エラーレスポンスには通常、HTTPステータスとレスポンス本文のプログラムエラーコードが含まれます。アプリケーションは最初にHTTPステータスを判断し、次に実際に返されたtype、code、messageを読み取ります。プロトコルや上流によってフィールドが異なる場合があります。
現象から問題を調査する場合は、先にエラーとトラブルシューティングを参照してください。このページはエラーの意味を調べるためのものであり、個別Endpointのレスポンス説明に代わるものではありません。
HTTPステータス
| HTTPステータス | 一般的な意味 | 主な原因 | 推奨対応 |
|---|---|---|---|
400 | 無効なリクエスト | JSON、必須フィールド、パラメータ型、ファイル形式、入力内容が要件を満たしていない | エラー情報に従って修正し、同じ内容のまま再試行しない |
401 | 認証失敗 | API Keyがない、無効、または認証Headerがプロトコル要件と一致しない | Bearerまたはプロトコル固有のHeaderを確認し、無効なKeyを置き換える |
403 | 権限またはクォータ不足 | アカウント、Key、モデル権限、IP範囲、利用可能クォータが要件を満たしていない | アカウントとKeyの制限を確認し、対象モデルが利用可能か確認する |
404 | リソースが存在しない | Endpoint、モデルID、タスクID、Video IDが存在しない | 最終URL、リソースID、リソースが属するアカウントを確認する |
429 | リクエスト制限 | 頻度、同時実行数、クォータ、サービス容量が上限に達した | 負荷を下げて限定的に再試行し、失敗が続く場合はRequest IDを保存する |
500 | リクエスト処理失敗 | リクエスト変換、Token計算、価格情報、プラットフォーム処理で例外が発生した | 機密情報を除いたエラーとRequest IDを保存し、後で限定的に再試行する |
502 | 上流ゲートウェイエラー | 上流が無効なレスポンスを返した、またはゲートウェイが転送を完了できない | 限定的に再試行し、失敗が続く場合は技術サポートに連絡する |
503 | サービスが一時的に利用できない | プラットフォームまたは上流サービスが過負荷、メンテナンス中、または処理容量がない | バックオフ再試行を使用し、高頻度のリクエストを続けない |
504 | リクエストタイムアウト | 上流処理がゲートウェイの待機時間を超えた | Request IDを記録し、非同期タスクでは元のタスク状態を優先して照会する |
HTTPステータスだけでは原因を特定できません
404はパス、モデル、タスクの不存在を示す場合があり、429は頻度、同時実行数、クォータ、サービス容量が原因の場合があります。実際のエラー本文とRequest IDを併せて判断してください。
一般的なエラー形式
OpenAI互換インターフェースは通常、errorオブジェクトにエラー情報を格納します。
{
"error": {
"message": "リクエストが失敗した具体的な理由",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}一部のプラットフォームタスクインターフェースは、codeとmessageを直接返します。
{
"code": "task_not_exist",
"message": "指定したタスクIDは存在しません"
}すべてのインターフェースが同じエラー形式を持つと仮定しないでください。解析前に対応するAPI Referenceを確認し、存在しない可能性がある任意フィールドを安全に処理してください。
非同期タスクのエラーコード
Midjourneyタスク
code | HTTPステータス | 利用者向けの意味 | 推奨対応 |
|---|---|---|---|
1 | 200 | タスクの送信に成功 | 返されたタスクIDを保存し、照会インターフェースで進捗と結果を取得する |
4 | 400 | リクエストパラメータエラー | Prompt、操作タイプ、必須フィールドを確認する |
21 | 200 | 同一タスクがすでに存在する | 返されたタスクIDを引き続き使用し、重複作成しない |
22 | 200 | タスクがキューで待機中 | タスクIDを保持し、後で再度照会する |
23 | 429 | 現在のタスクキューが満杯 | 送信頻度を下げ、後で再試行する |
24 | 400 | Promptがコンテンツチェックを通過しなかった | Promptを調整して再送信する |
3 | 403 | 現在のリクエストを一時的に送信できない | エラー情報を保存し、後で再試行するか技術サポートに連絡する |
30 | 429 | 現在のグループの処理容量が上限に達した | 同時実行数を下げ、後で再試行する |
タスク送信成功の例:
{
"code": 1,
"description": "送信に成功しました",
"result": "TASK_ID"
}タスク待機中の例:
{
"code": 22,
"description": "キューで待機中です。前に2件のタスクがあります"
}プラットフォームタスク
code | HTTPステータス | 利用者向けの意味 | 推奨対応 |
|---|---|---|---|
task_not_exist | 404 | タスクが存在しない、または現在のアカウントに属していない | タスクID、API Key、リクエストノードを確認する |
quota_not_enough | 403 | 現在のクォータではタスクを作成できない | アカウントとトークンのクォータを確認し、同じ内容のまま再試行しない |
invalid_api_platform | 400 | リクエスト内のプラットフォームタイプが無効 | プラットフォームまたはプロトコルパラメータを修正する |
fail_to_fetch_task | 上流のステータスに従う | タスク提供元から最新状態を取得できない | 現在のタスクIDを保存し、後で限定的に再試行する |
プラットフォームのプログラムエラーコード
code | 一般的なHTTPステータス | 利用者向けの意味 | 推奨対応 |
|---|---|---|---|
invalid_request | 400 | リクエスト形式またはパラメータが無効 | JSON、必須フィールド、フィールド型を確認する |
read_request_body_failed | 400 | リクエスト本文を読み取れない | 本文サイズ、接続、Content-Typeを確認する |
sensitive_words_detected | 400 | 入力内容がコンテンツチェックを通過しなかった | 入力内容を調整して再送信する |
prompt_blocked | 400 | Promptがコンテンツポリシーによってブロックされた | エラー情報に従ってPromptを調整する |
access_denied | 403 | 現在のリクエストが拒否された | API Key、アカウント状態、許可されたIP範囲を確認する |
insufficient_user_quota | 403 | アカウントの利用可能クォータが不足している | 残高またはクォータを確認してから再送信する |
pre_consume_token_quota_failed | 403 | Tokenの利用可能クォータが不足している | 現在のKeyのクォータと利用制限を確認する |
model_not_found | 404 | 現在のアカウントで対象モデルが見つからない | モデルマーケットプレイスから利用可能なモデルIDを再取得する |
convert_request_failed | 500 | リクエストを対象プロトコルに変換できない | Endpoint、プロトコル、対象モデルの互換性を確認する |
count_token_failed | 500 | リクエストのToken使用量を計算できない | 機密情報を除いたリクエスト特性とRequest IDを保存する |
do_request_failed | 500 | プラットフォームが上流リクエストを完了できない | ネットワーク状態を確認し、限定的に再試行する |
bad_response_status_code | 上流のステータスに従う | 上流が非標準または直接解析できないエラーを返した | 元のHTTPステータス、機密情報を除いたメッセージ、Request IDを保存する |
api_not_implemented | 501 | 現在のEndpointはまだ利用できない | API Referenceを確認し、公開済みのEndpointを使用する |
クライアント側の処理原則
- HTTPステータス、プログラムエラーコード、機密情報を除いたメッセージ、Request IDを同時に記録します。
400、401、403は原因を先に修正し、同じ内容のまま自動再試行しません。404ではパスとリソースIDを確認し、非同期リソースでは所属アカウントも確認します。429、502、503、504では回数を限定したバックオフ再試行を使用できます。- タスク作成など副作用を伴うリクエストは、再送信前に元のリクエストが有効になっていないかを確認します。
- エラーメッセージの全文をプログラム分岐に使用せず、安定したHTTPステータスと
codeを優先します。
追跡情報の保存方法はRequest IDを、より詳しい調査と再試行の推奨事項はエラーとトラブルシューティングを参照してください。