---
title: "Open WebUI add model: uncensored builds by API"
canonical: https://uncensoredllm.ai/guides/open-webui
generated: 2026-10-27T08:18:24.997Z
source: https://uncensoredllm.ai/guides/open-webui
base_url: https://api.uncensoredllm.ai/v1
---

# Add uncensored models to Open WebUI

Open WebUI add model steps for an uncensored catalog: one connection, a short picker set by your key, a preset per build and each build's context window.

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

To add a model to Open WebUI from an uncensored catalog, connect this API once and let your key decide which builds appear. This guide covers the connection, a short picker set on the key, one preset per build, and the context window each build has. Labels come from Open WebUI's docs and its v0.12.3 source, read on 25 October 2026.

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

## What the connection gives Open WebUI

Open WebUI is a self-hosted chat interface. Its docs say it works with any backend that speaks the OpenAI Chat Completions protocol, and this API does: every uncensored build in the catalog takes the OpenAI wire format at `https://api.uncensoredllm.ai/v1`.

The builds are abliterated or uncensored fine-tunes. The refusal behavior is gone from the weights, so a preset needs a plain system prompt, not a jailbreak. The labels below come from the [OpenAI-compatible connection doc](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-openai-compatible/) and the Open WebUI source at tag [v0.12.3](https://github.com/open-webui/open-webui/releases/tag/v0.12.3), the latest release on 25 October 2026 (published 16 October).

## The connection fields for this API

The Add Connection dialog has more fields than you need. These are the ones that matter here; leave the rest at their defaults.

- URL: https://api.uncensoredllm.ai/v1 Ends in /v1, no trailing slash
- Auth: Bearer The default
- API Key: sk-ullm-live-… Created in the console, shown once
- API Type: Chat Completions The default; leave Responses off
- Model IDs: (empty, or the ids below) Empty lists every id the key returns
- Prefix ID: (empty) Only needed when two connections share ids

Prefix ID adds a label in front of each id in the picker, and Open WebUI strips it again before the request leaves, per its source. With one connection to this API there is nothing to tell apart, so leave it empty.

## Add a model to Open WebUI from this API

1. Create a key in the [console](https://app.uncensoredllm.ai/console). It starts with `sk-ullm-` and is shown once. The balance is prepaid from $10.
2. In Open WebUI, sign in as an admin and open the connection settings. The doc writes the path as **Settings > Admin > Connections**.
3. Under **Manage OpenAI API Connections**, press **Add Connection** (the plus icon).
4. Paste `https://api.uncensoredllm.ai/v1` into **URL** and the key into **API Key**.
5. Leave **API Type** on **Chat Completions**. The daily model check calls every build on `/v1/chat/completions`, so that is the path known to answer.
6. Press **Verify Connection**. Success shows "Server connection verified". Then press **Save**; the doc notes that saving alone does not test anything.
7. Open a new chat. The picker now lists the ids the key can reach. Pick `glm-5.3-uncensored` and send a message.

That is the whole connection. The next two sections are what make it usable day to day: a short picker, and one preset per build.

## Keep the model picker short

Open WebUI fills the picker from `/v1/models`, and that answer holds every id your key can reach, the 129 uncensored builds on the [models page](https://uncensoredllm.ai/models) among them. A picker that long is hard to use. There are two places to cut it down, and they do different jobs.

### On the key: the console's Models field

In the console, open the key's settings and type the ids you want, separated by commas, into **Models**, then press **Set**. From then on `/v1/models` answers with those ids only, so Open WebUI's picker shrinks with no change on its side. A request for any other id is refused before it reaches a model, and costs nothing:

```
glm-5.3-uncensored, deepseek-v4-pro-uncensored, minimax-m3-uncensored, hermes-4-405b
```

```
HTTP 403
{"error":{"message":"This key may not call kimi-k3-uncensored.","type":"permission_error","param":null,"code":"scope_denied"}}
```

This is the filter to use when Open WebUI has several users. They cannot reach a build you left off, whatever they type.

### In Open WebUI: the connection's Model IDs

**Model IDs** in the connection dialog filters the list on Open WebUI's side. Type an id, add it with the plus icon, and repeat. Left empty, it takes everything `/models` returns. It changes what the picker shows, not what the key may call.

A third switch lives under **Admin Settings > Models**. Per the [Workspace models doc](https://docs.openwebui.com/features/workspace/models/), the **Enabled** switch removes one model from the list for everyone, and **Hide** only takes it out of the picker.

## Which uncensored builds to list

Four general chat builds, with the prices and windows the catalog gave when this page rendered. The daily check column comes from [the daily real-model check](https://uncensoredllm.ai/proof), which sends a fixed prompt to every model each day and records whether the answer still matches the model on the label.

| Model | Build | Input $/M | Output $/M | Context | Wire formats |
| --- | --- | --- | --- | --- | --- |
| [GLM-5.3 Uncensored](https://uncensoredllm.ai/models/glm-5.3-uncensored) glm-5.3-uncensored | Uncensored | $0.282 | $0.846 |  | openai |
| [DeepSeek V4 Pro Uncensored](https://uncensoredllm.ai/models/deepseek-v4-pro-uncensored) deepseek-v4-pro-uncensored | Uncensored | $1.00 | $2.00 |  | openai |
| [MiniMax M3 Uncensored](https://uncensoredllm.ai/models/minimax-m3-uncensored) minimax-m3-uncensored | Uncensored | $0.75 | $4.00 | 262K | openai |
| [Hermes 4 405B](https://uncensoredllm.ai/models/hermes-4-405b) hermes-4-405b | Uncensored | $1.20 | $4.80 | 128K | openai |

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

| Model id | Daily check | Context window |
| --- | --- | --- |
| [`glm-5.3-uncensored`](https://uncensoredllm.ai/models/glm-5.3-uncensored) | Steady since Oct 12 | not published |
| [`deepseek-v4-pro-uncensored`](https://uncensoredllm.ai/models/deepseek-v4-pro-uncensored) | Steady since Oct 12 | not published |
| [`minimax-m3-uncensored`](https://uncensoredllm.ai/models/minimax-m3-uncensored) | Steady since Oct 27 | 262,144 tokens |
| [`hermes-4-405b`](https://uncensoredllm.ai/models/hermes-4-405b) | Steady since Oct 20 | 128,000 tokens |

Windows from the live catalog on 2026-10-27; verdicts from /proof at render.

`glm-5.3-uncensored` is one of several GLM builds; the rest are on the [uncensored GLM page](https://uncensoredllm.ai/uncensored/glm). Start with two or three ids. Adding one later is a single entry in the key's Models field.

## One preset per build in Workspace

A preset wraps a base model with its own name, system prompt and parameters. Users pick the preset, not the raw id. The Workspace models doc describes the fields used here.

1. Open **Workspace**, select the **Models** tab and press **Create**.
2. Give it a name and ID, for example "Long-form writer". The ID takes no spaces.
3. Set **Base Model (From)** to an id from the list above.
4. Write the **System Prompt** as a plain brief: tone, length, format. The build does not refuse, so there is no persuasion text to add.
5. Under **Advanced Params**, set **max_tokens** to cap each reply, and **Temperature** if you want it lower than the default.
6. Use **Access** to keep it private to you or a group, or make it public.

Then hide the base models in Admin Settings > Models, so the picker shows presets only. The doc says a hidden base model still powers the presets built on it.

## Context windows: what Open WebUI sends

Open WebUI sends the conversation so far with every message. On turn 40 of the chat below, that is about 21,900 tokens in one request. Each build's window, in the table above, is the ceiling for that request.

The Advanced Params panel also lists **num_ctx (Ollama)**, and the label says where it applies: it is the context-size option of Ollama's API. In the v0.12.3 source, a non-Ollama model gets its advanced params added to the request body as they are, and the OpenAI format has no `num_ctx` field, so it does not change the window on this connection. `max_tokens` does reach the API.

When a chat gets long, start a new one, or move it to a build with a larger published window. Of the four above, `minimax-m3-uncensored` lists the largest.

## What an Open WebUI chat costs

The worked example: a 300-token system prompt, 150-token messages and 400-token replies. A 10-turn chat sends 29,250 input tokens in total. A 40-turn chat sends 447,000, because every turn resends the ones before it.

| Model | 10-turn chat | 40-turn chat |
| --- | --- | --- |
| [GLM-5.3 Uncensored](https://uncensoredllm.ai/models/glm-5.3-uncensored) | $0.01 | $0.14 |
| [DeepSeek V4 Pro Uncensored](https://uncensoredllm.ai/models/deepseek-v4-pro-uncensored) | $0.04 | $0.48 |
| [MiniMax M3 Uncensored](https://uncensoredllm.ai/models/minimax-m3-uncensored) | $0.04 | $0.40 |
| [Hermes 4 405B](https://uncensoredllm.ai/models/hermes-4-405b) | $0.05 | $0.61 |

Computed at render from the catalog prices on 2026-10-27: total input tokens × input price, plus turns × 400 × output price.

Four times the turns sends about 15 times the input. A new chat per topic keeps the bill flat. Every per-token rate is on the [pricing page](https://uncensoredllm.ai/pricing).

## Check the key before Open WebUI

Verify Connection calls the same `/models` endpoint as this request. It is free, so run it from a terminal first to rule out the key.

```bash
curl https://api.uncensoredllm.ai/v1/models \
  -H "Authorization: Bearer sk-ullm-live-…"
```

A 200 with a list of ids means the key works. If you set the key's Models field, the list holds only those ids. A 401 names the problem:

```
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 25 October 2026.

## Troubleshooting Open WebUI connection errors

### Verify Connection fails with 401

The API Key field is empty or holds a wrong, cut or revoked key. Create a fresh one in the console and paste it whole.

### 404 model_not_found

An id typed into Model IDs or a preset's base model is not in the catalog. Copy ids from the list above or from the models page:

```
HTTP 404
{"error":{"message":"No such model: glm-5.3-uncensord.","type":"not_found_error","param":null,"code":"model_not_found"}}
```

### 402 insufficient_balance

The prepaid balance is at zero. Top up in the console; a refused request is not charged.

```
HTTP 402
{"error":{"message":"The prepaid balance does not cover this request. Top up at … to continue.","type":"insufficient_quota","param":null,"code":"insufficient_balance"}}
```

### 403 scope_denied

The key's Models field leaves that id out. Add it there, or drop it from the connection's Model IDs so nobody picks it.

### The picker is empty or slow

Check that the connection's switch is on and that Model IDs holds real ids. The doc gives `AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST` (10 seconds by default) for slow model lists. Base URL, key and model id for other clients are on the [docs page](https://uncensoredllm.ai/docs).

## Questions

### How do I add a model to Open WebUI?

Add a connection under Settings > Admin > Connections with the URL https://api.uncensoredllm.ai/v1 and your key, then press Verify Connection and Save. Every id the key can reach appears in the picker; the key's Models field in the console narrows it.

### Does Open WebUI work with any OpenAI-compatible API?

Its docs say it works with any backend that speaks the OpenAI Chat Completions protocol. This API does, for every uncensored build in the catalog. See the uncensored model list.

### What is the Open WebUI API URL for this provider?

https://api.uncensoredllm.ai/v1, ending in /v1. Open WebUI adds the paths it needs, such as /models and /chat/completions.

### Where does the API key go in Open WebUI?

In the API Key field of the connection, with Auth left on Bearer. Open WebUI sends it as a Bearer token on every request to this API.

### Does Open WebUI have its own API?

Yes. Its API Endpoints reference documents POST /api/chat/completions with a Bearer token from Settings > Account (read 25 October 2026). That is Open WebUI’s API for your own scripts; the connection here is the model backend behind it.

### Should the connection use Chat Completions or Responses?

Chat Completions, the default API Type. The daily model check calls every build on /v1/chat/completions. See the daily real-model check.

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