AI エージェント向け:セットアップの手順ガイド — /docs/agents.md、ドキュメントのインデックス — /llms.txt。

エラーと制限

ゲートウェイのレート制限、タイムアウト、エラーコード。各レスポンスについて、それが発生する条件と対処法(リクエストの再試行または修正)を説明します。

制限#

数値はレスポンスGET /v1/capabilitiesのlimitsフィールドにあります。常に最新の値が記載されています。

制限値超過時
キーあたりの毎分リクエスト数120、最初のリクエストからの60秒ウィンドウ429 rate_limit_exceededとヘッダーRetry-After。ゲートウェイの5xx拒否はクォータを消費しません
アカウントの同時リクエスト数制限あり超過分はキューで待機。待ちきれない場合は429 queue_timeout
リクエストボディのサイズ16MiB413
出力の長さモデル別 — 下の表を参照モデルの上限を超えた場合、エラーなしで上限まで切り捨て
子キー管理キーあたり最大50個、各120リクエスト/分上限の引き上げはサポート経由で

モデル別の出力の長さ#

max_tokensを指定しない場合、ゲートウェイはデフォルト値を適用します。非ストリーミングではタイムアウトに収まるよう短めに、ストリーミングではモデルの上限に。max_completion_tokensは同じフィールドです。

model上限非ストリーミングストリーミング
MiniMaxAI/MiniMax-M2.7819215008192
deepseek-ai/DeepSeek-V4-Flash-073132768150032768
zai-org/GLM-5.3-Flash819230008192

タイムアウト#

段階値発生する内容
キューの順番待ち45秒Retry-After: 1ヘッダー付きの429 queue_timeout
ネットワーク応答の開始、ストリーミング150秒504 upstream_timeout。入力トークンの推定値が請求されます
ネットワーク応答の開始、非ストリーミング150秒504 upstream_timeout。入力トークンの推定値が請求されます
回答の生成≈300秒ネットワークが生成を中断:レスポンスはfinish_reason: length付きで返ります。次のリクエストで続けてください
ストリームのチャンク間のポーズ30秒ストリームが閉じます:チャンクjoingonka-stream-stalledのfinish_reason: stop
ストリームのキープアライブシグナル15秒コメント: keep-alive — SSEクライアントはこれをスキップします
ストリームの開始30秒この時点まではレスポンスコードで拒否が返り、それ以降はチャンクjoingonka-errorで返ります
非ストリーミングの早期レスポンス90秒ゲートウェイは200を返し、15秒ごとにスペースを送信します — JSONは有効なままです。その後のエラーはerrorフィールドを含むボディで返り、ステータスは200のままです

タイムアウト時の請求内容

ネットワークが受理したリクエストはキャンセルできません。504 upstream_timeout の場合、入力トークンの見積もり分が課金され、出力分は課金されません。再試行は新たな課金となります。最終的な usage の前に途切れたストリームも同様に課金されます。長い応答が必要な場合は stream: true をご利用ください。

エラーコード#

エラー本体は message, type, code, param フィールドを持つ error オブジェクトです。すべてのエラーに全フィールドがあるわけではありません。ステータスと type を基準にし、code で詳細を確認してください。message のテキストは変更される可能性があります。Anthropic 形式については Anthropic エラー形式 のセクションをご覧ください。

