Chub AI

Secrets, OpenAI, Reverse Proxy: one URL and one key. Uncensored models, the cost per 100 messages, and the empty response fix.

Checked 2026-10-19

·All guides·Models

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.

  1. Create a key in the console and name it Chub. It is shown once, so paste it straight into Chub.
  2. On chub.ai, open any chat and click the menu button at the top right. Choose Secrets.
  3. Expand OpenAI. Set OpenAI Access API to Reverse Proxy instead of My Own API Key.
  4. Paste https://api.uplinkswitch.com/v1 as the proxy URL and your key as the proxy key.
  5. 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.
  6. Under Generation Parameters, set max tokens to 1,000 or more if the model thinks before it answers.
  7. Click Save Settings, go back to the chat and send a message.
Chub AI · Secrets and Configuration
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 more

Chub'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/completions itself, 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.

ModelIn / 1MOut / 1M100 messagesDaily check
GLM-5.3 Uncensoredglm-5.3-uncensored$0.1746$0.1746$0.0751Same fingerprint since Oct 12
GLM-5.3 Abliteratedglm-5.3-abliteratedThinks first. Set max tokens to 1,000 or more.$2.25$2.25$0.9675Same fingerprint since Oct 12
DeepSeek V4 Pro Uncensoreddeepseek-v4-pro-uncensoredThought briefly, then answered.$0.75$0.75$0.3225Same fingerprint since Oct 12
Roleplay Uncensoredroleplay-uncensoredAnswered at once, with no thinking step.$0.30$0.60$0.138No answer at the last check
GLM-5.3 Flash Abliteratedglm-5.3-flash-abliterated$0.66$0.66$0.2838Same fingerprint since Oct 12
GLM-5.3 Flash Uncensoredglm-5.3-flash-uncensored$0.084$0.084$0.0361Same fingerprint since Oct 12
Aion RP Llama 3.1 8Baion-rp-llama-3.1-8b$2.40$4.80$1.10Same fingerprint since Oct 20
Chat Uncensoredchat-uncensored$1.50$3.00$0.69No answer at the last check
Code Pro Uncensoredcode-pro-uncensored$4.50$9.00$2.07No answer at the last check
Cydonia 24B v4.1cydonia-24b-v4.1$0.90$1.50$0.405Same fingerprint since Oct 20
Cydonia 24B v4.3cydonia-24b-v4.3$0.363$0.45$0.1587No answer at the last check
DeepSeek R1 Distill Llama 70B Abliterateddeepseek-r1-distill-llama-70b-abliterated$2.10$2.10$0.903No answer at the last check
DeepSeek R1 Distill Qwen 32B Abliterateddeepseek-r1-distill-qwen-32b-abliterated$4.20$4.20$1.81No answer at the last check
DeepSeek V4.1 Flash Abliterateddeepseek-v4.1-flash-abliterated$1.05$1.05$0.4515Same fingerprint since Oct 19
Dolphin Mistral 24B Venice Editiondolphin-mistral-24b-venice$0.50$2.25$0.2675Same fingerprint since Oct 20
Euryale 70B v2.2euryale-70b-v2.2$0.918$1.071$0.3993No answer at the last check
Euryale 70B v2.3euryale-70b-v2.3$1.479$1.479$0.636No answer at the last check
EVA LLaMA 3.33 70Beva-llama-3.33-70b$6.018$6.018$2.59Same fingerprint since Oct 20, no answer since Oct 20
EVA Qwen2.5 72Beva-qwen2.5-72b$2.397$2.397$1.03No answer at the last check
Gemma 31B Heretic Uncensoredgemma-31b-heretic-uncensored$1.50$8.25$0.8475No answer at the last check
Gemma 4 26B-A4B ChimeraX Hereticgemma-4-26b-a4b-chimerax-heretic$0.363$1.14$0.1794Same fingerprint since Oct 20
Gemma 4 26B-A4B DarkSoulgemma-4-26b-a4b-darksoul$0.363$1.14$0.1794Same fingerprint since Oct 20
Gemma 4 26B-A4B Uncensoredgemma-4-26b-a4b-uncensored$0.27$1.26$0.1458No answer at the last check
Gemma 4 31B Dark Gemistrygemma-4-31b-dark-gemistry$0.918$0.918$0.3947Same fingerprint since Oct 20
Gemma 4 31B DarkIdolgemma-4-31b-darkidol$0.30$1.35$0.1605Same fingerprint since Oct 20
Gemma 4 31B Gembrain Hereticgemma-4-31b-gembrain-heretic$0.918$0.918$0.3947Same fingerprint since Oct 20
Gemma 4 31B SDFT Heretic RPgemma-4-31b-sdft-heretic-rp$0.918$0.918$0.3947No answer at the last check
GLM-4.7 Flash Uncensoredglm-4.7-flash-uncensored$0.12$0.60$0.066No answer at the last check
GLM-5.3 Flash Apex Abliteratedglm-5.3-flash-apex-abliterated$0.45$1.50$0.225Same fingerprint since Oct 20
GLM-5.3 Flash Code Uncensoredglm-5.3-flash-code-uncensored$6.00$6.00$2.58No answer at the last check
Hermes 3 Llama 3.1 70Bhermes-3-llama-3.1-70b$1.224$1.224$0.5263Same fingerprint since Oct 20
Hermes 4 405Bhermes-4-405b$0.90$3.60$0.468Same fingerprint since Oct 20
Llama 3 70B Abliterated v3.5llama-3-70b-abliterated$2.10$2.10$0.903No answer at the last check
Llama 3.3 70B Abliteratedllama-3.3-70b-abliterated$2.10$2.10$0.903No answer at the last check
Lumimaid v0.2 70Blumimaid-v0.2-70b$3.00$4.50$1.34No answer at the last check
Magnum Diamond 24Bmagnum-diamond-24b$1.479$1.479$0.636Same fingerprint since Oct 20
Magnum v4 72Bmagnum-v4-72b$6.018$8.976$2.68Same fingerprint since Oct 20
MiMo V2.6 Flash Abliteratedmimo-v2.6-flash-abliterated$1.50$4.50$0.735Same fingerprint since Oct 20
MiMo V2.6 Flash Uncensoredmimo-v2.6-flash-uncensored$1.50$4.50$0.735Same fingerprint since Oct 20
MythoMax L2 13Bmythomax-l2-13b$0.303$0.303$0.1303Same fingerprint since Oct 20
NeuralDaredevil 8B Abliteratedneuraldaredevil-8b-abliterated$1.32$1.32$0.5676No answer at the last check
Qwen2.5 32B Abliteratedqwen2.5-32b-abliterated$2.10$2.10$0.903Same fingerprint since Oct 20
Qwen3.8 27B DarkIdolqwen3.8-27b-darkidol$0.30$1.80$0.174Same fingerprint since Oct 20, no answer since Oct 20
Qwen3.8 27B Obliteratedqwen3.8-27b-obliterated$0.75$5.25$0.4575No answer at the last check
Qwen3.8 27B Uncensoredqwen3.8-27b-uncensored$1.25$3.75$0.6125Same fingerprint since Oct 20
QwQ 32B Uncensoredqwq-32b-uncensored$1.98$3.00$0.882Same fingerprint since Oct 20
ReMM SLERP L2 13Bremm-slerp-l2-13b$1.527$2.835$0.6959Same fingerprint since Oct 20
The Omega Directive 24B v2.0omega-directive-24b-v2$1.50$1.50$0.645Same fingerprint since Oct 20
UnslopNemo 12B v4.1unslopnemo-12b-v4.1$1.479$1.479$0.636Same fingerprint since Oct 20
DeepSeek V4 Flash 0423deepseek-v4-flashStandard build, not uncensored.$0.0279$0.0558$0.0128No answer at the last check
GLM 5.3glm-5.3Standard build, not uncensored.$0.3276$1.0296$0.1619Same fingerprint since Oct 12

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.

