リファレンス
エラー
エラーはOpenAIと同じ形式で返ります。照合に使える安定した code と、人向けに書かれた message が付きます。拒否された呼び出しや失敗した呼び出しは料金がかかりません。
2026年10月26日 確認
形式
{
"error": {
"type": "rate_limit_error",
"code": "daily_cap",
"message": "This call needs up to $0.02 and the key has $0.01 left of its $2.00 daily cap, which resets at 00:00 UTC. …"
}
}照合には message ではなく code を使ってください。メッセージは言い換えられることがありますが、コードは変わりません。type はOpenAIのものに従うので、SDKは想定どおりの例外を投げます。
すべてのコード
| ステータス | コード | 発生条件 | 対処 |
|---|---|---|---|
| 401 | missing_key | キーが送られていません。 | Authorization: Bearer sk-nokeep-… の形で送ってください。キーはコンソールで作成できます。まずは sk-nokeep-test でも試せます。 |
| 401 | invalid_key | キーが間違っているか、取り消されています。 | 保存した場所からキーをもう一度コピーしてください。コンソールに表示されるのは末尾4文字だけです。なくした場合は新しく作成してください。 |
| 403 | account_frozen | キーが属するアカウントで、有料機能が停止されています。 | お問い合わせページからご連絡ください。 |
| 429 | rate_limited | キーが1分間に120件を超えるリクエストを送りました(テストキーはアドレスごとに20件)。 | Retry-After の秒数だけ待ってから再試行してください。 |
| 429 | daily_cap | この呼び出しでキーの1日の上限を超える可能性があります。 | コンソールで上限を上げるか、max_tokens を下げるか、00:00 UTC まで待ってください(待ち時間は Retry-After でわかります)。 |
| 402 | insufficient_credits | アカウントの購入済みクレジットでは、この呼び出しを支払えません。 | コンソールで$5からチャージするか、max_tokens を下げてください。プランのクレジットはアプリ内で使います。 |
| 400 | invalid_json | ボディがJSONオブジェクトではありません。 | Content-Type: application/json とJSONオブジェクトを送ってください。 |
| 413 | too_large | リクエストが12 MBを超えています。 | 画像はdata URLではなくリンクで送るか、一度に送る枚数を減らしてください。 |
| 404 | model_not_found | そのモデルIDは当社のものではありません。 | GET /v1/models でIDの一覧が見られます。入力ミスや -uncensored の付け忘れを確認してください。 |
| 400 | invalid_messages | messages がない・空・長すぎる、不明なroleがある、または tool_call_id のないtoolメッセージがあります。 | メッセージは1〜2,000件、それぞれroleはsystem、developer、user、assistant、toolのいずれかで送ってください。 |
| 400 | unsupported_n | n が1より大きい値です。 | 欲しい回答の数だけリクエストを送ってください。 |
| 400 | invalid_reasoning_effort | モデルがその reasoning_effort に対応していません。 | DeepSeekはnone、low、high、max、GLMはlowかhighに対応します。 |
| 400 | unsupported_tool_choice | GLMに、関数名の指定または "required" が tool_choice として送られました。 | GLMにはautoかnoneを送ってください。ツールはモデルが自分で選びます。DeepSeekはすべての形式に対応します。 |
| 400 | unsupported_input | モデルが読めない種類のコンテンツが含まれています。 | 画像はDeepSeekに送ってください。GLMはテキストのみ読めます。 |
| 400 | too_many_images | 1つのリクエストに画像が10枚を超えています。 | 10枚までにしてください。 |
| 422 | hard_limit | リクエストが利用規約の絶対的な制限のいずれかに触れています。 | 料金はかかっていません。送り返す履歴からそのメッセージを外してください。外さないと次の呼び出しも止まります。 |
| 400 | rejected | モデルが送られた形のままではリクエストを受け付けられませんでした。 | モデルにあるそのモデルの一覧とパラメーターを照らし合わせてください。料金はかかっていません。 |
| 503 | busy | モデルが混み合っています。 | Retry-After の秒数のあとに再試行してください。料金はかかっていません。 |
| 503 | model_unavailable | 当社側でモデルがオフラインです。 | 当面はもう一方のモデルを使ってください。復旧はステータスページで確認できます。 |
| 502 | upstream_error | モデルが一言も書く前に失敗しました。 | 少し待って再試行してください。料金はかかっていません。 |
| 404 | not_found | そのルートは存在しません。 | APIが提供するのは GET /v1/models、GET /v1/models/{id}、GET /v1/status、POST /v1/chat/completions です。 |
| 404 | api_closed | APIが停止されています。 | しばらくしてからお試しください。 |
| ストリーム中 | コード | 発生条件 | 対処 |
|---|---|---|---|
| — | stream_cut | ストリームの途中で、モデルが書き終える前に止まりました。 | 課金は書かれた分だけです。再試行して残りを得るか、届いた内容から続けてください。 |
再試行するもの
429 rate_limited、503 busy、502 upstream_errorは再試行してください。Retry-Afterの秒数があれば、その後に行います。400、401、402、404、422は再試行しないでください。同じリクエストには同じ答えが返ります。429 daily_capはUTC 00:00まで待ちます。代わりに上限を上げてください。