
Vendors like GitHub and Devin don't price AI features in dollars per token — they price them in credits. That abstraction layer isn't accidental. This post breaks down how credit systems obscure unit economics and gives you a repeatable method to convert any credit scheme back to comparable $/million-token figures.
GitHub Copilot's premium request model prices one credit at $0.01. That number sounds trivial. It also tells you almost nothing about what you'll actually spend, because the vendor controls how many credits each request consumes, and that multiplier is not prominently surfaced anywhere in the product dashboard.
That gap between the nominal credit price and the real cost per task is not an accident. AI credits pricing is a structural choice vendors make to prevent direct comparison across competing products. The $0.01 figure is designed to feel like a unit of value. It is actually a unit of billing control.
What follows is a concrete method for converting any credit system back to dollars per million tokens, a transparency ranking of the major vendors, and a checklist of what to demand in writing before you sign anything.
Credits are not a standard unit. Every vendor defines them differently, and in most cases the definition is designed to be opaque enough to prevent cross-vendor comparison.
GitHub publishes that one credit costs $0.01 and that different models consume different numbers of credits per request. GPT-4o class models cost more credits per call than lighter models. What GitHub does not surface in its dashboard is the average token count per request or the resulting effective cost per million tokens. You can calculate it, but you have to pull the numbers from external sources to do it.
Devin-style agent products bundle a fixed number of "agent compute units" or equivalent into subscription tiers. The problem is that the unit definition shifts between plan levels, so a compute unit on the starter tier is not the same thing as a compute unit on the enterprise tier. Tier-to-tier comparison becomes internally inconsistent by design.
Consumer plans use soft credit metaphors: messages per window, requests per hour, priority access slots. These obscure both model routing (which model actually handled your request) and context length costs. The notable exception is the Anthropic Claude API, which publishes explicit per-token pricing for input and output separately, by model and context window. That transparency is the exception in this market, not the norm. In every other case, the vendor controls the exchange rate between credits and actual model inference, and that rate is neither fixed nor prominently disclosed.
A dark pattern, in this context, is a design choice that systematically disadvantages the buyer's ability to make informed decisions. It does not require malicious intent. The question is whether the design consistently benefits one party.
The vendor argument is reasonable on its face: credits simplify billing, smooth over model-swap transitions, and reduce invoice complexity for non-technical buyers who do not want to see a line item for every API call. That is a legitimate UX consideration.
The counter-argument is that the simplification only flows in one direction. Credits make costs harder to compare across vendors, harder to audit internally, and harder to forecast. They never make costs easier to scrutinize. A simplification that consistently advantages the seller is not neutral design.
In one engagement with a mid-market SaaS company, the team had budgeted based on credit pack pricing from their AI writing assistant vendor. Mid-quarter, the vendor quietly changed model routing for their tier, moving from a mid-weight model to a heavier one for complex requests. The nominal credit price stayed the same. The effective cost per task roughly doubled. The team discovered the change only when their credit balance ran out six weeks ahead of schedule. Nothing in the contract required the vendor to disclose the routing change.
That scenario illustrates the core tell: when a vendor changes the underlying model but holds the credit price constant, the credit is not a unit of value. It is a unit of billing control. The vendor has repriced the product without technically changing the price.
This is a three-step method you can apply to any vendor before you commit to a contract. It requires some instrumentation work, but it is the only way to make AI credits pricing legible.
Most vendors publish, or can be compelled to surface via API logs or support tickets, which model handles which request type and how many credits that consumes. Request this documentation before you sign anything. If the vendor cannot produce it, that is a meaningful signal about how the relationship will go. Log a sample of real requests during any trial period and cross-reference the credit deductions against the model names in the API response headers.
Cross-reference the model name against published pricing from the model provider. OpenAI publishes per-token rates by model on its pricing page. The Anthropic Claude API publishes input and output token rates separately by model version. These are your baseline figures. The gap between the model provider's published rate and what you're paying through the vendor's credit system represents the reseller markup baked into the exchange rate.
The formula is straightforward: effective dollars per million tokens equals credits consumed per request multiplied by the credit price, divided by the average tokens per request divided by one million. Using GitHub's published $0.01 credit rate as an example: if a code completion request costs 2 credits and consumes roughly 800 tokens on average, the effective rate is $0.02 divided by 0.0008, which equals $25 per million tokens. Compare that against the model provider's published rate to see the markup.
One important caveat: token counts vary significantly by task. A single-line autocomplete and a multi-file refactor are not comparable on a per-request basis. Normalize your calculations by task type, not request count. Promptfoo can instrument actual token usage in test suites to give you empirical tokens-per-task baselines before you go to production, rather than relying on vendor estimates. For production observability once you're live, Honeycomb and PostHog both support the kind of high-cardinality event tracking you need to capture token consumption per task type at scale.
Transparency in AI pricing correlates with how directly a vendor competes on model quality versus how much they compete on workflow abstraction. The more abstraction, the more incentive to obscure unit costs.
The most transparent option in the market is the Anthropic Claude API, which publishes explicit dollar-per-million-token rates for input and output, separated by model and context window size. There is no credit abstraction. Hugging Face Inference Endpoints also publishes per-token or per-compute-hour pricing depending on deployment mode, making it another relatively transparent option for teams willing to manage infrastructure.
GitHub Copilot sits in the middle tier. It publishes credit costs per model, which is more than most bundled products offer, but it does not surface average tokens per request in its dashboard. Getting to a real $/Mtok figure requires external instrumentation.
At the high-opacity end are bundled agent products that price by "task" or "session" without disclosing the underlying model calls or token consumption. These are the hardest to evaluate and carry the most pricing risk.
A client evaluating two coding assistant vendors ran a structured pilot with token instrumentation in place. The product with the lower per-credit price turned out to be two to three times more expensive per completed task, because the agent architecture made significantly more model calls per task than the competing product. The credit price comparison had been completely misleading. The cost-per-task comparison was the only number that mattered.
The following five items belong in writing before you commit to any credit-based AI product. They are not unreasonable asks. Vendors who refuse to provide them are telling you something about how they expect the pricing relationship to work.
The rollover and expiry question deserves particular attention. Credits that expire monthly function as a hidden minimum spend. If your usage is seasonal or project-based, you will consistently overpay relative to what you actually consume.
This pattern is not new to AI. Snowflake's credit model has the same structural issues in the data warehouse space, and mid-market teams have been burned by it for years. The AI credit pattern is the same mechanism applied to a new product category. The negotiating lessons from data infrastructure procurement transfer directly.
In one procurement engagement, the team negotiated a "credit rate lock" clause after discovering that a vendor had repriced mid-contract by changing the model behind a task type without any formal notice. The clause locked the credit-to-model mapping for the contract term and required 60 days' written notice before any routing change. The vendor pushed back initially, then accepted it. The clause is possible to get — but you have to ask for it explicitly and in writing before you sign.
MLflow and similar experiment tracking tools can provide the empirical usage data you need to negotiate from a position of real numbers rather than vendor-supplied projections. Run a structured pilot, instrument it properly, and bring your own cost-per-task figures to the contract conversation.
Yes, and knowing them gives you a concrete baseline for negotiation with credit-based vendors.
The Anthropic Claude API charges directly in dollars per million tokens, with input and output priced separately by model. No credit abstraction, no exchange rate to reverse-engineer. Hugging Face Inference API and Endpoints offer compute-hour or per-token pricing depending on deployment type. Ollama is self-hosted, meaning the cost is your own infrastructure spend, which gives teams with the technical capacity to run models locally complete cost transparency and no vendor markup.
The trade-off is real. Direct-token vendors typically offer less workflow abstraction. You are buying raw model access, not a finished product experience. For many mid-market teams, that is too much operational overhead for every use case.
The practical answer for most mid-market buyers is a hybrid approach: use direct-token APIs for high-volume, cost-sensitive workloads where the math matters, and accept credit-based pricing for low-volume productivity tools where the workflow value justifies the opacity premium. Before committing to annual pricing on any credit-based product, run a 30-day pilot with token instrumentation in place. The cost-per-task number you get from that pilot is the only figure worth putting in a budget.
Finance teams distrust AI cost estimates because most of those estimates were built on vendor credit projections rather than observed usage. The fix is to instrument before you budget, not after.
Use Promptfoo for pre-production token measurement across your realistic task distribution, and PostHog or Honeycomb for production observability once you're live. Both give you the event-level data you need to build a real cost-per-task baseline rather than a theoretical one.
Normalize costs to business outcomes, not technical units. Cost per code review completed, cost per support ticket deflected, cost per document summarized — these translate to finance. Dollars per million tokens does not. The translation layer is what makes AI cost reporting credible to non-technical stakeholders.
Build a simple conversion table in your internal wiki: vendor credit price, mapped to the model used, mapped to the published $/Mtok rate, mapped to your empirically measured average tokens per task type, producing an effective $/task figure. Update it quarterly, because vendor pricing evolves and model routing changes happen without announcement.
The next time a vendor quotes you a credit price, ask them to provide the equivalent dollars-per-million-tokens figure in writing, broken down by task type. If they can't produce it, or won't, that answer tells you exactly how they expect the pricing relationship to work — and it should inform how much of your budget you're willing to commit to them without a rate lock clause in place.
Independent consultant specializing in AI adoption for mid-market companies. Writes about practical implementation, ROI, and organizational change.
AI software insights, comparisons, and industry analysis from the TopReviewed team.