Docs

ChatWise

ChatWise keeps every provider behind the same three boxes. Give the custom provider a name, an API Base URL and a key, press Fetch, and the model picker fills with Claude, GPT and Gemini ids on one balance.

Settings → Providers → "+" builds a custom provider from three fields — Provider name, API Base URL set to https://api.kunavo.com/v1, and API Key — then Fetch reads the model list off the endpoint.

Settings → Providers → "+" → custom configuration
Provider name    Kunavo
API Base URL     https://api.kunavo.com/v1
                 field help: "Do NOT include /chat/completions in the URL"
API Key          sk-kn-...
Models           click Fetch to read the list from the endpoint,
                 or "+ New" and type an id by hand

"+ New" → Chat Models, the fields the docs name:
  Model ID       claude-sonnet-5
  Display Name   Claude Sonnet 5 (Kunavo)
  Capabilities   image input / reasoning flag — tick what the model does
  Context length as published on the models page
The API Base URL keeps its /v1. ChatWise prints the rule under the field itself — “Do NOT include /chat/completions in the URL” — so the value is the root the route hangs off, not the route. The one hosted gateway its docs show with the box filled in carries the same shape, https://aihubmix.com/v1. A base URL with the route already on it fails as a 404, not as an authentication error.
This configuration is a reading of ChatWise's own documentation on the date below. Kunavo has not run ChatWise against its endpoint — not a session, not a streamed turn, not a tool round-trip — and the same is true of every client in this family. A published setup page is not a compatibility test. Keep whatever route you have working available while you try this one.
Kunavo serves no embedding, text-to-speech or speech-to-text model, so this route answers chat and image generation and nothing else. ChatWise's audio input feature is a different thing and unaffected: it attaches an audio file to a message for a model that accepts one, rather than calling a transcription service.
Filling this field turns off one ChatWise extension. Its observability page warns: “Make sure the API Base URL for respective provider is empty, otherwise observability will not be enabled.” The Cloudflare AI Gateway dashboard and a repointed base URL are mutually exclusive per provider — which is a reason to add Kunavo as its own provider entry rather than editing a built-in one.
Several unrelated products trade under the name ChatWise. This page is about the desktop client at chatwise.app — macOS, Windows and Linux — whose docs live at docs.chatwise.app. Its public GitHub release feed stops long before the shipping version, so check the app's own download rather than that feed if a screenshot here does not match what you see.

Step by step

  1. Create a key at /app/keys and copy it — it is shown once.
  2. In ChatWise, open SettingsProviders and click "+" to add a new provider. The docs offer two routes from there: choose one of the built-in presets, or create a custom configuration — Kunavo is not a preset, so take the second.
  3. Fill in Provider name, API Base URL and API Key as above. Nothing in the form selects a vendor: the endpoint resolves the model id, so a Claude id behind an OpenAI-compatible provider is the intended combination rather than a mismatch.
  4. On the Models row, press Fetch. ChatWise's documentation says that if the API supports the /models endpoint it can add the available models for you; Kunavo answers GET /v1/models, so the list populates itself. + New is there for ids you would rather type.
  5. If you add a model by hand, the docs name the fields: Model ID is the API identifier and Display Name is only a label, so the id has to match the catalog exactly. Tick Capabilities and set Context length to match the model — those flags tell the client what to offer, not the endpoint what to do.
  6. Pick the provider in the model selector and send a message. For image models, ChatWise's image-generation page adds one step: the model type has to be set to Image before it appears in the image picker.

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

This is the short version. The full walkthrough — model choice, what a real session costs, and the failure modes — is in what ChatWise actually costs to run.

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 ChatWise.

# 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 ChatWise
claude-sonnet-5$2.00 / $10.00the everyday thread — long chats where quality per dollar decides
claude-opus-5$2.00 / $10.00the hard question you would otherwise open a second app for
claude-haiku-4-5$0.40 / $2.00titles, summaries and the background calls a chat client makes on its own
gemini-3-1-pro$0.70 / $4.20long pasted documents, where the context window is the constraint
gpt-5-6-sol$2.00 / $12.00a second opinion from another 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

How do I add a custom API provider to ChatWise?

Open Settings, go to Providers and click "+" to add a new provider, then choose a preset or create a custom configuration. Fill in the Provider name, the API Base URL and the API Key, and add models either with the Fetch button or with "+ New". ChatWise's own custom provider documentation describes this as integrating any OpenAI-compatible or Anthropic-compatible AI service, so a gateway is a first-class case rather than a workaround.

Does the ChatWise API Base URL need /v1 at the end?

For an OpenAI-compatible endpoint, yes. ChatWise prints the rule under the field: do not include /chat/completions in the URL. The client appends the route itself, so the value is the /v1 root — https://api.kunavo.com/v1 — and the one hosted gateway ChatWise documents with the field filled in shows the same form, https://aihubmix.com/v1. Leaving /v1 off produces a 404 rather than an authentication failure, which is the fastest way to tell the two mistakes apart.

Why does Fetch return no models in ChatWise?

The list comes from the endpoint's /models route using the key you entered, so an empty result usually points at the key or the base URL rather than at an empty catalog. Test the same pair outside the app with a plain curl against /v1/models: JSON back means the problem is in the provider form, a 401 means the key, a 404 means the URL. Models can always be added by hand with "+ New" instead, in which case the Model ID has to match the catalog id exactly.

Is a ChatWise subscription or licence needed to use my own API key?

They are two separate payment relationships. ChatWise is a client you buy once, and the model access is billed by whoever holds your key — with a Kunavo key that is a prepaid balance drawn down per token, with no monthly fee on top. Provider configuration is not listed among the paid tier's unlocks, but no ChatWise page states outright that the free tier can add a custom provider, so confirm that during the trial before relying on it.

Can ChatWise use Claude models without an Anthropic account?

Yes, through an OpenAI-compatible provider entry. The model id is resolved at the endpoint you configured, not inside ChatWise, so the credential you hold is that endpoint's. This is a different route from signing into an existing subscription inside the app, which ChatWise also advertises: that path depends on another vendor's terms, while a key billed to you does not. Kunavo has not run ChatWise against its endpoint, so treat this page as a configuration reading rather than a tested result.