上限と残高
すべてのリクエストは平等に処理されます。レートティアはありません。API 専用の枠もありません。トークンの代金はすでにお支払い済みです。お好きな速さで使ってください。
このページでは、残高の構成、リクエストが確保するものとそのコスト、送信できるリクエスト数、そして単一のリクエストが遭遇しうるいくつかの制限を説明します。
- 残高 1M トークンの価値
- $5.00
- 日次枠が更新される
- 00:00 UTC
- フラッド保護(アカウントごと)
- 120 リクエスト / 分
リクエストの処理方法
- レートティアはありません — リクエストが届く速さを制限するルールはひとつだけで、すべてのアカウント、すべてのプランで同じです:一分間に 120 リクエスト。一分あたりのトークン数に上限はありません。
- API 専用の枠はありません — API は、チャットと同じ残高を消費します。プランが決めるのは本日の枠の大きさであり、リクエストの頻度ではありません。
- お好きな速さで — 並列に送信されたリクエストは受け付けられ、順番待ちになります。並列であることを理由に拒否されることはありません。
あなたの残高
残高はトークンで数えられます。残高 1,000,000 トークンの価値は $5.00 で、モデルと料金のページにあるすべての価格は、この価値に対するレートです。
残高は常に、二つの部分の合計です。
- 本日のプラン枠 — ご利用のプランで決まるトークン数。毎日 00:00 UTC に新しくなります。一日の終わりに残った分は繰り越されません。
- 購入済みクレジット — パックとして購入したトークン。クレジットに有効期限はなく、Free を含むすべてのプランで使えます。
| プラン | 一日あたりのトークン | 価値 |
|---|---|---|
| Free | 30,000 | $0.15 |
| Plus | 80,000 | $0.40 |
| Standard | 265,000 | $1.325 |
| Pro | 665,000 | $3.325 |
- 消費の順序 — リクエストはまず、本日のプラン枠を消費します。購入済みクレジットが使われるのは、その日の枠を超えた分だけです。
- チャットと API で共有 — 残高はアカウントごとにひとつです。API キーは、それを所有するアカウントの残高から、チャットと同じ価格で消費します。
- パック — クレジットは 1,000,000 ($5.00)、2,000,000 ($10.00)、5,000,000 ($25.00) トークンのパックで販売しているほか、1,000,000 から 100,000,000 トークンまで任意の量を 1,000,000 あたり $5.00 で購入できます。
リクエストが確保するものとそのコスト
- 確保 — リクエストが届くと、残高から出力バジェットが確保されます。
/v1/chat/completionsと/v1/messagesではmax_tokens、/v1/responsesではmax_output_tokensです。/v1/chat/completionsはmax_completion_tokensも読み取ります。デフォルトは 4,096 で、範囲は 1〜65,536 です。 - 受け付け — リクエストが受け付けられるのは、確保分が残高の残りに収まる場合のみです。残高がゼロを超えていても出力バジェットより小さい場合は、
Quota exceededの応答になります。残りを使うには、より小さいmax_tokensを送信してください。 - 精算 — 回答が完了すると、確保した分は実際の課金額に置き換えられます。課金額は、確保した分より低い場合も高い場合もあります。
- 返却 — エラーステータスで終わったリクエストは、確保した分を全額返します。
実際の課金額は、モデルファミリーによって異なります。
| モデル | 課金されるもの |
|---|---|
| Shannon モデル | usage.total_tokens を、モデルの 1M あたりの価格で課金します。入力と出力のレートは単一です。 |
| ホスト型オープンウェイトモデル | キャッシュされない入力は入力レート、キャッシュ済み入力はキャッシュレート、出力は出力レートで課金されます。 |
USD の金額は、1,000,000 あたり $5.00 のレートで残高のトークンから引かれ、整数のトークンに丸められます。
POST /v1/tokenize または POST /v1/messages/count_tokens によるトークンカウントは無料で、何も確保しません。 トークンカウント
残高と使用量の確認場所
キーと使用量のページには、現在使える額、本日のプラン枠、購入済みクレジット、過去 30 日間の API 利用額が表示されます。その下に、キーが行ったすべてのリクエストが一覧表示されます:時刻、エンドポイント、モデル、キャッシュ済み入力、課金されたトークン数、コスト。 キーと使用量
すべての応答には、その呼び出しのトークン数を示す usage オブジェクトも含まれます。
| エンドポイント | usage のフィールド | ホスト型オープンウェイトモデルが追加するもの |
|---|---|---|
/v1/chat/completions | prompt_tokens, completion_tokens, total_tokens | prompt_tokens_details.cached_tokens, completion_tokens_details.reasoning_tokens |
/v1/messages | input_tokens, output_tokens | cache_read_input_tokens, cache_creation_input_tokens |
/v1/responses | input_tokens, output_tokens, total_tokens | input_tokens_details.cached_tokens, output_tokens_details.reasoning_tokens |
usageには、モデルのトークン数が入っています。残高から引かれた額は応答には含まれません。キーと使用量のリクエスト一覧にある 課金トークン 列で確認できます。- ホスト型オープンウェイトモデルを使った
/v1/messagesでは、input_tokensは入力のうちキャッシュされない部分、cache_read_input_tokensはキャッシュされた部分で、cache_creation_input_tokensは常に0です。 -
/v1/chat/completionsのストリームでは、[DONE]の前の最後のチャンクにusageが含まれます。 ストリーミング
残高がなくなったとき
確保分が残高に収まらないリクエストには、ステータス 429、タイプ rate_limit_error、そして下記のメッセージで応答します。課金はされません。残高がゼロを超えていてもリクエストの出力バジェットより小さい場合にも、同じ応答が送信されます。
{
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} /v1/responses では、error オブジェクトに code と param も含まれることがあり、どちらも null です。
できること:
- 00:00 UTC の次のプラン枠を待つ。
- クレジットをチャージしてください。クレジットはプラン枠の後に消費され、有効期限はありません。 クレジットをチャージ
- 日次枠の大きいプランに変更してください。 プランを変更
- 残高が少しでも残っている場合は、より小さい
max_tokensを送信してください。確保される量が小さくなります。
Shannon Coder の呼び出し枠
/v1/chat/completions と /v1/messages の shannon-coder-1 は、トークンではなく呼び出し回数で計上されます。各プランには、4 時間枠あたりの呼び出し回数が含まれます。リクエスト一件が一回の呼び出しです。
| プラン | 4 時間枠あたりのコール数 |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
- 枠は 00:00, 04:00, 08:00, 12:00, 16:00, 20:00 UTC に始まります。枠の終わりに残った呼び出し回数は繰り越されません。
- 呼び出しは、リクエストが受け付けられた時点、モデルが応答する前に計上されます。その後に失敗したリクエストも、呼び出しとして計上されます。
- これらの呼び出しではトークンを確保せず、残高からも何も引かれません。キーと使用量のリクエスト一覧には、そのトークン数と、表示価格での価値が表示されます。
- これら二つのエンドポイントでの
shannon-coder-1のデフォルトのmax_tokensは 65,536 です。 - 呼び出しが残っていない場合、応答はステータス
429、タイプrate_limit_error、メッセージShannon Coder call quota reached. Upgrade your plan at shannon-ai.com/planです。 /v1/responsesでは、shannon-coder-1に呼び出し枠はありません。他のモデルと同様に、残高から 1M あたり $8.00 のトークンで課金されます。
フラッド保護
アカウントは 一分間に 120 リクエスト まで送信できます。これがリクエスト頻度に関する唯一の制限で、すべてのプランで同じです。通常の利用を遅くするためではなく、大量送信を防ぐためのものです。
- 一分間は、最初のリクエストで始まる 60 秒の固定枠です。終了すると、カウントはゼロから再開されます。
- カウントはアカウント単位で、キー単位でも IP アドレス単位でもありません。キーをローテーションしても、新しい枠は開きません。
- 枠内の 121 番目のリクエストには、ステータス
429、タイプrate_limit_error、メッセージToo many requests. Retry in <N>s.で応答します。Nは枠が終わるまでの秒数で、1〜60 です。 - フラッド保護は、残高より先に確認されます。これによって拒否されたリクエストは、何も確保せず、課金もされません。
{
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} | リクエスト | フラッド保護 |
|---|---|
POST /v1/chat/completions, POST /v1/messages, POST /v1/responses | 計上される。リクエスト一件につき一回。 |
GET /v1/models, POST /v1/tokenize, POST /v1/messages/count_tokens | 計上されない。 |
/v1/chat/completions と /v1/messages の shannon-coder-1 | 代わりに、Shannon Coder の呼び出し枠で計上されます。 |
401 で応答されたリクエスト、または不明な model により 400 で応答されたリクエスト | 計上されない。 |
| フラッド保護によって拒否されたリクエスト | 枠にはカウントされます。課金はされません。 |
並列リクエスト
アカウントが同時に開けるリクエスト数に上限はなく、並列にリクエストを送信してもエラーにはなりません。すぐに開始できないリクエストは順番待ちになり、順に応答されます。
- 各リクエストは、以前のリクエストが完了しているかどうかにかかわらず、届いた時点で一分間 120 件の枠にカウントされます。
- 各リクエストは、終了するまで自身の確保分を保持します。デフォルトの出力バジェットで二十件のリクエストが開いていると、残高 20 × 4,096 = 81,920 トークンを保持します。確保分の合計が残高より大きい場合、完了した呼び出しのコストはもっと低かったとしても、次のリクエストには
Quota exceededの応答が返されます。max_tokensを小さくすると、保持される量が減ります。 - ストリーミングでないリクエストは、回答が完了するまで何も送信しないため、待ち時間をカバーするタイムアウトをクライアントに設定してください。ストリームは、待っている間も接続を開いたままにします。 ストリーミング
単一のリクエストの制限
| 上限 | 値 | 適用対象 | 上限に達したとき |
|---|---|---|---|
| リクエストボディ | 32 MiB(33,554,432 バイト) | すべてのエンドポイント | ステータス 413、タイプ invalid_request_error。 |
出力バジェット:max_tokens、max_completion_tokens、max_output_tokens | 1〜65,536。デフォルトは 4,096。/v1/chat/completions と /v1/messages の shannon-coder-1 では、デフォルトは 65,536 です。 | すべてのモデル(残高から確保される量として)。回答の長さの上限としては、ホスト型オープンウェイトモデル、shannon-1.6-lite、shannon-1.6-pro、shannon-coder-1。 | 範囲外の値は、範囲の最も近い端に調整されます。エラーにはなりません。 |
停止シーケンス:stop、stop_sequences | 4 個の文字列 | ホスト型オープンウェイトモデル | 最初の 4 個の空でない文字列が使われます。 |
| URL で指定された画像またはファイル | 8 MiB、20 秒以内に読み取り、リダイレクトは最大 5 回、公開された http または https アドレス | 画像やファイルを受け付けるすべてのエンドポイント | リクエストは、その部分を除いて応答されます。エラーにはなりません。 |
| インラインで送信された画像またはファイル(base64) | 個別の上限はありません。32 MiB のリクエストボディに含まれます。 | 画像やファイルを受け付けるすべてのエンドポイント | リクエスト全体がステータス 413 になります。 |
POST /v1/tokenize の text | 4,000,000 バイト | /v1/tokenize | ステータス 413、タイプ invalid_request_error、メッセージ text too long。 |
POST /v1/tokenize の messages と、POST /v1/messages/count_tokens のボディ | 32 MiB のリクエストボディ | 両方のカウント用エンドポイント | ステータス 413。 |
| コンテキストウィンドウ | モデルごと:GET /v1/models の context_window | すべてのモデル | それより長い会話の扱いは、モデルによって異なります。 モデルと料金 |
ウェブ検索(web_search: true) | プランごと、一日あたり:Free 3、Plus 30、Standard 50、Pro 60。検索結果が見つかったリクエストに対して、検索は一回分として計上されます。 | web_search: true を指定したリクエスト | 残りがない場合、リクエストは検索なしで応答されます。エラーにはなりません。 内蔵Web検索 |
エラー
このページの応答です。/v1/messages では、同じ error オブジェクトが {"type": "error", "error": {…}} に包まれます。
| ステータス | タイプ | メッセージ | 発生条件と対処 |
|---|---|---|---|
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | リクエストの確保分が残高に収まりません。00:00 UTC まで待つか、クレジットをチャージするか、プランを変更するか、より小さい max_tokens を送信してください。 |
429 | rate_limit_error | Too many requests. Retry in <N>s. | 現在の一分間に 120 を超えるリクエストがありました。N 秒待ってから再送信してください。 |
429 | rate_limit_error | Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan | 現在の 4 時間枠の Shannon Coder の呼び出し回数を使い切りました。 |
429 | rate_limit_error | Shannon routes are temporarily busy. Please retry. | モデルは現在このリクエストを受け付けられません。少し間を置いてから再送信してください。 |
503 | api_error | Could not verify your quota right now. Please retry. | 残高を読み取れませんでした。課金はされません。リクエストを再送信してください。/v1/responses で Shannon モデルを使う場合、ステータスは 500 です。 |
413 | invalid_request_error | リクエストボディが 32 MiB を超えています。OpenAI 形式のエンドポイントでは、error オブジェクトに code: "request_too_large" が含まれます。 | |
413 | invalid_request_error | text too long | POST /v1/tokenize の text が 4,000,000 バイトを超えています。 |