メインコンテンツへ移動
LocoPal AiLocoPal Ai
API 連携

ガイド

エラーコードとトラブルシューティング

HTTP ステータス、エラーコードの意味、モデルと素材のよくあるエラー、レート制限、調査手順

Markdown を表示

エラーコードとトラブルシューティング

調査時はまず、HTTP ステータスコード、プラットフォームが返すリクエスト識別子、モデル ID、タスク ID、素材 ID、元のエラーコードを記録してください。

API Key、実在人物セッションの Token、完全な素材ダウンロードアドレスは記録しないでください。プラットフォームサポートに提出する前に機密情報をマスクしてください。

HTTP ステータスの意味

ステータス意味対応
200リクエスト成功(非同期タスクの中間状態も 200)レスポンスボディのステータスフィールドを読み取る
400パラメータエラー、リクエストボディの形式エラー、model の欠落error.message または msg に従ってリクエストを修正する
401API keys の欠落、誤り、失効Authorization と Key の状態を確認する
403権限なし(例:他アカウントの素材へのアクセス)リソースが現在のアカウントに属しているか確認する
404リソースが存在しない、現在のアカウントに属さない、またはメソッドが一致しないID を確認する。パスが正しい場合は HTTP メソッドを確認する
429リクエストが過多バックオフしてリトライし、並行リトライはしない
500プラットフォーム内部エラーリクエスト識別子を記録してリトライする。失敗が続く場合はサポートに連絡する
502素材処理の失敗または依存サービスの異常しばらくしてからリトライする。失敗が続く場合はサポートに連絡する

404 には 3 つの原因があり、一律に「ID の書き間違い」とみなさない

これは調査時にもっとも誤判定しやすい点です:

状況実測時の挙動
リソースが存在しない / 現在のアカウントに属さないGET /api/v1/materials/assets/<不存在> → 404
POST のみをサポートするパスに GET を送信GET /v1/chat/completions → 404;GET /v1/images/generations → 404
パスの綴り間違い404

404 を受け取ったら、まずパスとメソッドが一致しているかを確認し、その後に ID を疑ってください。

動画タスクが見つからない場合は 404 ではなく 400 を返す

ここは他のエンドポイントと一致しないため、特に注意が必要です:

リクエスト実測ステータスレスポンスボディ
GET /v1/video/generations/<不存在>400{"code":"task_not_exist","message":"task_not_exist","data":null}
GET /v1/videos/<不存在>400同上
GET /api/v1/materials/assets/<不存在>404{"code":404,"data":null,"msg":"素材不存在或无权访问"}

動画タスクの照会は 400 + トップレベルの {code, message, data} 構造で返され、 404 でも、後述する error オブジェクト構造でもありません。

エラーレスポンスには 3 種類の構造がある

1. モデル / 画像 / 動画生成エンドポイント —— error オブジェクト

失敗時は HTTP が 2xx 以外で、error オブジェクトを伴って返します:

{
  "error": {
    "code": "invalid_parameter",
    "message": "请求参数不符合所选模型要求",
    "type": "invalid_request_error",
    "param": "size"
  }
}
フィールド説明
codeエラーコード。空文字列になる場合がある(後述)
message人が読める原因。通常 request id を含む
typeエラー種別の識別子。認証失敗、モデル不存在、不正なリクエストボディはいずれも実測で new_api_error
paramパラメータ系のエラーのみに現れ、どのフィールドかを示す

code は空文字列になる場合があります。 実測では、認証失敗時とリクエストボディの JSON を解析できない場合のいずれも code は "" です。 code が空かどうかで「エラーかどうか」を判断しないでください。HTTP ステータスコードを基準とし、message を優先的に読んでください。

type は安定した分類フィールドではありません。 分類が必要な場合は code を読み、type の値に依存しないでください。

2. 素材ライブラリのエンドポイント —— トップレベルの code

HTTP が 2xx 以外で返され、code は HTTP ステータスと一致します:

{ "code": 404, "data": null, "msg": "素材不存在或无权访问" }

3. 動画タスクの照会 —— トップレベルの code 文字列

{ "code": "task_not_exist", "message": "task_not_exist", "data": null }

