---
title: Usage and billing
url: https://docs.schemalabs.ai/billing
description: The cell meter, the rate card, what each operation costs, plans, rate limits, and storage.
---

# Usage and billing

> The cell meter, the rate card, what each operation costs, plans, rate limits, and storage.

One cell = one value = one row x one column. 1 Mcell = 1,000,000 cells. One rate per operation, no input/output split. All prices USD.

```text
input_cells C = sum over every table of (rows_t x cols_t)
```

Per-table grids, summed: tables of 100x10 and 50x4 are 1,000 + 200 = 1,200 cells.

- **Missing cells bill at the normal rate.**
- **C is known before any job runs.** The platform shows the exact draw before you confirm.
- **Billing is the cell count.** The meter is rows x columns.

**Outputs are free.** Inference operations (quick runs, endpoint creations, endpoint calls) meter inputs only; every pass emits the full bundle, held-out evaluation included, at no per-output charge. Synthetic generation is the one exception: its meter is the cells generated. The cross-table map is never metered separately.

## Rate card (pay-as-you-go API)

| Line | Price | Notes |
|---|---|---|
| Fresh cells, any Schema model | $3.00 / Mcell | one rate per operation; inputs metered, outputs free |
| Cached cells (unchanged pinned data re-queried) | $0.30 / Mcell | unchanged data on repeat calls |
| Batch (async) | $1.50 / Mcell | elected per job |
| Synthetic data generation | $1.50 / Mcell generated | per Mcell generated |
| Data storage | $0.20 / GB-month | above plan inclusion, prorated daily |

Volume tiers above the listed rates are quoted; see the [pricing page](https://www.schemalabs.ai/pricing).

Every Schema model bills at the same rate. Cached, batch, and synthetic are priced per Mcell at the rates above. Endpoint calls are API inference and bill at the same rates as any other pass; an idle endpoint costs nothing.

## What each operation costs

Every operation bills at the public rates; subscription allowances draw in proportion to these rates.

| Operation | Meter | Rate |
|---|---|---|
| Quick run (fresh) | `C = sum(rows x cols)`, all tables | $3.00 / Mcell |
| Quick run (cached re-use) | unchanged pinned cells re-used | $0.30 / Mcell |
| Batch | the op's C | $1.50 / Mcell |
| Endpoint create | one fresh pass over the pinned snapshot, held-out included | $3.00 / Mcell once, plus storage |
| Endpoint serve | request rows fresh, pinned context cached | fresh + cached rates |
| Endpoint refresh | added and changed rows fresh, removals free | fresh + cached rates |
| Base upgrade | one fresh pass on the new base | $3.00 / Mcell once |
| Synthetic data | `C = cells generated` | $1.50 / Mcell |
| Storage | GB-month above inclusion | $0.20 / GB-month; separate monthly line |

Failed and cancelled jobs bill nothing; an idempotent retry draws once. A batch job that misses its completion window expires unbilled; resubmit it. The meter counts cells from the first cell, and charges aggregate onto the monthly invoice.

**Cached means unchanged.** Added and changed rows bill fresh, unchanged rows bill the cached rate, removed rows bill nothing. Pin state and expiry: [Data and pinning](https://docs.schemalabs.ai/data#pinning).

## Three ways to pay

1. **Pay-as-you-go API.** Metered per Mcell from the first call, no plan required.
2. **Platform subscription.** A weekly cell allowance covering both surfaces; API calls under a subscription key draw the same bucket. Resets every 7 days, no rollover. Usage shows percent used with the reset date and absolute cells consumed.
3. **Add-usage credits.** Prepaid at the public API rates, at par, when the allowance runs out. Optional auto-reload; a separate billing line. Set a monthly spend cap (billing access required to change it); explicit consent is required before the first paid overage. Alerts fire at 80% and 100% of the allowance.

## Plans

| | Free | Plus | Pro | Enterprise |
|---|---|---|---|---|
| Price | $0 | $50/mo | $600/mo | custom |
| Usage | One-time limited usage | Expanded usage | 15x usage | Custom usage |
| Surfaces | platform only | platform and API | platform and API | platform and API |
| Seats | 1 | 1 | 3 | custom |
| Storage included | 50 MB | 5 GB | 50 GB | custom |
| Batch | none | 2 concurrent jobs | 5 concurrent jobs | custom |
| Add-on usage | upgrade to continue | at API rates | at API rates | custom / invoiced |
| SLA ([terms](https://www.schemalabs.ai/terms)) | | | Yes | Yes, dedicated CSM |

Annual billing saves 15%. Free is a single one-time allotment on the platform; API keys are available from Plus. Enterprise adds the contract-side items: the fine-tune program, dedicated regional deployment on request, contractual SLA. Calls to an endpoint serving a fine-tune bill as ordinary inference. [Contact sales](mailto:info@schemalabs.ai).

## Rate limits

Two speed caps, not usage buckets, applied per org, per key, and per endpoint: **requests per minute** and **cells per minute**. Ceilings rise with the plan; when a cap is exceeded the `429` response names it.

- **Subscriptions**: ceilings rise with the plan; Enterprise is custom.
- **Pay-as-you-go**: the meter and your spend cap set the budget.
- **Batch** concurrency per plan: Free 0, Plus 2, Pro 5, Enterprise custom.
- Endpoint calls draw the same limiter plus per-endpoint and per-key limits and a concurrency cap.

```http
HTTP/1.1 429 Too Many Requests
Retry-After: 12

{ "error": { "type": "rate_limit",
             "message": "cells per minute exceeded for org; retry after 12s",
             "request_id": "req_2e91ac" } }
```

Honor `Retry-After`, then retry with the same `Idempotency-Key`. For sustained throughput, move large fresh passes to batch and pin datasets you re-query.

## Storage

Pinned datasets and stored results count toward plan storage. Overage bills $0.20/GB-month, prorated daily, as a monthly line separate from cell credits; Free hard-stops at 50 MB. What is stored and when it is deleted: [Data](https://docs.schemalabs.ai/data#persistence-follows-the-operation).

> **Note:**
The current rate card and plans are at [schemalabs.ai/pricing](https://www.schemalabs.ai/pricing); changes are announced in the [changelog](https://docs.schemalabs.ai/changelog).
