Chub AI
Secrets, OpenAI, Reverse Proxy: one URL and one key. Uncensored models, the cost per 100 messages, and the empty response fix.
What you will have at the end
This Chub AI API key setup connects Chub to the uncensored LLM API through one reverse proxy entry: a URL, a key and a model id. The same key runs 77 more models priced per token, Claude and GPT included, from one prepaid balance.
Chub also sells its own models by subscription. Its API Connections page lists Mars at $20 a month with unlimited messages and no keys to manage (Chub docs, read 2026-10-19). This guide covers the other route, a provider key pasted into Chub's Secrets.
- Secrets set to an OpenAI reverse proxy with our values.
- A model id from a live price table, uncensored builds first.
- Two curl commands that test the key and the id outside Chub.
- The fix for Empty response received from API, and what each error code means.
Chub AI API key setup, step by step
Chub AI's API settings live in two places. Secrets holds the connection, and Configuration holds the prompt structure and generation parameters.
- Create a key in the console and name it Chub. It is shown once, so paste it straight into Chub.
- On chub.ai, open any chat and click the menu button at the top right. Choose Secrets.
- Expand OpenAI. Set OpenAI Access API to Reverse Proxy instead of My Own API Key.
- Paste
https://api.uplinkswitch.com/v1as the proxy URL and your key as the proxy key. - Open the menu again and choose Configuration. Under Prompt Structure, pick the API you set in Secrets (OpenAI) and enter a model id from the table below, typed exactly, such as
roleplay-uncensored. - Under Generation Parameters, set max tokens to 1,000 or more if the model thinks before it answers.
- Click Save Settings, go back to the chat and send a message.
Menu (top right) → Secrets → OpenAI
OpenAI Access API Reverse Proxy
proxy URL https://api.uplinkswitch.com/v1
proxy key sk-uplink-live-...
Menu (top right) → Configuration
Prompt Structure API: OpenAI, model: roleplay-uncensored
Generation Parameters max tokens: 1000 or moreChub's Just Chatting page describes the chat menu, Secrets and Configuration, where the prompt structure and generation parameters live. Its Configuration screenshot shows the Prompt Structure and Generation Parameters sections and the Save Settings button. OpenAI Access API, My Own API Key and Reverse Proxy are per the screenshot on Chub's API Connections page. Both pages were read 2026-10-19.
The docs stop there. They show neither the fields under Reverse Proxy nor the field for the model id. Google's AI Overview for this search (2026-10-19) places the API and model choice under Configuration, Prompt Structure, which is what step 5 follows. The proxy URL, proxy key and model lines say what goes in each field, not the field's exact label. A full chat in Chub with a real key has not been run here yet.
A request sent from a chub.ai page to the API was checked in Chrome on 2026-10-18. The browser allowed it, and the API's error body and x-uplink-request-id header were readable from the page.
Chub AI proxy URL: base or full
Chub's docs do not say whether its reverse proxy field wants a base URL or a full endpoint. There are two forms, and each client takes one of them:
- Base URL
https://api.uplinkswitch.com/v1, for a client that adds/chat/completionsitself, as SillyTavern and the OpenAI SDKs do. - Full URL
https://api.uplinkswitch.com/v1/chat/completions, for a client that posts to the address as given, as Janitor AI does.
Start with the base URL. If the curl checks below pass and Chub still returns an error or an empty reply, change the proxy URL to the full form and send again. The wrong form reaches an address the API does not serve, which answers 404 with route_not_found.
Either way the key goes in the key field. The API refuses a key placed in the URL.
Pick a model for Chub AI
Uncensored builds come first, in order of paid use on 2026-10-18, then two standard models on the same key. 100 messages here means 4,000 tokens in and 300 out each. The notes come from the SillyTavern check on 2026-10-18.
Abliterated builds have the refusal direction removed from the weights. Uncensored builds are changed to answer instead of refuse. Roleplay Uncensored is an independent model for character chat. How each one behaves in a chat is compared in best AI for roleplay.
The Daily check column links to the real-model check. Once a UTC day every model gets the same fixed test prompt. The input token count works as a tokenizer fingerprint, so a swapped model or added hidden instructions shows as a changed count. 30 of 49 uncensored builds hold a stable verdict at the last check.
Check that the key works
Test the key outside Chub first, so a key problem and a Chub setting never get mixed up.
curl https://api.uplinkswitch.com/v1/models \
-H "Authorization: Bearer $UPLINKSWITCH_API_KEY"A working key returns a JSON object with object set to list and a data array. Each entry carries an id, the exact string for Chub's model field. A wrong or revoked key returns 401 with invalid_api_key instead.
Then send one short message with the model id you picked:
curl https://api.uplinkswitch.com/v1/chat/completions \
-H "Authorization: Bearer $UPLINKSWITCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "roleplay-uncensored", "max_tokens": 1000,
"messages": [{"role": "user", "content": "Say hello in one sentence."}]}'The reply text is in choices[0].message.content. If it comes back, the key, the URL and the id are right, and anything left is a Chub setting. Add -i to either command to see the status line and the x-uplink-request-id header.
What 100 messages cost
Chub sends the system prompt, the character definitions and as much recent chat as fits the model's context with every message. The input grows with the chat, so the price per reply grows too. 100 replies of 300 tokens each, lowest cost first:
Prices come from the live catalog. Each paid top-up locks the rates for 30 days, and billing takes the lowest live rate. Requests that fail are not charged.
Empty response received from API, and other errors
Work through these in order. The first one is the fix to try before anything else. If Chub shows Error during generation instead, the error codes below apply the same way.
- Max tokens too low. GLM-5.3 Abliterated and DeepSeek V4 Pro Uncensored think before they answer, and the thinking counts against max tokens. A small budget can go entirely to thinking, leaving no reply text. Set max tokens to 1,000 or more under Configuration → Generation Parameters, or switch to Roleplay Uncensored, which has no thinking step. In SillyTavern, a GLM-5.3 Abliterated reply stopped mid-sentence at 300 tokens and finished at 1,000.
- 404 model_not_found. The model id is misspelled or does not exist. Copy it from the
GET /v1/modelsoutput. - 404 route_not_found. The proxy URL form is wrong for Chub. Switch between the base and the full URL.
- 401 invalid_api_key. The key is missing, mistyped or revoked. Copy it again from the console and save Secrets.
- 402 insufficient_balance. The prepaid balance does not cover the request. Replies work again after a top-up.
402 monthly_limit_reachedmeans the key hit the monthly spend limit you set on it. - 403 scope_denied. The key is narrowed to a list of models and the model field names another. Add the model to the key in the console, or change the id.
- 429 rate_limited. Too many requests in a short time for the key. The response carries
retry-after; wait that long and send again.
To read the code, run the chat check above with the same key, URL and model id. Every response, errors included, carries an x-uplink-request-id header to look the request up.
Chub AI with OpenRouter, or with this key
Chub has its own OpenRouter entry in Secrets, which takes an OpenRouter key (per the screenshot on Chub's API Connections page, read 2026-10-19). OpenRouter lists far more models: 471 on its public model list on 2026-10-19 at 04:49 UTC, roleplay finetunes included. One had Uncensored in its name, Venice: Uncensored, at $0.20 in and $0.90 out per million tokens. None was abliterated.
An UplinkSwitch key goes in the OpenAI reverse proxy entry instead and reaches all 49 uncensored builds above. Moving over changes the URL, the key and the model id. The OpenRouter alternative page covers the other differences. The same values also run Janitor AI with the full URL.
Questions
- Where do I put my API key in Chub AI?
- In Secrets. Open a chat, open the menu at the top right, choose Secrets and expand OpenAI. Set OpenAI Access API to Reverse Proxy and paste the key into the key field under it. The OpenAI Key field under My Own API Key is for a key issued by OpenAI. Those panel labels are per the screenshot on Chub’s API Connections page (read 2026-10-19).
- What proxy URL do I use for Chub AI?
- Start with https://api.uplinkswitch.com/v1. If the key passes the curl check and Chub still fails, use the full address, https://api.uplinkswitch.com/v1/chat/completions. Chub's docs do not say which form its reverse proxy field takes.
- Which API and model are best for Chub AI?
- Secrets connects OpenAI, Anthropic, OpenRouter, Google, NovelAI, and Kobold or Ooba (Chub’s API Connections page, read 2026-10-19). For uncensored roleplay through the OpenAI reverse proxy: Roleplay Uncensored (roleplay-uncensored) answered at once, with no thinking step, in our SillyTavern check on 2026-10-18. GLM-5.3 Uncensored (glm-5.3-uncensored) was the most-used uncensored build by paid spend on 2026-10-18. GLM-5.3 Flash Uncensored (glm-5.3-flash-uncensored) costs the least of the uncensored builds: $0.0361 per 100 messages of 4,000 tokens in and 300 out.
- Is there a free API for Chub AI?
- Chub sells its own models: Mars costs $20 a month with unlimited messages (Chub’s API Connections page), and Mercury is its other API (Usage with Third-Party UIs page), both read 2026-10-19. The API Connections page marks Kobold and Ooba free when the model runs on your own machine. Our key has no free tier: it is prepaid from $10. On GLM-5.3 Flash Uncensored, $10 covers 27,685 messages of 4,000 tokens in and 300 out.
- Why does Chub say empty response received from API?
- Check max tokens first. A model that thinks before it answers can spend a small budget on thinking and send back no reply text. Set max tokens to 1,000 or more under Configuration → Generation Parameters, or switch to roleplay-uncensored, which has no thinking step. If that does not fix it, the curl chat check shows the error code that names the cause.
- Does the same key work in SillyTavern and Janitor AI?
- Yes. SillyTavern takes the base URL https://api.uplinkswitch.com/v1 as a Custom (OpenAI-compatible) source. Janitor AI takes the full https://api.uplinkswitch.com/v1/chat/completions as its Proxy URL. The key, the balance and the model ids are the same in all three.
Get a key: prepaid from $10, no subscription, 30-day price lock.