ここでの code は数値ではなく文字列 task_not_exist であることに注意してください。

request id:問題調査の重要な識別子

プラットフォームは request id を error.message に直接書きます。header を探す必要はありません:

"message": "Invalid token (request id: 202609221135501066578648268d9d6uXuM5QgH)"

1 行のコマンドで取り出せます:

curl -s "$LOCOPAL_BASE_URL/v1/models" \
  -H "Authorization: Bearer sk-invalid" \
  | grep -oE 'request id: [A-Za-z0-9]+'

チケットを起票する際にこの request id を添えると、原因特定までの時間を大幅に短縮できます。

認証失敗

API keys の欠落、誤り、失効時は、すべてのエンドポイントが HTTP 401 と次を返します:

{
  "error": {
    "code": "",
    "message": "Invalid token (request id: ...)",
    "type": "new_api_error"
  }
}

注意:code は空文字列です。これが前述の「code に依存しない」という注意の理由です。

モデルと生成のエラー

エラーコード / メッセージ原因対応
Model name not specifiedリクエストボディに model フィールドがない/v1/models から取得したモデル ID を補う
model_not_foundモデル ID が存在しない、または現在の Key / グループにそのモデルがない/v1/models を再照会し、返された id を使用する
No available channel現在のグループに利用可能なチャネルがない同種のモデルに変更するか、プラットフォームサポートに連絡する
invalid_parameterパラメータの組み合わせが現在のモデルでサポートされていないparam フィールドに従ってサイズ、比率、長さなどを調整する
unknown_parameter現在のモデル / チャネルがリクエストのフィールドを認識しない(例:画像エンドポイントの response_format)param に従ってサポートされていないフィールドを削除し、モデルのデフォルト動作を使用する
InvalidParameter / upstream_error上流モデルがパラメータを拒否(例:画像の最小ピクセル数を満たさない)message を読んでサイズやパラメータを調整する
credit_balance_exhausted / insufficient_quota現在の上流チャネルに利用可能な残高がない同種のモデル / チャネルに変更するか、プラットフォームサポートに連絡してチャネル残高を補充する
ResourceDownloadFailed参照画像 / 動画のアドレスを直接ダウンロードできない公開アクセス可能な HTTPS アドレスを使用するか、素材ライブラリの asset:// に切り替える
task_not_exist照会したタスク ID が存在しない、または現在のアカウントに属さないタスク ID と作成時のアカウントを確認する
video_generation_failed動画タスクは受理されたが、上流への送信、素材処理、審査、生成のいずれかの段階で最終的に失敗した同じレスポンスの error.message を読む。タスク ID を保持し、素材やパラメータを修正したうえでユーザーが自ら再送信する
現在のモデルが実在人物素材ライブラリをサポートしていない実在人物素材がその機能を持たないモデルに送信された実在人物素材ライブラリをサポートするモデルに変更する。通常の画像 URL で回避しない
insufficient_user_quotaアカウント残高または現在の API Key のクォータが今回の推定消費を賄えないエラー内の「今回の予想必要額 / 現在の利用可能額」に従ってチャージするかパラメータを調整してからリトライする。この場合タスクは作成されない
缺少提示词:请在 prompt 或 content 的 text 元素中提供文本描述動画タスクにテキスト記述がないprompt または content の text 要素を補う
content[0].role 不支持 ...参照素材のロールが許可リストにないreference_image、first_frame、last_frame、reference_video、reference_audio のいずれかに変更する
素材库中找不到素材 ...asset:// の素材が存在しない、または現在のアカウントに属さないまず素材を送信し、利用可能な状態になるまで待つか、アカウントを確認する
task_concurrency_exceeded現在のアカウントまたはプラットフォームで同時処理中の生成タスクが並行上限に達した(HTTP 429)メッセージ内の「現在 N 件 / 上限 M」に従い、既存タスクの完了を待ってから送信する。連続してリトライしない

素材ライブラリのエラー

