Wyvern Chat API setup: provider, connection, model id

Put an uncensored model behind WyvernChat on your own key: the Provider (API URL Type OpenAI, the URL, the stored key), the Connection with the model id, and what 100 messages cost.

Steps checked November 6, 2026 · prices as of November 9, 2026

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/v1
Base 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-roleplay
Picked 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.

  1. Click + Create Provider. A form opens.
  2. Provider Name: UncensoredLLM. A label for your own list; nothing reads it. Landing Page URL and Description can stay empty.
  3. Chat Completion Only?: on. The API answers the chat completions format; keep the switch on so the character goes as chat messages.
  4. No Key Required: off. Every request needs the key.
  5. Stored API Key: your key, the whole string starting sk-ullm-. No Bearer in front of it. If your release shows the key field only after saving, save first, then Add API Key on the provider's row.
  6. API URL Type: OpenAI.
  7. API URL: https://api.uncensoredllm.ai/v1, with the /v1 and 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 404 route_not_found, your release posts to the address exactly as typed: replace the value with https://api.uncensoredllm.ai/v1/chat/completions. The API serves both forms; only one of them matches what the app sends.
  8. API Backend Type: OPENAI. Allowed Parameters: leave empty.
  9. 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.

  1. Switch to Connections and click + New Connection.
  2. Name: the model you are about to pick, so a second connection for a second model stays apart. Visibility: Private.
  3. Force Chat Completion: on. Tool Call Enabled, Inline Image Support and Use Browser Request: off.
  4. Under Model Configuration, set Provider to the one you just made.
  5. Model: click Fetch Models. The API answers GET /v1/models with your key, so the list includes every id on the Models page; pick one of those, for example uncensored-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 404 model_not_found, because the API matches on the id.
  6. 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.
  7. 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 models and their prices per million tokens
Uncensored AI Roleplayuncensored-ai-roleplayRoleplay$0.60$2.34
GLM-5.3 Flash Uncensoredglm-5.3-flash-uncensoredUncensored$0.1053$0.3685
GLM-5.3 Uncensoredglm-5.3-uncensoredUncensored$0.282$0.846
DeepSeek V4 Pro Uncensoreddeepseek-v4-pro-uncensoredUncensored$0.97$1.94

Prices per million tokens, read from the live catalog on 2026-11-09.

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

ModelOne message100 messages100 messages, 16k contextContext Length to set
uncensored-ai-roleplay$0.0031$0.3102$1.030265536
glm-5.3-flash-uncensored$0.0005$0.0532$0.179532768
glm-5.3-uncensored$0.0014$0.1382$0.476632768
deepseek-v4-pro-uncensored$0.0045$0.4462$1.610232768

Context Length is 16K under the window the catalog states, capped at 64K; 32K where the developer publishes no window. Never above the window: a prompt past it is refused, not trimmed.

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
1curl https://api.uncensoredllm.ai/v1/models \
2 -H "Authorization: Bearer sk-ullm-live-…"
curl
1curl -i https://api.uncensoredllm.ai/v1/chat/completions \
2 -H "Authorization: Bearer sk-ullm-live-…" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "model": "uncensored-ai-roleplay",
6 "max_tokens": 300,
7 "temperature": 0.9,
8 "messages": [
9 {"role": "system", "content": "You are Ilse, the night warden of a border fort. Stay in character. Reply in two short sentences."},
10 {"role": "user", "content": "Riders on the east road. Do we light the beacon?"}
11 ]
12 }'

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 seeCauseFix
401, invalid_api_keyThe stored key is wrong, revoked, or from another account.Edit the provider and paste the key again from the console.
404, route_not_foundThe 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_foundThe Model field holds a display name or a typo.Fetch Models again, or paste the id from the Models page.
402, insufficient_balanceThe prepaid balance does not cover the request.Top up in the console; the response carries the link.
429, upstream_rate_limitedThe model's route is busy.Send again after retry-after, or switch connections for a minute.
An empty replyA reply cut inside a reasoning step.Give a reasoning model 1,000 or more response tokens.
No request on the console's Usage pageThe 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.

errors
1HTTP 401, the stored key is wrong
2{"error":{"message":"The API key is not valid.","type":"authentication_error","param":null,"code":"invalid_api_key"}}
3
4HTTP 404, the API URL does not reach the chat completions route
5{"error":{"message":"No such route.","type":"not_found_error","param":null,"code":"route_not_found"}}
6
7HTTP 404, the Model field names an id that is not on the list
8{"error":{"message":"No such model: gpt-4.","type":"not_found_error","param":null,"code":"model_not_found"}}
9
10HTTP 402, the balance is empty
11{"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.

Get a keyPrepaid from $10, no subscription.

New models and price changes, once a month.

New uncensored builds with their prices, price moves, and what the daily model check found.

Join on Telegram