本文へ移動
CMO AI Pro
ログイン

CMO AI Pro Developers

エラー

HTTPステータスと業務エラーコードの意味および対応方法を説明します。

最終更新日:2026年10月26日

エラーは2つの層に分かれています。どちらも処理してください。

  • HTTPステータス: 通信・認証・利用条件のエラー。ツールは実行されていません
  • 業務エラー: ツールは実行され、業務上の理由で失敗したもの。応答本文の error.code に入ります

HTTPステータス

ステータス主な意味対応
401キーが誤っている、期限切れ、失効済み、または発行ユーザーが組織を離れているキーの状態と接続設定を確認する。必要なら再発行する
403契約状態(無料トライアル未付与・契約終了後・完全停止)、または接続元(Origin)の確認で拒否された組織管理者またはサポートへ確認する
4291分あたりの呼び出し上限に達した少し待ってから再試行する
503MCP連携が一時停止中、または認証基盤を利用できない時間をおいて再試行し、続く場合はサポートへ連絡する

401が返るときは、エラー本文に理由の詳細は含まれません。キーの有無を外部から推測できないようにする ためです。OAuth接続では、WWW-Authenticate ヘッダーで認可の入口を案内します。

OAuthエラー

コード意味対応
access_denied利用者が同意画面で接続を拒否した接続をやり直し、接続する組織を選んで「許可する」を押す
invalid_grant認可コード・更新用トークンの期限切れ、または再利用クライアントで接続を解除して再接続する

業務エラー

応答は次の形です。

json
{
  "ok": false,
  "error": {
    "code": "payment_required",
    "message": "クレジットが不足しています(必要60 / 残高10)",
    "required": 60,
    "balance": 10,
    "retryable": false
  }
}
code意味典型的な原因対応
payment_requiredクレジット不足、またはAPIキーの日次上限残高不足、その日の生成量が上限に到達残高を確認する。日次上限の場合は翌日以降に再試行する
plan_requiredプランの契約が必要無料トライアルが終了した、またはトライアルのクレジットがない組織で get_plan_status 以外を呼んだ再試行しない(retryable: false)。get_plan_status で契約の方法を確認し、利用者に伝える
not_found対象が存在しない、またはこのキーの組織から利用できないIDの誤り、別組織のIDIDと、キーを発行した組織を確認する
conflict同じ処理が実行中、同時実行上限、更新日時の不一致、状態の不整合楽観ロックの失敗、ジョブ重複最新データを読み直す、または実行中ジョブの完了を待つ
validation_error入力が要件を満たしていない必須項目の欠落、文字数超過、形式違反メッセージに従って入力を修正する
audio_not_confirmed動画組み立て前の音声確認が未記録stage: "video" で audio_confirmation が無い、または confirmed_by_user が true でない利用者に音声を確認してもらい、発言を audio_confirmation.user_message に入れて再実行する(retryable: false)。形式不正は validation_error
service_not_configured運営側の必須設定が deployment に無い漫画ショート動画の生成・組み立てをジョブ開始前に拒否した再試行せず、区分と文言を利用者へ報告する(retryable: false)。env 名や秘密値は応答に含まれない
provider_not_configured外部 API 用の必須キーが未設定ジョブ実行中に外部 API 呼び出し前で判明、または同期処理中にツールが失敗再試行しない(retryable: false)。運営側の設定の問題として利用者へ報告する
provider_auth_failed外部 API の認証失敗401/403(キー誤り・権限不足。ElevenLabs音声の利用枠不足として識別した401は除く)再試行しない(retryable: false)。運営側の設定の問題として利用者へ報告する
provider_quota_exhausted外部 API の利用枠不足ElevenLabs音声の402、または400/401で利用枠不足として識別した応答再試行しない(retryable: false)。利用者のcr残高不足とは別の問題として、運営へ問い合わせる
provider_input_invalid外部 API が入力または声を受理しなかったElevenLabs音声のその他対象4xx(認証失敗・混雑・利用枠不足を除く)同じ入力で再試行しない(retryable: false)。声と読み指定を確認し、修正してから新しいキーで再実行する
provider_rate_limited外部 API のレート制限429時間をおいて再試行する(retryable: true)
provider_server_error外部 API のサーバー障害5xx時間をおいて再試行する(retryable: true)
provider_request_failed上記以外の外部 API 失敗HTTP 失敗・通信例外など1回だけ再試行し、再度失敗したら報告する(get_job_status では retryable: null)
internal_error一時的な内部エラーサーバー側の一時障害時間をおいて再試行し、続く場合はサポートへ連絡する