HTTPメッセージ原因対応
400请求体必须是 JSON 对象リクエストボディが正当な JSON でないリクエストボディを修正する
400type 只能是 virtual 或 realtype の値が誤っているtype を修正する
400素材分组名称不能为空 / 不能超过 64 个字符名前の欠落または長すぎ名前を修正する
400素材分组说明不能超过 300 个字符説明が長すぎる説明を短くする
400缺少 group_id素材送信時にグループが指定されていないgroup_id を補う
400image_url 必须是可公开下载的 http(s) 地址…アドレスが http(s) でない、または不完全公開 http(s) アドレスに変更するか、data_url に切り替える
400image_url 与 data_url 只能提交一个両方を送信、またはどちらも未送信フィールドを 1 つだけ残す
400data_url 必须是 data:image/...;base64,... 格式 / 图片数据无效或超过 20MBアップロードデータの形式エラーまたはサイズ超過データを修正するか、image_url に切り替える
404素材不存在或无权访问素材 ID の誤り、削除済み、または現在のアカウントに属さない素材送信時に返された asset_id を使用する
404素材分组不存在或无权访问 / 素材分组不存在或不属于当前账号グループ ID の誤り、または現在のアカウントに属さない自分のアカウントのグループ ID を使用する
404素材分组不存在或不是虚拟素材分组real グループに画像を送信した画像は virtual グループにのみ送信できる
429リクエストが過多ポーリングが速すぎる、または並行数が多すぎるメッセージに従ってバックオフしリトライする
500 / 502 / 503素材服务暂不可用素材サービスの異常、または機能が未開通リクエスト情報を保持してリトライする。失敗が続く場合はサポートに連絡する

素材の審査が未完了であることはエラーではありません。照会は 200 を返し、status は Processing なので、同じ素材 ID のポーリングを続けてください。

推論モデルの出力が空であることも HTTP エラーではありません。200 が返り、finish_reason が length で、usage.completion_tokens_details.reasoning_tokens が出力上限に達している場合は、出力クォータを増やすか、推論を行わないモデルに切り替えてください。

肖像権の許諾エラー

メッセージ原因対応
許諾セッションが存在しない、またはアクセス権がないセッションの期限切れ、使用済み、または他ユーザーに属する現在のユーザーが QR コードを再作成する
許諾がまだ完了していないユーザーがスマートフォン側での収集をまだ完了していないQR コードを保持し、完了後に確定する
この実在人物素材は別のユーザーにバインド済み同じ実在人物グループはアカウントをまたいで再利用できない元のバインド先アカウントを使用するか、本人に再許諾してもらう
素材サービスが一時的に利用不可許諾チャネルが現在利用できないリクエスト時刻を記録してプラットフォームサポートに連絡する。通常の画像アップロードで実在人物の収集を代替しない

レート制限とリトライ

  • 429 はリクエストが過多であることを示します。メッセージに従ってバックオフしリトライし、並行リトライはしないでください。
  • 素材ステータスは 5~10 秒に 1 回、動画タスクは 5~15 秒に 1 回の照会を推奨します。
  • 429 と一時的な 5xx のみリトライしてください。400 / 401 / 403 / 404 はリクエストを直接修正してください。
  • リトライ前にまずタスク ID / 素材 ID で照会し、重複作成と二重課金を避けてください。

クイックセルフチェック

  1. Authorization が Bearer <API Key> になっているか、Key がまだ有効か。
  2. リクエストのドメインがコンソールで現在指定されているアドレスか(デフォルトは https://locopalai.com、海外モデルでは https://us-api.locopalai.com の場合がある)。
  3. model が /v1/models の data[].id に由来しているか。
  4. 素材の status がすでに Active か。
  5. 参照画像 / 動画のアドレスが公網から直接アクセスできる http(s) アドレスで、Cookie や Referer に依存していないか。
  6. 同じタスク / 素材を重複して送信していないか。

サポートに提出する際に添付するもの

  • リクエスト時刻とエンドポイントのパス
  • HTTP ステータスコードと完全なレスポンスボディ(API Key はマスク)
  • プラットフォームが返すリクエスト識別子、タスク ID または素材 ID
  • 関係するモデル ID とパラメータ
  • 再現可能な最小のリクエスト例
このページは役に立ちましたか?

このページの目次