How Much Does an LLM Cost? A Practical Breakdown
How Much Does an LLM Cost?
The honest answer: it depends entirely on which model you use, how many tokens you send and receive, and whether you're paying per-request or through a subscription. For most teams running a small-to-medium chatbot or internal tool, monthly LLM spend lands somewhere between €20 and €500. A production app with real traffic can easily run into the thousands. There's no single number because LLM pricing is usage-based, not flat — you pay for what the model reads (input tokens) and what it writes (output tokens), and those rates vary a lot by model tier.
If you're trying to figure out whether an LLM fits your budget, the fastest way to get a real answer is to estimate your token volume first, then multiply by the per-token rate of the model you're considering. This article walks through exactly how that math works, what actually drives the cost up or down, and where a flat-rate option like SubToAPI changes the calculation entirely.
What You're Actually Paying For
LLM providers bill in tokens, not words or requests. A token is roughly 4 characters of English text, so 1,000 tokens is about 750 words. Every API call has two cost components:
- Input tokens — your prompt, system instructions, and any context you send (documents, chat history, tool definitions)
- Output tokens — what the model generates back
Output tokens almost always cost more than input tokens, sometimes 3–5x more, because generation is more compute-intensive than reading. This matters a lot in practice: a summarization app that reads long documents but returns short summaries has a very different cost profile than a chatbot that generates long, detailed replies.
Rough Cost Ranges by Model Tier
Pricing changes often, so treat these as relative positioning rather than exact figures — always check the provider's current pricing page before budgeting:
- Small/fast models — cheapest tier, good for classification, extraction, short replies
- Mid-tier models — balanced cost and quality, the default choice for most production apps
- Frontier/flagship models — most capable, most expensive, best for complex reasoning, coding, and long-context tasks
The gap between tiers can be 10x or more per token. Picking the right tier for each task — rather than defaulting to the most powerful model everywhere — is usually the single biggest lever on your bill.
How to Estimate Your Own Cost
You don't need a spreadsheet full of guesses. A basic estimate takes four numbers:
- Requests per day — how many times your app calls the model
- Average input tokens per request — prompt + context + system message
- Average output tokens per request — typical reply length
- The model's per-token price — input and output rates
Multiply requests × tokens × price, then scale to a month. For example, a support bot handling 2,000 conversations a day, each with roughly 500 input tokens and 300 output tokens, generates 1M input tokens and 600K output tokens daily. At mid-tier pricing that's a meaningfully different bill than a coding assistant sending 5,000-token context windows on every call.
// Simple monthly cost estimator
const requestsPerDay = 2000;
const avgInputTokens = 500;
const avgOutputTokens = 300;
const inputPricePer1M = 3; // example rate, check current pricing
const outputPricePer1M = 15; // example rate, check current pricing
const dailyInputCost = (requestsPerDay * avgInputTokens / 1_000_000) * inputPricePer1M;
const dailyOutputCost = (requestsPerDay * avgOutputTokens / 1_000_000) * outputPricePer1M;
const monthlyCost = (dailyInputCost + dailyOutputCost) * 30;
console.log(`Estimated monthly cost: €${monthlyCost.toFixed(2)}`);
Run this with your own numbers before committing to a model. It's a five-minute exercise that saves surprise invoices later.
What Drives Cost Up (Beyond the Base Rate)
- Long context windows — sending full documents, chat history, or large retrieved chunks on every call adds up fast, since you pay for that context every single request
- Tool use and multi-step agents — each tool call round-trip is a new request with its own input/output tokens
- Retries and error handling — failed or malformed responses that trigger a retry double the cost of that call
- Streaming vs. non-streaming — doesn't change token cost, but affects perceived latency and how you structure retries
- Model choice per task — using a flagship model for simple classification is the most common source of overspend
Reducing cost without reducing quality usually means: trimming unnecessary context, caching repeated prompts, routing simple tasks to cheaper models, and setting sensible max_tokens limits so the model doesn't generate more than it needs to.
Subscription Access vs. Pay-Per-Token
If you already pay for a Claude subscription for personal use, you're likely underusing it — subscriptions don't give you programmatic API access by default, so teams end up paying twice: once for the subscription and again for a separate API key with its own per-token billing.
SubToAPI turns your existing Claude access into a proper HTTPS API with sub_live_... application keys, streaming, tool use, and usage metadata — all on flat monthly pricing instead of unpredictable per-token bills. Plans start at Solo €9, with Team €19/seat and Scale €49/seat for larger groups, and every plan includes a free trial. That predictability matters most for teams who want to budget LLM costs like any other software line item rather than track a variable metered bill. See /pricing for the full breakdown or check the quickstart guide to get an API key running in minutes.
Getting Started
Once you've estimated your token volume, the fastest path to a working integration is:
curl https://api.subtoapi.app/v1/messages \
-H "Authorization: Bearer $SUBTOAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-3-5-sonnet",
"max_tokens": 300,
"messages": [{"role": "user", "content": "Summarize this in two sentences."}]
}'
Set max_tokens deliberately — it's the single easiest way to cap runaway output costs on any provider. Full request and response formats are in the Messages docs, and streaming setup is covered in /docs/streaming if you need real-time responses in a chat UI.
questions
Is LLM cost based on requests or tokens? Tokens, not requests. A single request can range from a few cents to several dollars depending on how much text goes in and comes out, so request count alone doesn't tell you much about cost.
What's the cheapest way to reduce LLM spend? Route simple tasks to smaller/faster models, trim unnecessary context from prompts, cache repeated queries, and set explicit max_tokens limits so responses don't run longer than needed.
Can I get predictable LLM costs instead of variable per-token billing? Yes — flat-rate access like SubToAPI's plans turns metered API usage into a fixed monthly cost, which is easier to budget than usage that scales unpredictably with traffic.