POST /v1/messages/count_tokens считает полный вход для Claude с серверным промптом и без него. При применённом промпте его токены уже входят в возвращаемый input_tokens; текст промпта не раскрывается.
curl https://api.guardrelay.ai/v1/messages/count_tokens \
-H "x-api-key: $GUARD_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [{"role": "user", "content": "Сколько здесь токенов?"}]
}'{ "input_tokens": 56 }POST /v1/messages/count_tokens работает для Claude, Kimi и GLM, а также для Gemini и Muse (у них это бесплатная приблизительная оценка). GLM поддерживает также /glm/v1/messages/count_tokens; внутренний count-only fallback 5.2 не является публичной моделью. Composer и Grok получают 404.
- Kimi. Бесплатный подсчёт доступен на
/v1/messages/count_tokensдля всех четырёх id. Он не заменяет резерв генерации: задавайте явныйmax_tokens, иначе выходная часть резерва считается по значению Kimi по умолчанию: 131 072 токена уk3иk3-256k, 32 768 уkimi-for-coding-highspeed, 32 000 уkimi-for-coding; если остатка не хватает на такой резерв с запасом ещё на 8 обычных запросов — по 32 000. - Composer и Grok. Предварительного подсчёта нет. Фактический расход приходит в
usageответа, а окно контекста у Composer 200K, у Grok 4.7 — 256K в Guard, у Grok 4.6 — 500K.
Все четыре Kimi id поддерживают бесплатный POST /v1/messages/count_tokens. Передайте модель и сообщения; ответ содержит input_tokens. Расход генерации отдельно приходит в usage оплачиваемого ответа.
curl -s -X POST https://api.guardrelay.ai/v1/messages/count_tokens \
-H "Authorization: Bearer $GUARD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "k3",
"messages": [{"role": "user", "content": "Сколько здесь токенов?"}]
}'{ "input_tokens": 14 }POST /v1/messages/count_tokens и /glm/v1/messages/count_tokens принимают Messages-тело и не списывают баланс.
curl https://api.guardrelay.ai/glm/v1/messages/count_tokens \
-H "Authorization: Bearer $GUARD_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"glm-5.3","messages":[{"role":"user","content":"Count this input"}]}'{"input_tokens": 14, "model": "glm-5.3"}Flash использует собственный счётчик. Содержимое messages проверяется по той же матрице вложений, что и генерация.
POST /v1/messages/count_tokens работает для Gemini бесплатно. Подсчёт перед ответом возвращает приблизительную оценку всего входа (системные инструкции, инструменты и серверный промпт, если он применяется), а не точный счёт Google. Это справочное число: списание идёт по фактическому расходу, а не по оценке.
POST /v1/messages/count_tokens работает и для Muse. Бесплатный подсчёт перед ответом возвращает приблизительную оценку, а не точный счёт Meta. Это справочное число: списание идёт по фактическому расходу, а не по оценке.