Docs
Janitor AI
Janitor AI's proxy configuration wants the full endpoint URL, not a base URL — the path ends in /chat/completions. Get that one field right and the rest is a name, a model id and a key.
API Settings → Proxy → Add Configuration: the Proxy URL is the full /v1/chat/completions path, and the Model Name has to be a catalog id exactly.
☰ → API Settings → Proxy → + Add Configuration
Config Name Kunavo
Model Name claude-sonnet-5
Proxy URL https://api.kunavo.com/v1/chat/completions
API Key sk-kn-.../chat/completions, so this is https://api.kunavo.com/v1/chat/completions — not the base URL you would paste into a coding tool. Pasting a base URL here is the usual cause of "proxy not working".GET /v1/models or from /models on this site.Step by step
- Create a key at
/app/keysand copy it — it is shown once. - Open any chat, click the ☰ menu at the top and choose API Settings.
- Select Proxy, then + Add Configuration.
- Fill in Config Name, Model Name, Proxy URL and API Key exactly as above, then save.
- Send one message. A reply means the proxy works; an error naming the model means the Model Name, and an error naming the URL means the path.
Checked against Janitor AI's own proxy 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 Janitor AI.
# 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 id | Kunavo in / out | Where it fits in Janitor AI |
|---|---|---|
claude-sonnet-5 | $2.00 / $10.00 | the default — the balance most people want |
claude-haiku-4-5 | $0.40 / $2.00 | cheapest per turn, and fast |
claude-opus-5 | $2.00 / $10.00 | the expensive one; check the per-turn cost before committing |
gemini-3-1-pro | $0.70 / $4.20 | long conversations, where context size is the constraint |
FAQ
What Proxy URL does Janitor AI need?
The full chat-completions endpoint, not a base URL. Janitor AI's own guide states the URL must end with /chat/completions and gives a complete path as its example, so for an OpenAI-compatible service it is https://<host>/v1/chat/completions. Entering the base URL is the most common reason a proxy that is otherwise configured correctly returns nothing.
How do I set up a custom proxy in Janitor AI?
Open a chat, click the ☰ menu, choose API Settings, select Proxy, and click + Add Configuration. Fill in a Config Name, the exact Model Name, the Proxy URL ending in /chat/completions, and the API Key, then save and send a test message. A reply confirms all four fields at once.
Why does Janitor AI say the model is not found?
Because the Model Name is sent to the endpoint verbatim and has to match a real model id exactly — display names, capitalisation differences and trailing spaces all fail. Copy the id from the provider's model list or from a GET /v1/models call rather than typing it from memory.
Does using a proxy in Janitor AI cost money?
It costs whatever the endpoint behind the proxy charges. Janitor AI does not bill for proxy use; the API provider does, per token, for every message the conversation sends — which on a long roleplay chat includes the whole history each turn. Choosing a cheaper model, and an endpoint with prompt caching, is what keeps that bill small.