---
title: Chatbox AI | RunAPI
description: Install Chatbox AI, add a RunAPI custom provider, fetch a model, run
  the connection check, and verify a chat.
url: https://runapi.ai/docs/resources/application-practices/chatbox.md
canonical: https://runapi.ai/docs/resources/application-practices/chatbox
locale: en
---

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

# Chatbox AI

Connect Chatbox AI to RunAPI with a custom BYOK provider. The names
below follow the current custom-provider interface; labels can vary
slightly between desktop releases. Create a standard RunAPI API key in
the [Authentication Guide](https://runapi.ai/docs/guides/authentication.md) before
continuing.

## Install Chatbox AI

Download Chatbox AI from its [official download page][1] or the
[official releases][2], then open **Settings**.



[1]: https://chatboxai.app/
[2]: https://github.com/chatboxai/chatbox/releases

## Add the RunAPI provider

1.  Open **AI Provider / Model Settings** and select **Add Provider**.
2.  Name it `RunAPI` and choose **OpenAI API Compatible** as the API
    Mode.
3.  Enter your RunAPI API key.
4.  Set **API Host** to `https://runapi.ai/v1` and **API Path** to
    `/chat/completions`.
5.  Confirm the URL preview ends in
    `https://runapi.ai/v1/chat/completions`, then save.

Keep the Host and Path separate. **Fetch** builds model discovery from
the Host with `/models`, while chat uses the Host plus the configured
API Path.

## Add and check a model

Select **Fetch** to load the RunAPI model inventory. If discovery is
unavailable, select **New** and enter an exact identifier from the
[Model Catalog](https://runapi.ai/models). Chatbox AI needs at least one saved model
before **Check** can run.

Select **Check**, choose the saved model, and run the connection test.
Treat a successful **Text Request** as the baseline signal. **Vision
Request** and **Tool Use Request** depend on the selected model's
capabilities and can fail independently without invalidating basic text
chat.

## Verify the connection

Start a new chat, choose the saved RunAPI model in the model selector,
and send `Reply with the word connected.` A normal response confirms the
custom provider is active.

## Troubleshoot

* **The URL preview is wrong:** use Host `https://runapi.ai/v1` and Path
  `/chat/completions`; do not put the full operation URL into both
  fields.
* **Check is disabled or has no model:** use **Fetch** or **New** to add
  at least one model first.
* **Text Request fails with an authentication error:** update the
  provider with a valid standard key from the [Authentication
  Guide](https://runapi.ai/docs/guides/authentication.md).
* **Text works but Vision or Tool Use fails:** choose a model that
  declares the required capability in the [Model Catalog](https://runapi.ai/models);
  these checks are not universal provider requirements.

For the 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": "Chatbox AI",
    "description": "Install Chatbox AI, add a RunAPI custom provider, fetch a model, run the connection check, and verify a chat.",
    "url": "https://runapi.ai/docs/resources/application-practices/chatbox",
    "mainEntityOfPage": "https://runapi.ai/docs/resources/application-practices/chatbox"
  }
]
```
