Skip to content
Payment & usageBilling

Billing

Per-1M-token rates and how charging is computed.

Model protocol

Charging is by actually used tokens, separately for input and output, at the model's rate. The balance is in your Guard account and in the bot.

Claude rates / 1M tokens

ModelInputOutput
claude-haiku-5-5$0.10 (over 100K: $0.50)$0.50 (over 100K: $2.50)
claude-haiku-4-5$1.00$5.00
claude-sonnet-5-5$2.00$10.00
claude-sonnet-5$3.00$15.00
claude-opus-5-5$4.00$20.00
claude-opus-5$5.00$25.00
claude-opus-4-8$5.00$25.00
claude-fable-5$10.00$50.00
claude-fable-5-1$10.00$50.00

Kimi rates / 1M tokens

ModelInputCache readOutput
Kimi K3
k3
$3.00$0.30$15.00
Kimi K3-256K
k3-256k
$3.00$0.30$15.00
Kimi K2.8 Preview
kimi-for-coding
$0.95$0.19$4.00
Kimi K2.7 Code HighSpeed
kimi-for-coding-highspeed
$1.90$0.38$8.00

USD per 1M tokens. The current Guard tariff is loaded from the API configuration.

The table above is built from the gateway billing catalog, so the numbers are never retyped into the documentation text and never drift from what the charge is computed on. The key keeps one balance for every family.

Cache reads

The part of the input Kimi recognized from its own cache is charged at the separate Cache read rate. For k3 and k3-256k it is ten times below the input rate; for kimi-for-coding and kimi-for-coding-highspeed it is five times below. Nothing is paid twice: cached tokens are subtracted from the ordinary input. How many there were is visible in the response — usage.prompt_tokens_details.cached_tokens. Kimi does not bill cache writes separately.

The preflight reserve

Before calling the model, Guard reserves estimated input cost plus the maximum output cost. For Kimi without max_tokens, the output part is computed at Kimi's default: 131,072 tokens for k3 and k3-256k, 32,768 for kimi-for-coding-highspeed, 32,000 for kimi-for-coding; if the balance cannot cover that reserve with room for 8 more regular requests, 32,000. A future cache hit is not assumed. Unused reserve is released.

Composer and Grok rates / 1M tokens

ModelInputCache readOutput
Composer 2.5 composer-2.5$0.50$0.20$2.50
Composer 2.5 Fast composer-2.5-fast$3.00$0.50$15.00
Grok 4.7 · 256K window cursor-grok-4.7-{low,medium,high,xhigh}$2.00$0.50$6.00
Grok 4.7 Fast · 256K window the same ids with -fast$4.00$1.00$12.00
Grok 4.6 cursor-grok-4.6-low, -medium, -high, -xhigh$2.00$0.50$6.00
Grok 4.6 Fast cursor-grok-4.6-low-fast, -medium-fast, -high-fast, -xhigh-fast$4.00$1.00$12.00

The preflight reserve

On Messages, Chat Completions and Responses, Guard temporarily holds the largest possible cost of the request before the model is called. The input part is estimated from above: the UTF-8 bytes of the request itself — the system text, the messages and the tool descriptions. That is deliberately more than the real token count, but it never under-holds on code, JSON or non-Latin text. The output part follows max_tokens, or max_output_tokens on the Responses surface; when no limit is set, 128,000 is used for Grok and 32,000 for Composer; if the key balance or its limits cannot cover the Grok reserve at 128,000 with room for 8 more regular requests, 32,000.

Formula

  • Ordinary API input is accounted input: system text, history, the current message, an applied server prompt and tool data.
  • Output is accounted model output.
  • Deadline cut. One Claude request lasts at most 10 minutes. A response that does not finish is cut: the delivered part is billed as output, the input is not charged.
  • On Messages, Chat Completions and Responses, token cost uses the requested model’s full rates; cache writes and reads are priced separately without double-counting regular input.
  • Ordinary API total = full token cost + fixed server-tool fees.
  • For native Composer/Grok, the preliminary server-prompt estimate sets the reserve and maximum debit.

Server-prompt cost

