---
title: Cherry Studio | RunAPI
description: Connect Cherry Studio to RunAPI and verify a chat.
url: https://runapi.ai/docs/resources/application-practices/cherry-studio.md
canonical: https://runapi.ai/docs/resources/application-practices/cherry-studio
locale: en
---

> HTML version: https://runapi.ai/docs/resources/application-practices/cherry-studio
> Site index for agents: https://runapi.ai/llms.txt

# Cherry Studio

Connect Cherry Studio to RunAPI with a custom OpenAI provider. Create a
standard RunAPI API key in the [Authentication
Guide](https://runapi.ai/docs/guides/authentication.md) before continuing.

## Install Cherry Studio

Install the desktop application by following the [official Cherry Studio
download guide][1], then open its settings.



[1]: https://docs.cherryai.com.cn/cherry-studio/download.html

## Add the RunAPI provider

1.  Open **Settings -> Model Services -> + Add**.
2.  Set the provider name to `RunAPI` and **Provider type** to
    **OpenAI**.
3.  Enter your RunAPI API key and set the API address to
    `https://runapi.ai/v1`.
4.  Add an exact model identifier from the [Model Catalog](https://runapi.ai/models),
    enable the provider, and save.

Because the provider type is OpenAI, this field uses RunAPI's
OpenAI-compatible Base URL, which includes `/v1`. Cherry Studio adds
`/chat/completions` for a Chat Completions request, so do not paste the
complete operation URL into the API address field.

## Select a model

Custom providers rely on the models you add. If the selector is empty,
return to the provider's model management area and add an exact RunAPI
identifier manually. Adding a model does not grant capabilities that the
model does not support.

## Run the connection check

Run **Connection check** with the saved model. This sends a model
request rather than only validating the key format. A successful check
confirms the provider URL, key, and selected model work together.

## Verify the connection

Start a new chat, select the RunAPI provider and model, then send `Reply
with the word connected.` A normal complete or streamed reply confirms
the active chat is using RunAPI.

## Troubleshoot

* **The model selector is empty:** add the exact model identifier in the
  custom provider's model management area and confirm the provider is
  enabled.
* **Connection check fails:** confirm a model is selected, replace the
  key with a valid standard key, and retry.
* **The request returns `404`:** use `https://runapi.ai/v1` as the API
  address; do not append `/chat/completions` yourself.
* **Text works but vision or tools fail:** choose a model that declares
  the required capability in the [Model Catalog](https://runapi.ai/models).

For shared protocol behavior, use the [LLM API
Quickstart](https://runapi.ai/docs/guides/llm-api/quickstart.md). For request and response
fields, use the [Chat Completions API
Reference](https://runapi.ai/docs/api/openai/chat-completions.md).

---

## More from RunAPI

- [Home](https://runapi.ai/.md)
- [Models](https://runapi.ai/models.md)
- [AI Video API Comparison](https://runapi.ai/ai-video-api-comparison.md)
- [OpenClaw Integration](https://runapi.ai/openclaw.md)
- [Best API for OpenClaw](https://runapi.ai/best-api-for-openclaw.md)
- [OpenClaw Image Generation](https://runapi.ai/openclaw-image-generation.md)
- [Hermes Agent Integration](https://runapi.ai/hermes-agent.md)
- [Pricing](https://runapi.ai/pricing.md)
- [Claude API Pricing](https://runapi.ai/claude-api-pricing.md)
- [ChatGPT API Pricing](https://runapi.ai/chatgpt-api-pricing.md)
- [OpenAI API Pricing](https://runapi.ai/openai-api-pricing.md)
- [Gemini API Pricing](https://runapi.ai/gemini-api-pricing.md)
- [Claude Code Pricing](https://runapi.ai/claude-code-pricing.md)
- [Claude Code API](https://runapi.ai/claude-code-api.md)
- [Claude Code vs Cursor](https://runapi.ai/claude-code-vs-cursor.md)
- [Claude Max vs API](https://runapi.ai/claude-max-vs-api.md)
- [Requesty Alternative](https://runapi.ai/requesty-alternative.md)
- [Docs](https://runapi.ai/docs/guides)
- [SDK](https://runapi.ai/sdk.md)
- [Skills](https://runapi.ai/skills.md)
- [MCP Server](https://runapi.ai/mcp.md)
- [CLI](https://runapi.ai/cli.md)
- [Feedback](https://runapi.ai/)
- [Contact](mailto:support@runapi.ai)
- [Terms](https://runapi.ai/terms.md)
- [Privacy](https://runapi.ai/privacy.md)
- [Site index for agents](https://runapi.ai/llms.txt)

Contact: contact@runapi.ai

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/icon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "TechArticle",
    "headline": "Cherry Studio",
    "description": "Connect Cherry Studio to RunAPI and verify a chat.",
    "url": "https://runapi.ai/docs/resources/application-practices/cherry-studio",
    "mainEntityOfPage": "https://runapi.ai/docs/resources/application-practices/cherry-studio"
  }
]
```
