Docs

Chatbox

Chatbox splits the endpoint into a host and a path, and fills the path in for you. That means the host is the origin — putting /v1 in it is the one mistake this client invites.

Add a provider of type OpenAI API Compatible with the API Host set to the service root — Chatbox appends /v1/chat/completions itself.

Chatbox settings
Settings → Model Providers → Add

  API 提供方名称 / Provider name   Kunavo
  API 类型 / Type                 OpenAI API 兼容 (OpenAI API compatible)
  API 密钥 / API Key              sk-kn-...
  API 主机 / API Host             https://api.kunavo.com
  API 路径 / API Path             (leave empty → /v1/chat/completions)
  Model                           claude-sonnet-5
The API Host is https://api.kunavo.com, without /v1. Chatbox has a separate API Path field that defaults to /v1/chat/completions, so a host that already ends in /v1 produces requests to /v1/v1/chat/completions. Leave the path empty unless you know you need something else.
Chatbox's provider type selector names a wire format. Choose OpenAI API 兼容 (OpenAI API compatible) and then type a Claude model id — the id is resolved at the endpoint, so the two are not in conflict.

Step by step

  1. Create a key at /app/keys and copy it — it is shown once.
  2. Open SettingsModel Providers and click Add.
  3. Name the provider, set the type to OpenAI API 兼容, and paste the API Key.
  4. Set API 主机 / API Host to https://api.kunavo.com and leave API 路径 / API Path empty.
  5. Add the model ids you want, save, and start a conversation.

Checked against Chatbox's provider configuration guide on September 6, 2026. Third-party settings move; if a field name here no longer matches what you see, that page is the authority, not this one.

Verify before you debug the client

One request settles whether a failure is the endpoint, the key, or the configuration file. If this returns JSON, the same base URL and key work in Chatbox.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Which model id to put in the field

Every text model is reachable as a model id — the live list is GET /v1/models, and the catalog with prices is on the models page. Rates are USD per 1M tokens, input / output.

Model idKunavo in / outWhere it fits in Chatbox
claude-sonnet-5$2.00 / $10.00the default conversation model
claude-haiku-4-5$0.40 / $2.00short exchanges, where latency and price both matter
claude-opus-5$2.00 / $10.00a second provider entry kept for hard questions
gpt-5-4$1.00 / $6.00a different family on the same key
Billing is per token from a prepaid balance with no monthly fee — see billing. On repeated context — which is most of what an editor or a chat client sends — prompt caching moves the bill more than the model choice does.

FAQ

What should Chatbox's API Host be for an OpenAI-compatible endpoint?

The origin, without a path — for example https://api.example.com. Chatbox has a separate API Path field which defaults to /v1/chat/completions and which its documentation says generally does not need to be filled in, so the /v1 comes from the path, not the host. A host ending in /v1 produces requests to /v1/v1/chat/completions and a 404.

How do I add a custom model provider in Chatbox?

Open Settings → Model Providers and click Add, then give the provider a name, choose the OpenAI-compatible API type, paste the API key, set the API Host to the endpoint's origin, and leave the API Path empty. Add the model ids you want to use and save; the provider then appears in the model selector on every conversation.

Can Chatbox talk to Claude models?

Yes, through an OpenAI-compatible endpoint that serves them. Chatbox sends the model id you typed to the configured host, so a Claude id is resolved there rather than in Chatbox, and the app never needs an Anthropic credential of its own. The provider type selector chooses a wire format, not a vendor.

When should I fill in Chatbox's API Path?

Only when the endpoint does not serve chat completions at /v1/chat/completions. The field exists for gateways with unusual routing; for a standard OpenAI-compatible service, leaving it empty is correct and typing a path in is a common source of 404s that look like an authentication problem.