# ZeroGPU API pricing: per-token rates and Credits

This page lists ZeroGPU's per-token rates for its text, classification and embedding models, what each meter counts, and how the Credits plan is bought and spent. Every call draws on one prepaid plan, Credits. You buy it from $0.01 on a wallet rail or $0.50 by card, and each call draws its input and output tokens at the rate of the `model` you send.

## At a glance

- **Plan:** Credits, a prepaid balance. Calls draw it down by actual usage. No call is priced on its own.
- **Minimum purchase:** $0.01 on x402 or MPP. New credit bought by card needs at least $0.50.
- **Buy:** `POST https://agents.zerogpu.ai/zcj/toaafanhwqbj/plans/{planId}/purchase` with `{"amountUsd": "<whole-cent amount>"}` and your bearer credential. The plan's `purchase.url` is in [manifest.json](https://agents.zerogpu.ai/zcj/toaafanhwqbj/manifest.json).
- **Payment:** the purchase answers with one 402, the price quote, which you pay and retry. x402 and MPP are the wallet rails and settle in USDC. Card goes through a hosted checkout or a shared payment token.
- **Calls:** `POST https://agents.zerogpu.ai/zcj/toaafanhwqbj/zeroclick/v1/chat/completions`, `/zeroclick/v1/responses` or `/zeroclick/v1/embeddings`, with `Authorization: Bearer <access token>` or `Authorization: Receipt <receiptId>`.
- **Price selector:** the `model` field. The same endpoint costs a different amount per model.
- **Balance:** the `zc-billing` header on each credit-funded response, or `GET https://agents.zerogpu.ai/zcj/toaafanhwqbj/agent/entitlements`.
- **Full purchase flow:** [the buyer skill](https://agents.zerogpu.ai/zcj/toaafanhwqbj/SKILL.md)

## Text generation rates

Each model is metered on input tokens and output tokens. Rates are per million tokens.

| Model | Input tokens | Output tokens |
| --- | --- | --- |
| `LFM2.5-1.2B-Instruct` | $0.02 per million tokens | $0.05 per million tokens |
| `LFM2.5-1.2B-Thinking` | $0.02 per million tokens | $0.05 per million tokens |
| `llama-3.2-3b-instruct-fast` | $0.05 per million tokens | $0.30 per million tokens |
| `llama-3.1-8b-instruct-fast` | $0.15 per million tokens | $0.28 per million tokens |
| `qwen3-30b-a3b-fp8` | $0.10 per million tokens | $0.45 per million tokens |
| `qwen3.6-35b-a3b` | $0.20 per million tokens | $1.50 per million tokens |
| `gpt-oss-120b` | $0.15 per million tokens | $0.60 per million tokens |
| `gpt-5.4-nano` | $0.20 per million tokens | $1.25 per million tokens |
| `gpt-5.6-luna` | $0.20 per million tokens | $1.20 per million tokens |
| `gpt-4.1-mini` | $0.40 per million tokens | $1.60 per million tokens |

## Classification and extraction rates

These models are also metered on input and output tokens, per million tokens.

| Model | What it returns | Input tokens | Output tokens |
| --- | --- | --- | --- |
| `deberta-v3-small` | Scores for candidate labels you supply | $0.02 per million tokens | $0.05 per million tokens |
| `zlm-v1-iab-classify-edge` | IAB categories and audience segments for text | $0.02 per million tokens | $0.05 per million tokens |
| `zlm-v1-iab-domain-classifier` | IAB categories and signals for a domain name | $0.02 per million tokens | $0.05 per million tokens |
| `zlm-v2-iab-classify-edge-enriched` | IAB categories, topics, keywords and intent | $0.05 per million tokens | $0.15 per million tokens |
| `zlm-v1-signal-extract` | Topics, keywords and intent as structured output | $0.04 per million tokens | $0.10 per million tokens |

## Embeddings rates

Rates are per million input tokens. Both models return 384-dimensional vectors.

| Model | Input tokens |
| --- | --- |
| `all-minilm-l6-v2` | $0.004 per million tokens |
| `bge-small-en-v1.5` | $0.004 per million tokens |

## Work out a call's cost from its usage

A call draws input tokens times the input rate plus output tokens times the output rate. To estimate a job, multiply its expected tokens by the rates above and buy at least that, or the minimum for your rail if it is larger.

1. Send the call. This chat completion sets `model`, which selects the rate:

```bash
curl -sS -X POST https://agents.zerogpu.ai/zcj/toaafanhwqbj/zeroclick/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Receipt <receiptId>' \
  -d '{"model": "llama-3.1-8b-instruct-fast", "max_tokens": 80, "messages": [{"role": "user", "content": "Classify this support ticket as billing, technical or other, then give a one-sentence reason: My card was charged twice this month for the same annual plan, and the second charge has not been refunded."}]}'
```

2. Read `usage` in the response. `prompt_tokens` are the input tokens and `completion_tokens` the output tokens:

```json
{
  "id": "id-1791930737439",
  "created": 1791930737,
  "model": "llama-3.1-8b-instruct-fast",
  "object": "chat.completion",
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "I would classify this support ticket as billing, because it involves a discrepan…",
        "role": "assistant"
      }
    }
  ],
  "usage": {
    "completion_tokens": 26,
    "prompt_tokens": 77,
    "total_tokens": 103,
    "prompt_tokens_details": {"cached_tokens": 0}
  }
}
```

3. Multiply. The `prompt_tokens` times the `llama-3.1-8b-instruct-fast` input rate, plus the `completion_tokens` times its output rate, gives what the call draws. This one drew $0.000019 from credit. A thousand calls of the same size, 77 input and 26 output tokens each, would draw $0.01883.

4. Confirm against the `zc-billing` header. It reports what this call drew and the balance left:

```
zc-billing: {"status":"settled","fundingSource":"credit","chargedUsd":"<amount drawn>","remainingCreditUsd":"<balance after>"}
```

## Buy Credits

Credits needs a bearer credential, the agent identity the storefront issues. Register at [auth.md](https://agents.zerogpu.ai/zcj/toaafanhwqbj/auth.md). Registering needs no payment. An anonymous credential that is never claimed lapses within a few days, taking any credit bought with it, so claim it to a verified email if the balance must last.

1. Find the plan's `purchase.url` in [manifest.json](https://agents.zerogpu.ai/zcj/toaafanhwqbj/manifest.json). The path follows `/plans/{planId}/purchase`.
2. Send `POST` to it with `Authorization: Bearer <access token>` and `{"amountUsd": "<whole-cent amount>"}`. On MPP, the bearer goes in `ZC-Agent-Authorization` because `Authorization` carries the payment credential.
3. Pay the 402 on x402, MPP or card. For card without a card of your own, resend with `"checkout": true` to get a hosted checkout URL, then poll its `statusUrl` until it reports complete.
4. A successful purchase returns `purchased: true` and `access`.

Nothing is charged until you pay the 402. Usage is then deducted from the balance, not charged on top. Unused funds stay as credit.

## First test with an anonymous receipt

For a first test without registering, buy a small credit on a wallet rail. Send `POST` to the Credits `purchase.url` with the amount the manifest gives in `purchase.anonymousCredit.amountUsd`, then settle the x402 or MPP challenge. Keep the `receiptId` from the response private and send `Authorization: Receipt <receiptId>` on calls. A receipt spends only its own balance, cannot be topped up and cannot reach identity endpoints. When it runs out, buy a new one or move to Credits with a bearer. Losing the receipt loses what is left on it.

## Check the balance and top up

- **Per call:** read `remainingCreditUsd` in the `zc-billing` header.
- **Account view:** `GET https://agents.zerogpu.ai/zcj/toaafanhwqbj/agent/entitlements` with your bearer returns each active plan with `remainingCreditUsd`. Check it before buying again.
- **Top up:** `POST https://agents.zerogpu.ai/zcj/toaafanhwqbj/extend` with your bearer and `{"amountUsd": "<whole-cent amount>"}`. It answers with the same single 402. The new balance returns as `access.remainingCreditUsd`. A top-up meets $0.01; an amount under $0.50 needs a wallet rail.

## Purchase and credit errors

| Code | Meaning | Action |
| --- | --- | --- |
| `bearer_required` (401) | No agent credential on the call or purchase | Register, then retry with your bearer |
| `plan_required` (403) | No Credits balance covers the call | Buy Credits, then retry |
| `amount_below_minimum` | `amountUsd` under $0.01 | Raise the amount |
| `amount_below_card_minimum` | Card purchase under $0.50 | Raise the amount or pay on a wallet rail |
| `amount_not_cent_increment` | Amount not in whole cents | Round to whole cents |
| `usage_exhausted` | Credits balance ran out | Top up with `/extend` |
| `receipt_credit_exhausted`, `receipt_credit_insufficient` | Receipt balance cannot cover the call | Buy a new receipt or buy Credits |

The full list is in the [error reference](https://agents.zerogpu.ai/zcj/toaafanhwqbj/errors.md).

## Frequently asked questions

### Do I pay for each API call?

No. Calls draw on a prepaid balance, either Credits bought with a bearer credential or an anonymous receipt's credit. The only 402 you settle is the purchase of that credit, once, and later calls draw from it by their actual tokens.

### Does the endpoint change the price?

No. The rate follows the `model` you send. The same chat completion request costs a different amount with `LFM2.5-1.2B-Instruct` than with `qwen3-30b-a3b-fp8`, at the rates in the tables above.

### How much credit should I buy for a job?

Multiply the job's expected input and output tokens by the model's rates. Buy at least that total, and at least $0.01 on a wallet rail or $0.50 for new credit by card. What the job does not use stays as credit for later calls.

### Can I pay by card?

Yes. A new card purchase of Credits needs a bearer credential and at least $0.50. Send `"checkout": true` for a hosted checkout page, which also accepts Link, or answer the 402's card challenge with a shared payment token. Card details are in the [card payment recipe](https://agents.zerogpu.ai/zcj/toaafanhwqbj/payment/card.md).

### What happens to credit I do not use?

It stays on the plan as credit. It is not charged again and not refunded automatically. Check what is left with `GET https://agents.zerogpu.ai/zcj/toaafanhwqbj/agent/entitlements` before buying more.

## Keep reading

- [Buyer skill](https://agents.zerogpu.ai/zcj/toaafanhwqbj/SKILL.md): the full purchase and recovery flow
- [Machine catalog](https://agents.zerogpu.ai/zcj/toaafanhwqbj/manifest.json): live services, meters, plans and prices
- [How to pay](https://agents.zerogpu.ai/zcj/toaafanhwqbj/payment.md): the 402 and each rail
- [Agent identity](https://agents.zerogpu.ai/zcj/toaafanhwqbj/auth.md): register and claim a credential
- [Error reference](https://agents.zerogpu.ai/zcj/toaafanhwqbj/errors.md): every code and its recovery

---

Updated 2026-10-15. All ZeroGPU guides: https://agents.zerogpu.ai/guides.md. Storefront: https://agents.zerogpu.ai/zcj/toaafanhwqbj/llms.txt.
