DEV Community

APIVAI
APIVAI

Posted on

Cherry Studio with Claude and GPT: adding a custom provider (and the /v1 question)

Disclosure: I run APIVAI, the gateway used in the examples below. The setup is the same for any endpoint that speaks both the OpenAI and Anthropic formats.

Cherry Studio is a free desktop AI client for Windows, macOS and Linux, with assistants, knowledge bases, MCP tools and side-by-side answers from several models. It has no models of its own: you add a provider and a key. This post covers how to add a custom provider, whether the address needs /v1, and the errors people run into most.

Custom provider or the built-in Anthropic provider?

Custom provider (OpenAI endpoint) Built-in Anthropic provider
Where Settings → Model Services → + Add Provider Settings → Model Services → Anthropic
Address https://api.apivai.com https://api.apivai.com
Models Claude and GPT Claude only
Best for One entry for every model Claude in its native Messages format

For most people the custom provider is enough: one key, with Claude and GPT in the same model list. You can also set up both with the same key.

Step 1: Add a custom provider

  1. Click Settings (the gear icon in the left navigation bar).
  2. Open Model Services.
  3. Click + Add Provider below the provider list.
  4. Fill in the dialog as below and click Add.
Field Value
Provider Name anything you'll recognise, e.g. APIVAI
API Key your key
OpenAI endpoint (API Address) https://api.apivai.com

About /v1: Cherry Studio wants the base address and appends /v1/chat/completions itself, so https://api.apivai.com becomes https://api.apivai.com/v1/chat/completions. Current versions also accept https://api.apivai.com/v1 without doubling it, but never paste the full /v1/chat/completions address. A trailing # means "use this address exactly as typed"; you don't need it here.

Older versions ask for a Provider Type instead; choose OpenAI.

Step 2: Add the models

  1. Open the provider you just created.
  2. Click Get model list and click the + next to each model you want. Only models you've added with + show up in the chat's model picker.
  3. Or click + and type a model ID, such as claude-sonnet-4-6, claude-haiku-4-5 or gpt-5.5.

The list changes over time, so take IDs from Get model list rather than from old screenshots.

Step 3: Test and switch it on

  1. Click Test (named Check in some versions) and pick a model. A success message means the key and address are right.
  2. Turn the provider on with the switch in the upper-right corner of the provider page. An enabled provider shows a green dot in the list.
  3. Pick the model from the drop-down at the top of a chat and send a message.

Optional: Claude through the built-in Anthropic provider

In Model Services, open Anthropic, paste your key into API Key and change API Address from https://api.anthropic.com to https://api.apivai.com. Do not add /v1; the address has the same shape as Anthropic's own. Then click Get model list, add the Claude models you want and switch the provider on. GPT models won't work here; they go through the custom provider above.

Which model for which job

  • Default assistant (quick questions, translation, summaries): claude-haiku-4-5 or gpt-6-luna, cheap and fast
  • Main assistant (writing, code): claude-sonnet-4-6 or claude-sonnet-5-5
  • The hardest analysis and reasoning: claude-opus-5-5, only when you need it
  • Comparing models: Cherry Studio can send one question to several models at once, which is the most direct way to compare them on your own tasks

Every message resends the conversation so far, so long chats cost more per turn. Start a new topic when the subject changes.

What about knowledge bases?

Chat works fine, but a knowledge base needs an embedding model to index your files, and APIVAI doesn't provide embeddings. Configure a separate embedding provider for the knowledge base in Cherry Studio; the assistant that answers can still be a Claude or GPT model. Image generation models aren't available either.

Common errors

  • 401 / invalid API key: the key is incomplete or has been deleted.
  • 402 / insufficient_quota: the key's budget is used up, or what's left is too little for one request to an expensive model (Opus, Sonnet 4.6 hit this first). Add budget to the key or switch to a cheaper model. A key stops working with a little still on it; that remainder isn't lost, and deleting the key returns it to your account balance.
  • 404: the address is wrong. The custom provider takes https://api.apivai.com, without /chat/completions and without a trailing #; the Anthropic provider takes https://api.apivai.com without /v1.
  • Model not found: the ID must match exactly (e.g. claude-sonnet-4-6), not the display name. GPT models fail on the Anthropic provider.
  • Model missing from the chat picker: the provider switch is off, or you fetched the list but didn't click + next to the model.
  • Empty or cut-off replies: thinking tokens count towards the output limit. In Edit Assistant → Model, turn off Enable message length limit (MaxToken) or set it to 4096 or more.
  • Replies arrive all at once, or the stream stops: check the Streaming output (Stream) switch on the same tab, and any proxy in Cherry Studio's network settings.
  • 429: the default limit is 60 requests per minute per key. Comparing several models at once uses several requests; wait a moment and try again.

What it costs

At the time of writing, most Claude models on APIVAI are 56–62% below Anthropic's list prices and GPT models up to 86% below OpenAI's; for example, Claude Sonnet 4.6 is $1.15 / $5.74 per million input / output tokens against the official $3 / $15. It's prepaid and billed per token, with no subscription. The full table is at https://apivai.com/pricing.

Questions are welcome in the comments.

Top comments (0)