shell
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:

shell
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:

Model4,000 tokens in16,000 tokens in
DeepSeek V4 Flash 0423$0.0128$0.0463
GLM-5.3 Flash Uncensored$0.0361$0.1369
GLM-4.7 Flash Uncensored$0.066$0.21
GLM-5.3 Uncensored$0.0751$0.2846
MythoMax L2 13B$0.1303$0.4939
Roleplay Uncensored$0.138$0.498
Gemma 4 26B-A4B Uncensored$0.1458$0.4698
Cydonia 24B v4.3$0.1587$0.5943
Gemma 4 31B DarkIdol$0.1605$0.5205
GLM 5.3$0.1619$0.555
Qwen3.8 27B DarkIdol$0.174$0.534
Gemma 4 26B-A4B ChimeraX Heretic$0.1794$0.615
Gemma 4 26B-A4B DarkSoul$0.1794$0.615
GLM-5.3 Flash Apex Abliterated$0.225$0.765
Dolphin Mistral 24B Venice Edition$0.2675$0.8675
GLM-5.3 Flash Abliterated$0.2838$1.08
DeepSeek V4 Pro Uncensored$0.3225$1.22
Gemma 4 31B Dark Gemistry$0.3947$1.50
Gemma 4 31B Gembrain Heretic$0.3947$1.50
Gemma 4 31B SDFT Heretic RP$0.3947$1.50
Euryale 70B v2.2$0.3993$1.50
Cydonia 24B v4.1$0.405$1.49
DeepSeek V4.1 Flash Abliterated$0.4515$1.71
Qwen3.8 27B Obliterated$0.4575$1.36
Hermes 4 405B$0.468$1.55
Hermes 3 Llama 3.1 70B$0.5263$2.00
NeuralDaredevil 8B Abliterated$0.5676$2.15
Qwen3.8 27B Uncensored$0.6125$2.11
Euryale 70B v2.3$0.636$2.41
Magnum Diamond 24B$0.636$2.41
UnslopNemo 12B v4.1$0.636$2.41
The Omega Directive 24B v2.0$0.645$2.44
Chat Uncensored$0.69$2.49
ReMM SLERP L2 13B$0.6959$2.53
MiMo V2.6 Flash Abliterated$0.735$2.54
MiMo V2.6 Flash Uncensored$0.735$2.54
Gemma 31B Heretic Uncensored$0.8475$2.65
QwQ 32B Uncensored$0.882$3.26
DeepSeek R1 Distill Llama 70B Abliterated$0.903$3.42
Llama 3 70B Abliterated v3.5$0.903$3.42
Llama 3.3 70B Abliterated$0.903$3.42
Qwen2.5 32B Abliterated$0.903$3.42
GLM-5.3 Abliterated$0.9675$3.67
EVA Qwen2.5 72B$1.03$3.91
Aion RP Llama 3.1 8B$1.10$3.98
Lumimaid v0.2 70B$1.34$4.93
DeepSeek R1 Distill Qwen 32B Abliterated$1.81$6.85
Code Pro Uncensored$2.07$7.47
GLM-5.3 Flash Code Uncensored$2.58$9.78
EVA LLaMA 3.33 70B$2.59$9.81
Magnum v4 72B$2.68$9.90

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/models output.
  • 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_reached means 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.