Pricing
Plans, per-token billing, and how to estimate cost.
THROUGHPUTS bills per token, passed through at the same rate the upstream provider charges. There's no markup on pay-as-you-go. Committed-use plans discount the per-token rate further.
Plans
| Plan | Monthly fee | Per-token rate | Concurrency | Rate limit |
|---|---|---|---|---|
| Pay-as-you-go | $0 | List price | 10 | 60 RPM |
| Coding | $19/mo | List price | 25 | 200 RPM |
| Bundle | $99/mo | −20% off list | 100 | 500 RPM |
| Enterprise | Custom | Custom | Custom | Custom |
The cost calculator on the marketplace shows your exact break-even point between pay-as-you-go and a committed plan based on your expected volume.
Per-token billing
You pay for two things, both measured in tokens:
- Prompt tokens — your input. Every token in the
messagesarray, including system prompts and tool definitions. - Completion tokens — the model's output.
For multimodal requests, image inputs are billed as a fixed token equivalent that varies by model (typically 85 tokens for a low-detail image, 765 for high-detail).
The unit is USD per million tokens. A model priced at $2.40 / 1M in, $9.60 / 1M out will cost:
- 1K prompt tokens →
$0.0024 - 1K completion tokens →
$0.0096
Estimate a request
curl https://api.throughputs.dev/v1/pricing/estimate \
-H "Authorization: Bearer $THROUGHPUTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"monthlyInputTokens": 2_000_000,
"monthlyOutputTokens": 500_000
}'{
plan: "pay-as-you-go";
monthlyCostUsd: 9.6; // 2M * $2.40 + 0.5M * $9.60, divided by 1M
perMillionIn: 2.4;
perMillionOut: 9.6;
breakEvenPlan: "bundle"; // would be cheaper on Bundle at this volume
breakEvenSavingsUsd: 1.92;
}What you see on every response
Every completion response includes these headers so you can track spend without a separate billing API:
| Header | Description |
|---|---|
X-Throughputs-Tokens-In | Prompt tokens billed. |
X-Throughputs-Tokens-Out | Completion tokens billed. |
X-Throughputs-Cost-Usd | Cost of this request in USD (6 decimals). |
response = client.chat.completions.create(...)
# Headers are on the underlying httpx response:
in_tok = response.system_fingerprint # SDK wraps headers; use raw for nowFree tier
Some models (typically smaller embedding or chat models) have pricing.free
set to true. Requests to those models don't count against your billing,
but they are rate-limited harder than paid models.
Startup program
Qualifying startups get 30% off per-token pricing for 12 months. See Startup Program for eligibility and application.