Count tokens
レスポンスを生成せずに、Messages リクエストの入力トークン数を数えます。ゲートウェイはリクエストを Messages リクエストと同じ方法で変換し、モデルサーバーのトークナイザーに問い合わせます。推論は実行されないため、このリクエストは課金されません。
/messages/count_tokenshttps://api.bricksum.com/v1/messages/count_tokens対応状況
- 対応
- ゲートウェイが処理するか、公開済みの実測で動作を確認した項目です。
- 転送のみ
- モデルサーバーに転送されます。Kiln は動作を検証していません。
- 無視
- 200 で受け付けられますが、適用されません。レスポンスのその他の部分は通常どおりです。
- 非対応
- エラーで拒否されるか、説明に記載したモデルでは動作しません。
共通パラメータ
以下のパラメータの定義は API リファレンス ページに一度だけ記載しています。ここには、このエンドポイントで異なる点だけを記載します。
modelstring対応ここでは任意です。このフィールドが空または未指定の場合は、ゲートウェイに設定された既定のモデルを使用します。404 は not_found_error で、トークナイザーが数えられない場合も同じステータスで応答します。
messagesarray必須対応Messages エンドポイントと同じ形式で、同じルールで変換されるため、thinking や document のように取り除かれるブロックは数えません。配列が空または未指定の場合は 400(invalid_request_error)で拒否されます。
toolsarray無視受け付けられますが、トークナイザーには送られません。トークン数にツール定義は含まれません。
tool_choiceobject無視受け付けられますが、トークナイザーには送られません。thinking、output_config、max_tokens、サンプリングパラメータも同様です。
このエンドポイント固有のパラメータ
systemstring | array対応システムプロンプトです。文字列、または text ブロックの配列で送信します。会話の先頭の system メッセージとして数えられます。
トークナイザーに届くのは model と変換後の messages だけです。それ以外のフィールドは取り除かれ、エラーにはなりません。
レスポンスボディ
| フィールド | 型 | 説明 |
|---|---|---|
| input_tokens | integer | 変換後の messages のトークン数です。モデルサーバーのトークナイザーが chat テンプレートを適用して数えた値です。レスポンスの唯一のフィールドです。 |
エラー
認証を通過した後のエラーは、Anthropic の形式({"type": "error", "error": {"type", "message"}})で返されます。メッセージの文言ではなく、HTTP ステータスと error.type で分岐してください。error.type の欄が空の行は、リクエストがこのエンドポイントに届く前にゲートウェイが返すエラーで、表の下に示すボディ形式を使用します。
すべてのステータスコードは エラー ページにあります。
| ステータス · error.type | 原因 | 対処 |
|---|---|---|
| 400invalid_request_error | ボディが有効な JSON でない、messages が空または未指定、あるいはメッセージの content が文字列でもブロック配列でもありません。 | リクエスト内容を修正してください。そのまま再試行しないでください。 |
| 404not_found_error | モデル ID がカタログにありません。 | GET /models で ID を確認してください。 |
| 404not_found_error | このモデルではトークン数の計算を利用できません。モデルバックエンドを選択できなかった、トークナイザーに到達できなかったか拒否された、または応答にトークン数がなかった場合です。このエンドポイントは、これらの失敗に 5xx ではなく 404 で応答します。 | クライアント側でトークン数を推定してください。Claude Code は自動で推定値を使用します。 |
| 405invalid_request_error | メソッドが POST ではありません。 | POST でリクエストしてください。 |
401、402、403、429 は、リクエストがこのエンドポイントに届く前にゲートウェイが返します。これらは API リファレンス ページに一度だけ記載しています。
認証、クレジット、予算、レート制限(1 分あたりのリクエスト数、トークン数)のエラーは、Anthropic 形式への変換より前にゲートウェイが返します。ボディは Anthropic の形式ではありません。
{
"error": {
"message": "invalid API key",
"type": "authorization"
}
}制限
- 課金:課金されません。ゲートウェイはこのエンドポイントの usage イベントを発行せず、レスポンスに X-Neocloud-Generation-Id ヘッダーはありません。
- Claude Code では任意です。このエンドポイントが 404 で応答した場合、Claude Code は独自の推定値を使用し、/context には概算値が表示されます。
コンテキスト長、リクエストボディのサイズ、タイムアウト、組織ごとのレート制限もここに適用され、 API リファレンス ページに一度だけ記載しています。
429 のヘッダーと再試行の方法は レート制限 ページにあります。