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

# Using BeatAPI in Cherry Studio

> Add BeatAPI as an OpenAI-type provider in Cherry Studio and chat with every model on the account from one desktop app.

# Using BeatAPI in Cherry Studio

Cherry Studio is a desktop chat client that talks to several providers side by side. BeatAPI is added as an OpenAI-type provider, after which every text model on the account appears in its model picker.

## Prerequisites

1. **Cherry Studio installed** — from the [official site](https://cherry-ai.com/).
2. **A BeatAPI API key** — create one in [Dashboard → API Keys](https://beatapi.io/dashboard/apikeys).

## Step 1: Open provider settings

Click the settings icon at the top right, or press `Ctrl+,` (`Cmd+,` on macOS), then choose **Model Service** in the left menu.

## Step 2: Add BeatAPI as a provider

At the bottom of the model service page, click **+ Add**, then fill in:

| Field         | Value     |
| ------------- | --------- |
| Provider Name | `BeatAPI` |
| Provider Type | `OpenAI`  |

Click **Confirm**. In the configuration panel on the right, fill in:

| Field   | Value                    |
| ------- | ------------------------ |
| API Key | Your BeatAPI API key     |
| API URL | `https://api.beatapi.io` |

> **Note**
>
> Enter `https://api.beatapi.io` with **no** `/v1` suffix and no trailing path. Cherry Studio appends `/v1/chat/completions` itself; adding `/v1` yourself produces `/v1/v1/chat/completions`, which 404s on every message.

Make sure the BeatAPI provider toggle at the top right is **on** (green), then use the **Test** button to confirm the connection before adding models.

## Step 3: Add models

With the provider configured, find the **Models** section and click **Manage** to open the model picker. Search for the ID you want and click **+** to add it.

| Model ID               | Choose it for                                                     |
| ---------------------- | ----------------------------------------------------------------- |
| `claude-fable-5-1`     | The newest Claude generation                                      |
| `gpt-6-astra`          | The newest OpenAI generation; higher rate above 272K input tokens |
| `gpt-5.6-terra`        | Balanced everyday chat                                            |
| `gemini-3.7-flash`     | Fast, inexpensive, multimodal                                     |
| `deepseek-v4-pro-0813` | Strong reasoning at a low rate                                    |
| `glm-5.3-flash`        | The cheapest tier for high-volume chat                            |
| `kimi-k3`              | Long-context work                                                 |
| `qwen3.8-max`          | Chinese-language work                                             |

The full catalogue is on the [Text API](/text-api) pages and the [pricing page](https://beatapi.io/pricing). Add as many as you like; switching between them is a dropdown in the chat header.

## Step 4: Chat

Return to the main window, start a new chat with **+**, click the model selector at the top, and pick a model under the **BeatAPI** provider.

## FAQ

### Cherry Studio cannot connect

1. API URL must be `https://api.beatapi.io` — no `/v1`.
2. The key must be active — check [Dashboard → API Keys](https://beatapi.io/dashboard/apikeys).
3. The provider toggle must be on.

### The model list is empty or will not refresh

Add models by ID manually in the model manager. The IDs are on the [pricing page](https://beatapi.io/pricing) and are case-sensitive.

### Errors during a conversation

| Status        | Meaning                                                                                            | What to do                                                                         |
| ------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `401`         | `missing_api_key` or `invalid_api_key`: the key is missing, wrong, expired, disabled, or exhausted | Re-copy the key from the dashboard                                                 |
| `402`         | `insufficient_credits`: the balance is zero or below the price                                     | Top up                                                                             |
| `404`         | The model ID or the API URL is wrong                                                               | Check both against the notes above                                                 |
| `429`         | Request rate exceeded                                                                              | Wait; the allowance rises with lifetime top-ups                                    |
| `500` / `503` | Temporary problem on our side (`internal_error`, `processing_*`)                                   | Retry with backoff, keeping the `request_id`. See [Errors](/errors#text-endpoints) |

### Checking usage and spend

The dashboard shows calls, tokens, and cost, broken down per API key. The same figures are available from [`GET /v1/usage`](/quick-guide).

## Support

Open a support ticket from the [dashboard](https://beatapi.io/dashboard) and include the `request_id` from the failing response.