Pricing model
How Studio prices AI usage, tracks tokens, and enforces budgets.
Studio bills for AI work by the token pair — input tokens (what we send to the model) plus output tokens (what comes back). Every chat turn, every migration step, every file edit contributes to your monthly total. This page explains the model rates, how usage is recorded, and how budget caps protect you from a runaway bill.
Models and rates
Studio uses three Anthropic Claude models depending on the task:
| Model | Input ($/M tokens) | Output ($/M tokens) |
|---|---|---|
| Haiku 4.5 | $1.00 | $5.00 |
| Sonnet 4.6 | $3.00 | $15.00 |
| Opus 4.7 | $15.00 | $75.00 |
The default for the editor and migration loops is Sonnet 4.6 — the right balance of speed, cost, and capability for code editing. Haiku is offered for cheap iterative work; Opus for the rare deep reasoning task. You pick the default in Workspace settings → AI defaults.
Rates mirror Anthropic's API pricing exactly. Studio does not mark up tokens.
How a turn is priced
For each AI call:
cost_usd = (input_tokens × input_rate + output_tokens × output_rate) / 1_000_000
A typical chat turn spends ~1,200 input + ~900 output tokens — under a cent on Sonnet, well under on Haiku. A migration plan is heavier (~3,500 input + ~1,800 output) because it ships more context.
Surfaces tracked
Every AI call records its usage against one of these surfaces:
- Studio chat — chat turns inside the editor.
- Migration plan —
/api/migrationcalls during the migrate flow. - New project planner —
/api/new-projectcalls when scaffolding a brief. - Edit Existing — calls from the project-settings AI helpers.
The Billing page renders these labels under the BY SURFACE breakdown.
Each UsageRecord captures: workspace ID, surface, model, input tokens, output tokens, computed cost, timestamp. The records feed the live AI usage block in Billing — monthly total, per-model breakdown, per-surface breakdown, and a 14-day chart.
Plan tiers and Studio Credits
Studio plans are per-seat, with a monthly Studio Credits budget that pays for AI work. Credits are denominated in dollars so the price on the page does not change every time the model behind the scenes is upgraded. The current tiers (monthly billing; annual billing saves 17%):
| Plan | Per seat / month | Studio Credits / seat / month | Approx chat turns | Notes |
|---|---|---|---|---|
| Free | $0 | $3 | ~70 | 1 seat. Staging deploys watermarked. Sites never expire. |
| Starter | $21 | $20 | ~400 | Connect production instances. 1.5x opt-in overage to a cap you set. |
| Pro | $49 | $75 | ~1,500 | Multi-workspace tools. Priority support. Best price per credit in the seat tiers. |
| Team | $99 | $200 | ~4,000 | Audit log. Role-based access control. Premium support. |
| Enterprise | Custom | Custom | — | SSO, dedicated AI budget, SLA, dedicated CSM, custom data residency. |
Credits are sized as heavy-user envelopes — most seats never approach them. Up to the credit budget, the workspace bill stays the plan price.
The migration on-ramp's initial migration AI cost is absorbed by Studio on every paid plan. Caching savings on the underlying model calls flow through to your credit balance, not back to Studio.
Included credits and top-up balance
Two pools cover AI work, shown side by side on the Billing page:
- Included this month —
seats × per-seat credits, resets on the first of the month. Unused credits do not roll over. - Top-up balance — credits you've purchased on top of the plan. Top-up credits never expire and are spent only after the included pool runs out.
When both pools reach zero, AI calls pause: chat and migration calls return HTTP 402 Payment Required with a "Buy credits" prompt. The rest of Studio (file editing, deploys, docs) keeps working — only AI is gated.
There is no per-workspace monthly spend cap to "raise" — the gating mechanism is the credit balance itself. To unblock AI mid-month, click Buy credits on the Billing page. The new balance is immediately available; the next AI call goes through.
Reading your usage
The Billing page (/billing) is the single source of truth. It shows:
- Plan card with seat count and over-allotment warnings.
- AI usage for the current month: spent this month, Included this month (resets daily date shown), Top-up balance.
- By model — Haiku 4.5 / Sonnet 4.6 / Opus 4.7 with cost and tokens per model.
- By surface — Studio chat, New project planner, Migration plan, Edit Existing.
- Last 14 days — a chart with daily plan-inclusion line and burn-rate line.
- Invoices — monthly receipts (paid plans only).
Programmatic access: GET /api/usage returns the same data as JSON.
Where this lives in code
- Rates and tier math:
lib/pricingMath.ts - Per-call recording, monthly rollup, budget gate:
lib/usage.ts - Pre-call gate in the chat route:
app/api/studio/route.ts