---
title: "Agnai proxy guide: Third-Party API with uncensored LLMs"
canonical: https://uncensoredllm.ai/guides/agnai-proxy
generated: 2026-10-27T06:27:14.238Z
source: https://uncensoredllm.ai/guides/agnai-proxy
base_url: https://api.uncensoredllm.ai/v1
---

# Agnai proxy setup: Third-Party API, uncensored model

Agnai proxy setup with the exact labels from its source: Third-Party, OpenAI Compat (Chat), the URL, the key and the model id of an uncensored build.

Steps checked October 24, 2026 · prices as of October 27, 2026

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](https://uncensoredllm.ai/blog/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](https://github.com/agnaistic/agnai) 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](https://github.com/agnaistic/agnai/blob/dev/common/adapters.ts) spells them (the dev branch, read on 24 October 2026), with the value for each.

- AI Service: Third-Party Your 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/v1 The base URL, ending in /v1
- Third Party Key/Password: sk-ullm-live-… Created in the console, shown once
- OpenAI Model Override: euryale-70b-v2.3 Any 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

1. Create a key in the [console](https://app.uncensoredllm.ai/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.
2. Pick a model id from the [uncensored model list](https://uncensoredllm.ai/models) or from the table in the next section. Copy it rather than typing it.
3. 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.
4. Set **AI Service** to **Third-Party**.
5. Set **Third Party Format** to **OpenAI Compat (Chat)**.
6. Paste `https://api.uncensoredllm.ai/v1` into **Third Party URL**. Keep the `/v1` and stop there. Agnai's [GitHub issue #316](https://github.com/agnaistic/agnai/issues/316) reports that Agnai appends the chat path to whatever URL you give it, so a URL that already ends in `/chat/completions` gets the path twice.
7. Paste the key into **Third Party Key/Password**.
8. Paste the id into **OpenAI Model Override**, for example `euryale-70b-v2.3`.
9. Keep the preset's context length at or under the model's window from the table below.
10. 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.

| Model | Build | Input $/M | Output $/M | Context | Wire formats |
| --- | --- | --- | --- | --- | --- |
| [Euryale 70B v2.3](https://uncensoredllm.ai/models/euryale-70b-v2.3) euryale-70b-v2.3 | Roleplay | $1.972 | $1.972 | 20K | openai |
| [Gemma 4 31B Fabled](https://uncensoredllm.ai/models/gemma-4-31b-fabled) gemma-4-31b-fabled | Roleplay | $0.35 | $1.575 | 262K | openai |

Prices per million tokens, read from the live catalog on 2026-10-27.

| Model id | Context window in the catalog | Preset context length, at most |
| --- | --- | --- |
| [`euryale-70b-v2.3`](https://uncensoredllm.ai/models/euryale-70b-v2.3) | 20,480 tokens | 20,480 |
| [`gemma-4-31b-fabled`](https://uncensoredllm.ai/models/gemma-4-31b-fabled) | 262,144 tokens | 262,144 |

Context windows read from the live catalog on 2026-10-27. "Not published" means the developer states no window; 32K is the safe start there.

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](https://uncensoredllm.ai/uncensored/gemma).

## 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](https://uncensoredllm.ai/models/euryale-70b-v2.3) | $1.68 | $6.41 |
| [Gemma 4 31B Fabled](https://uncensoredllm.ai/models/gemma-4-31b-fabled) | $0.36 | $1.20 |

Computed at render from the catalog prices on 2026-10-27: messages × prompt tokens × input price, plus messages × 250 × output price.

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](https://uncensoredllm.ai/pricing).

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

```bash
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"}}
```

Both bodies as the API returned them on 24 October 2026.

## 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](https://uncensoredllm.ai/proof) 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](https://uncensoredllm.ai/docs).

## Questions

### Is Agnai free?

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.

### Does Agnai support proxies?

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.

### Which Third Party Format do I pick in Agnai?

OpenAI Compat (Chat). The list also has OpenAI Compat (Chat - Legacy), OpenAI (Completion), Kobold and others; those send a different request shape.

### Where do I put the model name in Agnai?

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.

### Can I self-host Agnai?

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.

### Is this different from an AI with no restrictions in a jailbreak prompt?

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.

[Get a key](https://app.uncensoredllm.ai/console) Prepaid 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.
