What you will have at the end
A WyvernChat connection that sends every message to an uncensored model on your own prepaid key instead of Wyvern's Free Queue or a paid plan. Wyvern splits the setup in two: a Provider (where the API lives and the key) and a Connection (which model on that provider, with what context length). The values:
- API URL Type
- OpenAI
- API URL
- https://api.uncensoredllm.ai/v1Base URL ending in /v1; https://api.uncensoredllm.ai/v1/chat/completions if Fetch Models or the first message answers 404
- Stored API Key
- sk-ullm-live-…Created in the console, shown once
- Model
- uncensored-ai-roleplayPicked from Fetch Models, or typed exactly as the Models page prints it
Your characters, lorebooks, personas and chats stay on Wyvern. What changes is the model that writes the replies and where the bill lands: a balance that settles per token, not a Wyvern plan. The URL, the key and the model id drive every client on the docs page; the Chub AI, RisuAI and Agnai guides use them too, and the best uncensored LLM leaderboard picks the model id.
Prerequisites
- A WyvernChat account at app.wyvern.chat. Its own guide page, read 2026-11-02, says to add a provider and a connection, then select it in chat, which is this page in three steps.
- A key. Create one in the console. The first top-up is $10, there is no subscription, and bonus credit is added on larger top-ups (+5% at $200, +10% at $500, +15% at $1,000; these are the tiers the console applies). The key starts with
sk-ullm-and is shown once, so copy it before you close the dialog. - A model id from the Models page. Every entry there is the exact string the Model field needs. Four starting points are priced below.
- A character opened in a chat, so the first message has a definition to answer from.
Providers tab: the API URL and the key
Open AI Connections: the plug icon in the left toolbar, or your profile picture at the top right and then AI Connections (the page is https://app.wyvern.chat/llm). It has two tabs, Providers and Connections. Start on Providers.
- Click + Create Provider. A form opens.
- Provider Name:
UncensoredLLM. A label for your own list; nothing reads it. Landing Page URL and Description can stay empty. - Chat Completion Only?: on. The API answers the chat completions format; keep the switch on so the character goes as chat messages.
- No Key Required: off. Every request needs the key.
- Stored API Key: your key, the whole string starting
sk-ullm-. NoBearerin front of it. If your release shows the key field only after saving, save first, then Add API Key on the provider's row. - API URL Type: OpenAI.
- API URL:
https://api.uncensoredllm.ai/v1, with the/v1and nothing after it. That is right when the app appends the chat completions path itself. If Fetch Models in the next step, or the first message, answers 404route_not_found, your release posts to the address exactly as typed: replace the value withhttps://api.uncensoredllm.ai/v1/chat/completions. The API serves both forms; only one of them matches what the app sends. - API Backend Type: OPENAI. Allowed Parameters: leave empty.
- Click Add Provider (or Save) and close the form.
The labels are the ones the February 2026 walkthrough shows for this form, and the form may have changed since. When a label differs from what you see, match the field by what it asks for: a URL, a key, a type.
Connections tab: the model and the context length
The labels in this tab and in the chat's Connection Settings also come from the February 2026 walkthrough.
- Switch to Connections and click + New Connection.
- Name: the model you are about to pick, so a second connection for a second model stays apart. Visibility: Private.
- Force Chat Completion: on. Tool Call Enabled, Inline Image Support and Use Browser Request: off.
- Under Model Configuration, set Provider to the one you just made.
- Model: click Fetch Models. The API answers
GET /v1/modelswith your key, so the list includes every id on the Models page; pick one of those, for exampleuncensored-ai-roleplay. If the fetch fails, type the id exactly as the Models page prints it. A display name such as "Uncensored AI Roleplay" answers 404model_not_found, because the API matches on the id. - Context Length (tokens): the table under the price section gives a value per model. It is the number that sets the bill, so do not leave it at a round maximum.
- Leave the Instruct Templates tab alone and pick the Stable preset under Parameters; the builds on this site answer in character without a jailbreak, so nothing needs to be added to the prompt. Click Create.
Then, in any chat: the cog icon on the right, Connection Settings, switch Free Queue off and pick your connection under Mine. The next message goes to the model you named. To switch models later, make a second connection on the same provider; the URL and key stay, and one key covers every id.
Which model to put in the Model field
Your own connection serves the model you picked, with no prefill or jailbreak riding on each message. Four starting points, priced from the live catalog:
| Uncensored AI Roleplay | Roleplay | $0.60 | $2.34 |
| GLM-5.3 Flash Uncensored | Uncensored | $0.1053 | $0.3685 |
| GLM-5.3 Uncensored | Uncensored | $0.282 | $0.846 |
| DeepSeek V4 Pro Uncensored | Uncensored | $0.97 | $1.94 |
- Uncensored AI Roleplay,
uncensored-ai-roleplay: the roleplay-trained default, with a context window of 128,000 tokens; the first id we try on a new character. - GLM-5.3 Flash Uncensored,
glm-5.3-flash-uncensored: the low-cost option for long sessions. - GLM-5.3 Uncensored,
glm-5.3-uncensored: the full-size GLM for long scenes, when the flash build reads thin. - DeepSeek V4 Pro Uncensored,
deepseek-v4-pro-uncensored: the biggest of the four, for plots that need it.
A 24B roleplay fine-tune is the other direction: cydonia-24b-v4.3 lists at $0.60 per million output tokens today. The full list is on the Models page, abliterated and roleplay builds marked; the uncensored hub explains the difference.
Each id is sent a fixed prompt every day and the answer is compared with the model's known answer. On 2026-11-09 the check covered 170 of the models listed on this site and 161 answered as the model named; the verdict for each of the four above is on its model page. The method and the day's verdicts are at /proof.
What 100 messages cost, and the Context Length to set
A Wyvern message carries more than the words you type. The character, your persona, matching lorebook entries and as much history as the Context Length allows go out with every turn. We cost one message at 4,000 tokens in and 300 out, and the same message late in a long chat at 16,000 tokens in. Prices per million tokens come from the live catalog on 2026-11-09; the arithmetic is tokens times price, nothing else.
| Model | One message | 100 messages | 100 messages, 16k context | Context Length to set |
|---|---|---|---|---|
uncensored-ai-roleplay | $0.0031 | $0.3102 | $1.0302 | 65536 |
glm-5.3-flash-uncensored | $0.0005 | $0.0532 | $0.1795 | 32768 |
glm-5.3-uncensored | $0.0014 | $0.1382 | $0.4766 | 32768 |
deepseek-v4-pro-uncensored | $0.0045 | $0.4462 | $1.6102 | 32768 |
Put another way, the smallest top-up of $10 buys about 3,223 messages of that size on uncensored-ai-roleplay at today's price. Prepaid credit does not expire, so an idle month costs nothing. The pricing page has the per-token price of every model and the bonus tiers.
Check it works
Fetch Models is the check Wyvern gives you: a filled list means the URL and the key are both right. The same two checks from a terminal, so you can read the whole answer. The first lists the models your key can call; the second sends one message in the shape Wyvern sends. Replace the key and keep the rest.
curl https://api.uncensoredllm.ai/v1/models \ -H "Authorization: Bearer sk-ullm-live-…"curl -i https://api.uncensoredllm.ai/v1/chat/completions \ -H "Authorization: Bearer sk-ullm-live-…" \ -H "Content-Type: application/json" \ -d '{ "model": "uncensored-ai-roleplay", "max_tokens": 300, "temperature": 0.9, "messages": [ {"role": "system", "content": "You are Ilse, the night warden of a border fort. Stay in character. Reply in two short sentences."}, {"role": "user", "content": "Riders on the east road. Do we light the beacon?"} ] }'A 200 comes back in the chat completions format; the usage block is what the request is billed on, and Wyvern's character, persona and history land in prompt_tokens the same way. Two headers ride on every answer: x-uplink-request-id identifies the request if you write to support, and x-uplink-charge carries the settled charge for that call. A request that fails before the model answers is not charged.
What the operator keeps
Every message goes to the URL in the provider, and whoever runs that URL sees it. What this one keeps, as the privacy page states it: one usage record per request (request id, model, token counts and the charge); SHA-256 fingerprints of each request and response, never the text, so a signed receipt can be checked against what was billed; and request bodies only when you turn replay on for a key, for 7 days. With replay off, prompts and replies pass through and are not written anywhere. The key itself is stored as a salted hash and shown once.
Two habits cost nothing. Set a monthly spend limit on the key in the console, so a key that leaks from a shared screenshot cannot drain the balance; the API then answers 402 monthly_limit_reached instead of spending on. And make a separate key per app, Wyvern on one and SillyTavern on another, so you can revoke one without touching the other.
Troubleshooting
| What you see | Cause | Fix |
|---|---|---|
401, invalid_api_key | The stored key is wrong, revoked, or from another account. | Edit the provider and paste the key again from the console. |
404, route_not_found | The API URL has no /v1. | Set the URL to https://api.uncensoredllm.ai/v1; if it still answers 404, use https://api.uncensoredllm.ai/v1/chat/completions. |
404, model_not_found | The Model field holds a display name or a typo. | Fetch Models again, or paste the id from the Models page. |
402, insufficient_balance | The prepaid balance does not cover the request. | Top up in the console; the response carries the link. |
429, upstream_rate_limited | The model's route is busy. | Send again after retry-after, or switch connections for a minute. |
| An empty reply | A reply cut inside a reasoning step. | Give a reasoning model 1,000 or more response tokens. |
| No request on the console's Usage page | The chat is not using your connection. | Connection Settings in the chat: Free Queue off, your connection under Mine. |
The bodies the API sends for the status codes above, with a stable code field you can match on. None of them costs anything.
HTTP 401, the stored key is wrong{"error":{"message":"The API key is not valid.","type":"authentication_error","param":null,"code":"invalid_api_key"}} HTTP 404, the API URL does not reach the chat completions route{"error":{"message":"No such route.","type":"not_found_error","param":null,"code":"route_not_found"}} HTTP 404, the Model field names an id that is not on the list{"error":{"message":"No such model: gpt-4.","type":"not_found_error","param":null,"code":"model_not_found"}} HTTP 402, the balance is empty{"error":{"message":"The prepaid balance does not cover this request. Top up at … to continue.","type":"billing_error","param":null,"code":"insufficient_balance"}}Questions
Yes. AI Connections takes a Provider with an API URL Type of OpenAI, an API URL and a stored key, and a Connection that names the model on it. Any chat completions API fits, this one included.
https://api.uncensoredllm.ai/v1, with /v1 on the end. If your release posts to the address as typed instead of appending the chat completions path, use https://api.uncensoredllm.ai/v1/chat/completions.
The site is free with a Free Queue and paid plans from $10 a month (read on its plans page on 2026-11-02). A connection on your own key costs per token on the key’s balance and nothing on Wyvern.
The URL is missing /v1, the key is wrong, or No Key Required is on. Fix the provider, save, and fetch again; typing the model id exactly also works. See the Models page.
An uncensored or roleplay build stays in character without a jailbreak; uncensored-ai-roleplay is the roleplay-trained default, and the leaderboard ranks the rest by the daily check and price. See the uncensored LLM leaderboard.
Yes. Every key on an account draws on the same balance; make one key per app so you can revoke one without touching the other, and the Usage page shows each apart. See the SillyTavern setup.
Every model above is on the uncensored model list with its live price per million tokens. Per-token pricing sets the whole catalog side by side, and the family directory groups the builds by base model.