The server prompt and the client request form one billable input. All of those tokens use the selected model’s full input or cache-read rate. usage and count_tokens return full input_tokens, including an applied server prompt; its text is neither needed for the calculation nor exposed. Full conditions.

Server-tool charges

Web search adds $0.01 per metered billed search request. Web fetch has a $0 fixed fee. Retrieved content is accounted as input tokens at the full input or cache-read rate.

Spend limits and different 429 responses

Each key can have its own USD cap for a rolling hour and/or 24 hours: @guardapi → My API keys → choose a key → Manage API key → limits. Set 0 or use the clear action to remove limits.

  • 429 with hourly_spend_limit / daily_spend_limit means your configured spend cap. Raise or clear it in the bot, or wait for the rolling window to free up.
  • hourly_reserve_limit / daily_reserve_limit means the request's maximum possible cost does not fit the remaining cap. Lower max_tokens / max_output_tokens or raise the limit.
  • Another 429 is a temporary rate/capacity limit. Respect Retry-After and retry with backoff.
  • Spend-cap checks happen before any billable model request.
http
HTTP/1.1 429 Too Many Requests
Retry-After: 12

Codex billing

Base Standard short-context rates for all seven models are listed on the Models page. Billing always keeps the model id requested by the client, even when an allowed server prompt chooses another model for execution only.

  • Complete actual response usage is charged: ordinary input, cache reads, cache writes and all output, including reasoning output.
  • Cache reads and writes are priced separately and are not counted again as ordinary input.
  • PRIVATE does not change token or cache prices for Codex models.
  • Tools and resources are always charged at full price.

GLM rates / 1M tokens

ModelUncached inputCache readOutputBuilt-in search
glm-5.3$1.40$0.26$4.40$0.10 / confirmed call
glm-5.3-flash$0.15$0.03$0.50$0.10 / confirmed call

Formula: uncached input × input rate + cached input × cache rate + all output × output rate + confirmed searches × $0.10. Divide all token-rate terms by 1,000,000.

text
glm-5.3
4,000 × $1.40 / 1M = $0.00560000
8,000 × $0.26 / 1M = $0.00208000
1,000 × $4.40 / 1M = $0.00440000
tokens total          = $0.01208000
+ one confirmed search = $0.11208000

Search is billed per confirmed operation. The number of links or result rows does not multiply the charge; if the model does not invoke search, no search charge is added.

The multiplier is 1 for every GLM key, including PRIVATE. discount_percent is 0 at the current full rate.

A conservative amount is reserved before the request; final debit uses actual tokens and confirmed search. The reserve and final cost can therefore differ.

CachingHow to read cache tokens without subtracting twice.Usage APIThe family=glm filter and usage history.

Gemini rates / 1M tokens

ModelPeriodUncached input / 1MCache read / 1MOutput / 1M
gemini-4-argonuntil December 1, 2026, 00:00 UTC$2.00$0.10$10.00
gemini-4-argonfrom December 1, 2026, 00:00 UTC$4.00$0.20$20.00
gemini-3.8-flashuntil January 1, 2027, 00:00 UTC$0.75$0.075$3.75
gemini-3.8-flashfrom January 1, 2027, 00:00 UTC$1.50$0.15$7.50

Formula: uncached input × input rate + cached input × cache-read rate + all output × output rate + number of search requests × $0.014. Divide all token rates by 1,000,000.

Web search: $0.014 for each search request, starting with the first. The cost of one search is held before the answer, and the final charge uses the actual number of searches. Retrieved text is billed as ordinary input tokens. The max_uses limit is accepted but not kept, so every search that runs is billed.

Muse rates / 1M tokens

ModelUncached input / 1MCache read / 1MOutput / 1M
muse-wonder-1.0$4.00$0.20$20.00
muse-spark-1.3$1.25$0.15$4.25
muse-spark-1.2$1.25$0.15$4.25

Formula: uncached input × input rate + cached input × cache-read rate + all output × output rate + number of search requests × $0.0025. Divide all token rates by 1,000,000.

Web search: $0.0025 for each search request, starting with the first. The cost of five searches is held before the answer, and the final charge uses the actual number of searches. The max_uses limit is accepted but not kept, so every search that runs is billed.

Sections

On this page