Agnai has no proxy field as such. An Agnai proxy is a generation preset set to the Third-Party AI Service, with four more values filled in: the format, the URL, the key and the model id. This guide uses the labels exactly as Agnai's source spells them, read on 24 October 2026, so the preset connects to an uncensored roleplay build the first time.
If builds with the refusals edited out are new to you, start with AI with no restrictions, then come back here to connect one.
What Agnai is
Agnai, also published as Agnaistic, is a roleplay chat app for characters you write or import. Its README describes it as AI roleplay chat with personalized characters on your favorite AI services, with group conversations of several users and several bots. It runs as a hosted site at agnai.chat, or on your own machine from the open repository.
agnai.chat says you can chat there for free with its own models. The Third-Party service is the other route: the preset sends every prompt to an OpenAI-compatible API you name, so the model, its context window and its price are that API's. That is the route this guide sets up, with an uncensored roleplay build behind it.
The Agnai proxy settings, label by label
Agnai keeps the connection inside a generation preset. These are the labels as Agnai's own source spells them (the dev branch, read on 24 October 2026), with the value for each.
- AI Service
- Third-PartyYour own API instead of Agnai’s models
- Third Party Format
- OpenAI Compat (Chat)Not the (Chat - Legacy) option
- Third Party URL
- https://api.uncensoredllm.ai/v1The base URL, ending in /v1
- Third Party Key/Password
- sk-ullm-live-…Created in the console, shown once
- OpenAI Model Override
- euryale-70b-v2.3Any id from the Models page, typed exactly
Two labels catch people. The format list has both OpenAI Compat (Chat) and OpenAI Compat (Chat - Legacy); the source marks the second as legacy, so pick the first. And the model id goes in OpenAI Model Override, not in a field called Model: the override is what Agnai sends as the model name to a third-party API.
Connect an Agnai preset to the uncensored API
- Create a key in the console. It starts with
sk-ullm-and is shown once, so paste it somewhere safe first. The balance is prepaid from $10; a key with nothing on it is accepted but the first message answers 402. - Pick a model id from the uncensored model list or from the table in the next section. Copy it rather than typing it.
- In Agnai, create a new generation preset or open one you already use, and go to its connection settings. Every field below is in the preset.
- Set AI Service to Third-Party.
- Set Third Party Format to OpenAI Compat (Chat).
- Paste
https://api.uncensoredllm.ai/v1into Third Party URL. Keep the/v1and stop there. Agnai's GitHub issue #316 reports that Agnai appends the chat path to whatever URL you give it, so a URL that already ends in/chat/completionsgets the path twice. - Paste the key into Third Party Key/Password.
- Paste the id into OpenAI Model Override, for example
euryale-70b-v2.3. - Keep the preset's context length at or under the model's window from the table below.
- Save the preset, attach it to a chat and send a message. A reply in character means the URL, the key and the id are all right.
One preset per model keeps switching simple: copy the preset, change the override and the context length, and save it under the model's name.
Which uncensored build to pick for Agnai
All three builds below carry the roleplay tag in the catalog, and all three take the OpenAI wire format that the OpenAI Compat (Chat) format speaks. The prices and windows are read from the live catalog when the page renders.
| Wire formats | |||||
|---|---|---|---|---|---|
| Euryale 70B v2.3 | Roleplay | $1.972 | $1.972 | 20K | |
| Gemma 4 31B Fabled | Roleplay | $0.35 | $1.575 | 262K |
| Model id | Context window in the catalog | Preset context length, at most |
|---|---|---|
euryale-70b-v2.3 | 20,480 tokens | 20,480 |
gemma-4-31b-fabled | 262,144 tokens | 262,144 |
The three windows differ by an order of magnitude, which is why the context length belongs in the preset rather than in your head. A preset built for gemma-4-31b-fabled and reused on euryale-70b-v2.3 sends more history than the smaller window holds. The rest of the Gemma 4 tunes are on the uncensored Gemma page.
What an evening of Agnai chat costs
The worked example: 200 messages in one sitting, each reply about 250 tokens. The short column assumes about 4,000 tokens of character, memory and history per message; the long column assumes 16,000, a lore book and a long chat.
| Model | 200 messages at 4,000 context | 200 messages at 16,000 context |
|---|---|---|
| Euryale 70B v2.3 | $1.68 | $6.41 |
| Gemma 4 31B Fabled | $0.36 | $1.20 |
Input dominates: 200 × 4,000 is 800,000 input tokens against 50,000 output tokens. A shorter character and a lower context length move the bill more than the choice of model. Every per-token rate is on the pricing page.
Check the key and the model id before Agnai
Before you open the preset, this request lists the model ids your key can reach. It costs nothing and takes a second. Swap in your key and run it from a terminal.
curl https://api.uncensoredllm.ai/v1/models \ -H "Authorization: Bearer sk-ullm-live-…"A 200 with a list of ids means the key is good. If the id you put in OpenAI Model Override is in that list, the only settings left to get wrong are the URL and the format. A 401 means the key, and the message says which way:
HTTP 401{"error":{"message":"No API key was sent.","type":"authentication_error","param":null,"code":"invalid_api_key"}}HTTP 401{"error":{"message":"The API key is not valid.","type":"authentication_error","param":null,"code":"invalid_api_key"}}Troubleshooting Agnai third-party errors
401: the key
"No API key was sent." means Third Party Key/Password is empty on the preset the chat is using. "The API key is not valid." means it is wrong, cut short or revoked. Create a fresh key in the console and paste it whole.
404 model_not_found: the model id
The id in OpenAI Model Override is not in the catalog: a typo, a display name instead of an id, or a build that has since left. Run the request above and copy the id from its output. A 404 without that code points at the URL instead: check that it ends in /v1 and nothing after it.
402: the balance
The prepaid balance is at zero. Top up in the console; a request refused with 402 is not charged.
Replies that come back empty or garbled
Check Third Party Format first. Kobold, Llama.cpp and OpenAI (Completion) are other entries in the same list and send a different request shape. OpenAI Compat (Chat) is the one that matches this API.
Browser errors (CORS)
The API allows calls from any origin, including the Authorization header (checked on 24 October 2026). The connection works whether the request leaves from your browser or from the server running Agnai, so there is no proxy setting to add.
The daily real-model check sends a fixed prompt to every model each day, so the model behind an id is the one on its label. Base URL, key and model id for other clients are on the docs page.
Questions
agnai.chat says you can chat there for free with its own models, and the code is open on GitHub. A Third-Party connection is billed by the API you connect: here per token, prepaid from $10. See per-token prices.
Yes, through the Third-Party AI Service. Set Third Party Format to OpenAI Compat (Chat), the URL to the API’s base ending in /v1, the key in Third Party Key/Password and the model id in OpenAI Model Override.
OpenAI Compat (Chat). The list also has OpenAI Compat (Chat - Legacy), OpenAI (Completion), Kobold and others; those send a different request shape.
In OpenAI Model Override, typed exactly as the catalog lists it, for example euryale-70b-v2.3. Agnai sends that value as the model name to the third-party API. See the uncensored model list.
Yes. The repository is agnaistic/agnai on GitHub, with multi-user and multi-bot chat. The Third-Party preset is set up the same way on a self-hosted copy as on agnai.chat.
Yes. The builds here are abliterated or uncensored fine-tunes, so the change is in the weights, not in a prompt, and the preset needs no jailbreak text. See AI with no restrictions, explained.