漫画ショート動画: ツール応答と `get_job_status` の区別

区分返る場所主な code
起動前(課金予約・ジョブ作成前)ツール応答の error.codeservice_not_configured、audio_not_confirmed ほか通常の業務エラー
ジョブ実行中の失敗get_job_status の errorCode と retryableprovider_*(メッセージ内の [MSV:…] から読み取る)

provider_* は、非同期ジョブでは get_job_status をポーリングして errorCode / retryable を見ます。 同期処理中に外部 API が失敗した場合は、同じ code がツール応答の error.code に入ることがあります (そのとき retryable は応答本文の値に従います)。詳細は 基盤ツール `get_job_status`を参照してください。

retryable の意味

error.retryable は、同じ入力で再試行して結果が変わりうるかを示します。

  • true: 時間をおいて再試行する価値がある(internal_error、実行中を示す conflict、provider_rate_limited など)
  • false: 入力または前提を変えないかぎり、何度実行しても同じ結果になる(service_not_configured、audio_not_confirmed、provider_not_configured など)
  • get_job_status の retryable が null のとき(漫画ショート動画の provider_request_failed など)は、1回だけ同じ入力で再試行し、再度失敗したら利用者へ報告する

通信断などで起動結果が不明な場合は、最初と同じ idempotency_key・同じ入力で再送して元の結果を確認します。 同期ツールが再試行可能な失敗を返した場合も、同じキー・同じ入力で再試行します。 一方、起動に成功した非同期ジョブの最終失敗を get_job_status で確認し、再実行するときは、 新しい冪等キー(idempotency_key)で新規実行します。起動時の成功結果は確定済みなので、 旧キーでは失敗した元のジョブが返るだけで再起動されません。再実行の可否はそのジョブの retryable に従います。 validation_error の入力を修正した場合や、更新競合の後に最新データを読み直して操作内容を変えた場合も、 新しいキーを使います。確定済みの結果に同じキーを使うと、最初の結果がそのまま返ります。 詳しくは共通仕様を参照してください。

追加のフィールド

エラーの種類によって、判断材料になるフィールドが付きます。

フィールド付く場面内容
required / balance残高不足の payment_required必要クレジット数と現在の残高
jobId実行中を示す conflict実行中ジョブのID。get_job_status で追跡できる

payment_requiredの切り分けには、まずmessageを確認してください。 「APIキーの日次クレジット上限に達しました。」なら日次上限です。この場合のrequiredは日次上限、 balanceは今回の確保対象額であり、組織の利用残高ではありません。 requiredとbalanceの大小だけで、残高不足と日次上限を判定しないでください。

無料トライアル中の組織では、ツール結果のJSONに planNotice(kind と message)が付くことがあります。 CMO AI Pro から利用者へのお知らせです(例: クレジットが足りないときの月額プランの案内、トライアル終了の予告)。 作業の区切りで利用者に伝えてください。有料プランの組織の応答には付きません。

エラーメッセージに含まれないもの

安全のため、エラー応答には次を含めません。ログにも出力されません。

  • APIキー
  • 生成プロンプトの本文
  • 画像の署名URL
  • 他組織のデータの有無

このため、別組織のIDを指定した場合と、実在しないIDを指定した場合は、どちらも同じ not_found に なります。