JSON
{
  "error": {
    "message": "Model is currently overloaded in the Gonka network",
    "type": "rate_limit_exceeded",
    "code": "upstream_rate_limited"
  }
}
レスポンスタイミング対処方法
400 invalid_request_error不正なリクエストボディ: messages がない、メッセージがオブジェクトでない、ボディが JSON でない。未知のモデルの場合は param とともに model、および利用可能なモデル一覧がテキストに含まれますエラーメッセージに従ってリクエストを修正してください
400 invalid_request_error empty_content_after_normalization正規化後にメッセージが空 — 例えば画像のみが含まれていた場合メッセージにテキストを追加してください
400 invalid_request_error web_search_privacy_sanitization_not_supported同一リクエスト内に web と privacy-sanitization のプラグインが共存どちらか一方のみを使用してください
400 invalid_request_error previous_response_id_not_supported conversation_not_supported item_reference_not_supported background_not_supported hosted_tool_choice_not_supportedOpenAI Responses: 保存された応答・会話・アイテムへの参照、バックグラウンドモード、組み込みツールの要求履歴全体を input に含めて送信してください
400 api_errorネットワークがパラメータを拒否 — 例えば reasoning_effort の値がネットワークのリストにない場合エラーメッセージに従って値を修正してください
401 authentication_errorキーが見つからない、取り消されている、または不明な形式gate.joingonka.ai/keys ページでキーを確認してください
402 insufficient_fundsリクエストの見積もりに対して残高が不足しています。残高は balance_ngonka にあります残高をチャージしてください: gate.joingonka.ai/billing
402 insufficient_fundsサイト以外からのキーなしリクエスト (is_demo: true)API キーを送信してください
402 child_key_limit_exceededキーの支出上限を超過 — 日次、月次、または累計。残量は daily_remaining, monthly_remaining, total_remaining にありますgate.joingonka.ai/keys ページでキーの上限を引き上げるか、リセットを待ってください
403 forbiddenモデルへのリクエストに管理キー gm- を使用。アカウント専用ルートに API キーを使用リクエストには jg- または gc- キーを使用してください。アカウント管理はダッシュボードで行ってください
404 invalid_request_error model_not_foundGET /v1/models/{model}: モデルがカタログに存在しないか、一時的に非表示になっていますGET /v1/models から id を取得してください
404 invalid_request_error not_found compact_not_supportedOpenAI Responses: /v1/responses/{id} およびその他のステートフルアドレス、/v1/responses/compact履歴はご自身で保持してください。Codex CLI の場合はプロバイダー ID を独自に設定してください
404 invalid_request_error不明なパスメソッド、パス、ベースアドレスを確認してください
413 invalid_request_errorリクエストボディが上限を超過リクエストを縮小してください
415 invalid_request_errorヘッダーによるとボディが JSON でない: Content-Type: application/json が必要ですContent-Type: application/json を送信してください
429 rate_limit_exceededキーあたりの 1 分間のリクエスト数が上限を超過。ボディに limit, remaining, reset を含む rate_limit がありますRetry-After に示された秒数だけ待ってください
429 rate_limit_exceeded upstream_rate_limitedGonka ネットワーク上でモデルが過負荷状態ですRetry-After 後に再試行するか、別のモデルを使用してください — モデル
429 rate_limit_exceeded queue_timeout queue_fullネットワークの全スロットが使用中: キューが満杯か、待機時間が超過しましたRetry-After 後に再試行してください
500 server_errorゲートウェイの内部エラー後で再試行してください。繰り返す場合は、x-request-id を添えてサポートにお問い合わせください
501 not_implementedPOST /v1/embeddings: ネットワークに埋め込みモデルがありません別の埋め込みサービスをご利用ください
502 api_error upstream_unauthorizedネットワークプロバイダーがゲートウェイの認証情報を拒否 — お客様のキーは正常です1 分後に再試行してください
502 api_errorGonka ネットワークのエラー。code はネットワークから送信された場合のネットワーク側の情報です間隔を空けて再試行するか、別のモデルを使用してください
503 model_unavailable model_outage model_initializing model_unstable model_not_servedネットワークのプローブによりモデルが現在利用不可: 障害、起動中、不安定、または誰もサービスを提供していない状態。待機せず即座に拒否されます別のモデルを使用してください — エラーメッセージがどのモデルかを示します。一覧は モデル
503 service_unavailable利用可能なノードがありません後で再試行してください
504 timeout upstream_timeoutネットワークがリクエストを受理しましたが、時間内に応答しませんでした。入力トークンの見積もり分は課金されました長い応答には stream: true をご利用ください。再試行は新たな課金となります

オープンストリーム内のエラー#

ストリームが開かれる前は、拒否は通常のレスポンスコードで返されます — 非ストリーミング時と同じです。開いた後はステータスが既に 200 となり、エラーは次のように返されます:

  • Chat Completions — error フィールドを持つ joingonka-error チャンク、その後 [DONE] なしで切断されます。
  • 早期応答後の非ストリーミング — ステータス 200 と error フィールドを持つボディ。
  • Anthropic Messages — event: error イベント、その後ストリームが閉じられます。
  • OpenAI Responses — response.failed イベント、原因は response.error.code にあります。
  • Legacy Completions — data: {"error": …}、その後 [DONE]。
SSE
data: {"id":"joingonka-error","object":"chat.completion.chunk","model":"MiniMaxAI/MiniMax-M2.7","choices":[],"error":{"message":"Gonka network error","type":"api_error"}}

Anthropic エラー形式#

  • POST /v1/messages は Anthropic エンベロープで応答します: {"type": "error", "error": {"type", "message"}}。
  • ゲートウェイの拒否は上記の表の type を保持します (insufficient_funds、model_unavailable など)。このエンベロープには code フィールドはなく、原因はテキストに記載されています。
  • リクエスト形式のエラー — invalid_request_error: メッセージまたは max_tokens がない、名前のないツール呼び出し、未知のモデル。
  • 不明なパス — not_found_error、ボディが大きすぎる — request_too_large。
SSE
event: error
data: {"type":"error","error":{"type":"timeout","message":"Upstream timeout"}}

再試行すべきケース#

  • Retry-After に示された待機後: 429
  • 指数的バックオフ — 1、2、4 秒以降: 500, 502, 503 service_unavailable, 504
  • 別のモデルで: 503 model_unavailable
  • 変更なしで再試行しない — リクエスト、キー、または残高を修正してください: 400, 401, 402, 403, 404, 413, 415, 501

504 後の各再試行は入力見積もりの新たな課金となります。長い応答には stream: true を有効にしてください。

エラーが繰り返す場合は、レスポンスヘッダーの x-request-id を添えてサポートにお問い合わせください。