Cherry Studio: add Zukko as an API provider
Cherry Studio connects third-party APIs as providers. Here is what to put in API Host, how to add models, and why you must switch the provider on.
5 min · · development
Cherry Studio is a desktop client for language models that lets you add your own API provider. Zukko is added as a provider with an OpenAI-compatible API: one fetch_... key gives you Claude, GPT and GLM models. Below is the setup based on the official Cherry Studio docs, the details of the API Host field, adding models, and troubleshooting.
How to add an API provider in Cherry Studio
- Click the Settings gear in the left panel.
- Open Model Provider.
- Below the provider list, click + Add (Add Provider).
- Enter a provider name, for example
Zukko, and choose the type OpenAI. Click Add. - Open the new provider and fill in API Key and API Host.
- Add models (see below) and click Check.
- Turn the provider on with the toggle in the top-right corner of its page.
The last step is easy to miss. The Cherry Studio docs explicitly warn that while the toggle is off, the provider's models won't appear in model selectors, even if everything else is configured correctly.
What to put in API Host
| Field | Value |
|---|---|
| API Key | fetch_your_key |
| API Host | https://api.zukko.pro |
Cherry Studio completes the address itself: per the docs, you only need the root, and the app adds /v1/chat/completions automatically. Current versions don't duplicate the version if it's already in the address, so https://api.zukko.pro/v1 also produces the correct request. A preview of the final address is shown under the field — make sure /v1 appears in it exactly once.
If you end the address with #, Cherry Studio stops appending anything and uses the address as is. You don't need that for Zukko.
How to add models
There are two ways:
- Load the list. The button that fetches the model list asks the API for it. Zukko serves the list at
GET /v1/models, so all available models are pulled in automatically. In the model management window, click+next to the ones you want — only added models appear in selectors. - Add manually. The Add Model button opens a form: Model ID (for example,
claude-sonnet-5), Model Name for display, and Group Name for grouping.
The Cherry Studio docs recommend adding only the models you actually use and checking the real model ID, which is shown under the model name.
Checking the connection
Click Check on the provider page and choose a model to test with. If the check passes, start a new conversation, pick a Zukko model and send a short message. If it fails, the docs suggest first looking for wrong or unsupported IDs in the model list.
Default models: where you can save
Cherry Studio has separate default model settings:
- Default Assistant Model — used when an assistant has no model of its own;
- Quick Model — for background tasks such as automatic conversation naming and keyword extraction. The docs recommend a light, inexpensive model here;
- Translate Model — for translating messages.
Background requests are sent automatically, so glm-5.3-flash, the cheapest Zukko model, is a sensible Quick Model. For your main conversations, choose a model based on your tasks.
Which model to choose
| Model | Input / output, $ per 1M tokens | Context |
|---|---|---|
claude-opus-5-5 | 0.3 / 0.3 | 1M |
claude-sonnet-5 | 0.3 / 0.3 | 1M |
gpt-5.6-sol | 0.3 / 0.3 | 1M |
gpt-5.6-luna | 0.1 / 0.1 | 1M |
glm-5.3 | 0.1 / 0.1 | 128K |
glm-5.3-flash | 0.04 / 0.04 | 128K |
Example: 100 messages a day, each with 3,000 input and 700 output tokens, 370,000 tokens a day in total. On claude-sonnet-5 that's 370,000 × $0.3 / 1,000,000 = $0.111 a day; on gpt-5.6-luna, $0.037; on glm-5.3-flash, $0.0148.
Test which model suits your tasks: ask two or three models the same 10–20 typical questions and compare the answers and spending in the dashboard's "Usage" section. For the current model list, call GET https://api.zukko.pro/v1/models (see the models documentation) or open the "Models" page in the dashboard.
Common errors
Models don't show up in the chat
The provider toggle is off, or the models weren't added with +. Check both.
404
The address is built wrong: for example, /v1 ends up in it twice, or the full path with /chat/completions was pasted into API Host. Set https://api.zukko.pro and check the address preview under the field.
401
The key was copied partially, with a space, or was deleted in the dashboard. The key starts with fetch_.
Check passes, but the conversation fails
Most likely the assistant in that conversation uses a different model — for example, the one set as Default Assistant Model, from another provider. Open the assistant settings and pick a Zukko model explicitly. Background tasks work the same way: if Quick Model points to a provider without a key, conversation titles won't be generated.
400 on Claude models
claude-sonnet-5 and claude-opus-5-5 may reject a request with a 400 error if temperature is anything other than 1 or top_p is below 0.99. Check the assistant settings: if temperature or top_p is set there, turn them off or restore the defaults for Claude.
402, 403, 429
402 means the balance ran out. 403 model_not_allowed_for_key means the model isn't on the key's allowed list; add it in the key settings. 429 means too many requests; wait and retry.
FAQ
Can I connect Claude using the Anthropic format?
Zukko accepts the Anthropic format too, and Cherry Studio providers have a separate Anthropic API Host field. But you don't need it: the gateway converts requests, and Claude models work through the OpenAI-compatible connection. More on formats in the format selection docs.
Can I add several keys?
Cherry Studio supports several keys per provider and rotates through them. For Zukko this usually isn't needed, since the balance is shared. It's more practical to create separate providers with different keys and limits — for example, one for work and one for experiments.
Where can I see spending?
In the Zukko dashboard under "Usage". Cherry Studio doesn't show your Zukko balance.
Where do I get a key?
Create one in the Zukko dashboard and paste it into the API Key field. If you're new to APIs, start with the quick start guide.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- Prompt Injection: What It Is and How to Protect a Bot and an AgentHow prompt injection works through user input and third-party documents, and which measures limit the damage: data isolation, tool permissions, key limits.
- Your Own Neural Network Proxy on Node.js: Keep the API Key Off the FrontendA small Express server between your frontend and the model API: the key stays on the server, and models, request size and rate are capped.
- DeepSeek API in Python: Requests, Streaming, JSON and Error HandlingReady code for DeepSeek V4.1 Flash and V4 Pro on the OpenAI SDK: a request, streaming, JSON parsing and careful error handling.
- Prompt Engineering Examples: 12 Ready-Made Templates for WorkTwelve prompt templates for everyday tasks: what each one says, why it is built that way, and what a single API call costs.