> This page is for version v2 API (default).
> For other versions, use one of these documentation indexes:
> - v2 API (default): https://docs.cohere.com/v2/llms.txt
> - v1 API: https://docs.cohere.com/v1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.cohere.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.cohere.com/_mcp/server.

# How Does Cohere's Pricing Work?

> This page details Cohere's pricing model. Our models can be accessed directly through our API, allowing for the creation of scalable production workloads.

If you're looking to scale use cases in production, Cohere models are some of the most cost-efficient options on the market today. This page contains information about how Cohere's pricing model operates, for each of our major model offerings.

> **Info**
>
> You can find up-to-date prices for each of our generation, rerank, and embed models on the [dedicated pricing page](https://cohere.com/pricing).

## How Are Costs Calculated for Different Cohere Models?

Our generative models, such as [Command A+](/docs/command-a-plus), [Command A](/docs/command-a), [Command R7B](/docs/command-r7b),
[Command R](/docs/command-r), and [Command R+](/docs/command-r-plus), are priced on a per-token basis. Be aware that input tokens
(i.e. tokens generated from text sent *to* the model) and output tokens (i.e. text generated *by* the model) are priced differently.

Our Rerank models are priced based on the quantity of searches, and our Embedding models are priced based on the number of tokens embedded.

### What's the Difference Between "billed" Tokens and Generic Tokens?

When using the [Chat API endpoint](https://docs.cohere.com/reference/chat), the response will contain the total count of input and output tokens, as well as the count of *billed* tokens. Here's an example:

**`JSON`**

```json JSON
{
  "billed_units": {
    "input_tokens": 6772,
    "output_tokens": 248
  },
  "tokens": {
    "input_tokens": 7596,
    "output_tokens": 645
  }
}
```

The rerank and embed models have their own, slightly different versions, and it may not be obvious why there are separate input and output values under `billed_units`. To clarify, the *billed* input and output tokens are the tokens that you're actually *billed* for. The reason these values can be different from the overall `"tokens"` value is that there are situations in which Cohere adds tokens under the hood, and there are others in which a particular model has been trained to do so (i.e. when outputting special tokens). Since these are tokens *you don't have control over, you are not charged for them.*

## Trial Usage and Production Usage

Cohere makes a distinction between "trial" and "production" usage of an API key.

With respect to pricing, the key thing to understand is that trial API key usage is free, [but limited](/docs/rate-limits). Developers wanting to test different applications or build proofs of concept can use all of Cohere's models and APIs can do so with a trial key by simply [signing up for a Cohere account](https://dashboard.cohere.com/welcome/register).