MenuPricing & billing

Pricing & billing

All API usage is paid from a single GeraiPoints (GP) balance. No subscriptions or monthly quotas — you only pay for the tokens you actually use.

GeraiPoints

1 GP = Rp1. You are billed per token from each request's real usage — no fixed per-request fee, only a small per-request minimum for each model (floor). Top up GeraiPoints in the dashboard; your balance never expires and works with any model. No subscriptions or monthly quotas.
  • Top up your balance on the Top up page. Balance never expires.
  • Usage history per request and per key is in the Dashboard.

How cost is calculated

The cost of each request is calculated from the usage reported by the model, using that model’s rate per 1 million tokens, then rounded up to the nearest GP.

formula
biaya = ceil(
    input_tokens       / 1000000 × tarif_input
  + output_tokens      / 1000000 × tarif_output
  + cache_read_tokens  / 1000000 × tarif_cache_read
  + cache_write_tokens / 1000000 × tarif_cache_write
)
tagihan = max(biaya, minimum_per_request)
The formula above applies to chat models only. Image models are billed per successfully generated image, not per token — see Image generation.

Example with the current claude-sonnet-5 rates:

ComponentValue
Input rate2,300 GP / 1M token
Output rate11,600 GP / 1M token
Per-request minimum50 GP
Usage (example)20,000 input + 1,000 output
Charge58 GP

Figures come from the current catalog and may change; the official rates for each model are on the pricing page.

Per token or per request?

All models are billed per token with a small per-request minimum. The exception is when a flat-rate promo is active: models marked as promo are billed a flat amount per request equal to their minimum, regardless of token count.

Cache pricing

Models that support prompt caching have separate rates for tokens read from the cache (cache read) and, on some models, tokens written to the cache (cache write). Cache read tokens are much cheaper than regular input, so keeping the same prompt prefix (system prompt, file contents) saves money. Each model’s cache rates are listed on the pricing page.

Per-request minimum & balance check

Every model has a per-request minimum (floor). Small requests whose token cost is below the floor are billed at the floor — it is not an extra charge on top of the token cost.

  • Before a request is forwarded, the server checks your balance and reserves its estimated cost. An insufficient balance gets 402 insufficient_quota at no charge.
  • The final charge is calculated after the response has finished sending, based on actual usage.

Cancelled requests

Requests cancelled on the buyer’s side (app timeout, stop button, dropped connection) before the response arrives are charged according to the cost the AI server actually incurred, at the model’s current rates; they are not charged if the AI server does not charge for them. The initial charge may be higher, and the difference is refunded to your balance automatically. Empty output is compensated only for problems on our side (an empty response or error from the server, or no output for ≥60 seconds). Applies from 1 November 2026.

Terms & Conditions, Article 10

To avoid paying for interrupted requests, set a timeout of at least 300 seconds and enable stream. Per-tool guides are in Agentic tool settings.

When you are and aren’t billed

EventBilled?
Response completedYes — based on usage
Error on our server before the response starts (502/503)No
Rejected before processing (400/401/402/403/404)No
Cancelled on your side (app timeout, stop button, dropped connection)Yes — for usage already incurred
Automatic retryYes — each attempt is a new request