Key points
- Base URL is https://api.dolphinllm.com/v1 and the only model ID is
uncensored. - Add it under Admin Settings, Connections, OpenAI API, or pass it as Docker environment variables.
- Test with curl first. If curl works, any remaining problem is in the Open WebUI settings.
- The $0.50 trial credit is enough for hundreds of normal chat turns.
The values you need
Open WebUI only needs three things from this service. The first is the base URL, https://api.dolphinllm.com/v1. The second is an API key from your account. The third is the model ID, uncensored, which Open WebUI reads from the model list on its own once the connection works.
Two endpoints are involved. GET /v1/models fills the model dropdown, and POST /v1/chat/completions carries every message you send. Nothing else is needed for chat. This is a text API, so the image, audio and embedding features of Open WebUI have nothing to talk to here.
| Field in Open WebUI | Value |
|---|---|
| API Base URL | https://api.dolphinllm.com/v1 |
| API Key | Your key from the API key page |
| Model | uncensored |
You do not need a card to try it. After sign-up you can claim $0.50 of trial credit with one click on the key page. It lasts 7 days.
Add the connection in the admin panel
If Open WebUI is already running, this is the quickest route.
- Sign in as an admin and open Admin Settings, then Connections.
- In the OpenAI API section, click the plus button to add a connection.
- Paste
https://api.dolphinllm.com/v1as the URL and your key as the key. - Use the verify button next to the fields. A green confirmation means the model list came back.
- Save, open a new chat, and pick
uncensoredfrom the model selector.
Menu names shift a little between Open WebUI releases. If you cannot find Connections, search the settings for "OpenAI". The fields are always the same: URL, key and sometimes a model filter.
Set it up with Docker environment variables
For a fresh install you can skip the admin screen and pass the connection when the container starts. Open WebUI reads OPENAI_API_BASE_URL and OPENAI_API_KEY at startup.
docker run -d -p 3000:8080 \
-e OPENAI_API_BASE_URL="https://api.dolphinllm.com/v1" \
-e OPENAI_API_KEY="YOUR_KEY" \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:mainThen browse to http://localhost:3000, create the first account (it becomes the admin) and the model should already be listed. Keep the key out of shell history if the machine is shared: put it in an env file and use --env-file instead.
Some Open WebUI versions treat these variables as initial values only. Once you have saved a connection in the UI, the stored value wins. If you change the variable and nothing happens, edit the connection in Admin Settings instead.
Running it for several people
Open WebUI has its own user accounts, so one install can serve a household or a small team while only one API key sits on the server. That is convenient and also a risk: every user spends from the same balance. Decide who gets an account, and look at X-Balance-USD now and then, so a long weekend of roleplay does not surprise you.
Keep the key in an environment variable or a secrets file, never in a screenshot or a shared document. Your key lives on the API key page; if you suspect it leaked, replace it in Open WebUI as soon as you have a new one. For a public-facing install, put it behind HTTPS and turn off open sign-ups so strangers cannot create accounts and use your credit.
One more point for shared setups: the model is tuned to answer without content refusals for lawful adult use. That is a feature for fiction and private research, and it also means you decide the house rules. A system prompt on the shared model is the easiest place to write them. Nothing sexual involving minors is permitted on the API, whatever the prompt says.
Good uses for this setup
People who connect Open WebUI to an uncensored endpoint usually want a clean chat window without the limits of a hosted chatbot. Common uses include long-form fiction and worldbuilding, roleplay and companion characters for adults, drafting material that mainstream assistants decline to touch, and ordinary coding or writing help. The same model handles all of these, so you can switch tasks within one chat.
Open WebUI helps in a few specific ways. Saved prompts and model presets let you keep a character or an editor persona one click away. Document upload and web search features, where you enable them, send extra text into the prompt, which raises token use, so keep an eye on the size of what you attach. Chat folders and search make it easy to return to a long project.
What it will not do is generate pictures, speech or video from this connection, because the API is text only.
Test the endpoint before blaming Open WebUI
Most failed setups come from a typo in the URL or a stale key, and both show up faster in a terminal. Run these two calls from the machine that hosts Open WebUI.
curl https://api.dolphinllm.com/v1/models \
-H "Authorization: Bearer YOUR_KEY"
curl https://api.dolphinllm.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Say hello in five words."}]
}'The first call should list uncensored. The second should return a normal chat completion. Check the response headers too: X-Balance-USD shows what is left on your account, which is a handy way to confirm Open WebUI is spending from the key you think it is.
The full parameter list is in the API docs.
Settings worth changing for chat
System prompt and sampling
Open WebUI lets you set a system prompt per model or per chat. Because the model is tuned to answer without content refusals for lawful adult use, a short system prompt that fixes the tone, persona or output format does more than a long list of rules. Temperature, top_p, stop, seed and the penalties are passed through, so the sliders in Open WebUI do have an effect.
Context length
The window is 100,000 tokens for prompt plus completion. Long chats grow the prompt on every turn, and you pay for the whole history each time. If a thread gets heavy, start a new chat or summarise the old one.
Background requests
Open WebUI can send extra calls in the background for chat titles and tags, using the same model by default. On a trial key, which allows 2 concurrent requests and 60 per minute, those calls can crowd out your actual message. Turn off title and tag generation, or accept a short delay. A full key allows 8 concurrent requests and 300 per minute, which is plenty for a personal or small-team install.
Streaming, JSON mode and tools
Open WebUI streams replies by default, and the API supports server-sent events (stream: true), with a usage block at the end of the stream. You see text appear token by token, and the balance header on the final response reflects what you spent.
Tool calling is supported by the API as well: tools, tool_choice, streamed tool_calls, and results sent back as role: "tool". How far Open WebUI exposes this depends on its version and on the tools or functions you install, so test with one small tool before building a workflow around it. JSON mode (response_format set to json_object) is useful when you call the same endpoint from scripts next to the chat UI.
A practical pattern is to keep Open WebUI for people and use the same key from a script for batch work. Both go through the same base URL, so one balance covers everything. Just remember that the limits apply per key: 8 concurrent requests on a full key, shared between the UI and your scripts.
Common errors and fixes
- No models appear. The URL probably lacks
/v1or has a typo. Compare it character by character with the value above and remove any trailing slash. - Authentication error. The key was pasted with a leading or trailing space, or it belongs to a deleted account. Copy it again from the key page.
- Model selector shows the wrong list. Open WebUI also queries other connections you added, such as a local Ollama. Disable the ones you do not use.
- Replies stop appearing mid-stream. A reverse proxy in front of Open WebUI may buffer server-sent events. Turn off buffering for that route.
- Balance runs low. Top up before it reaches zero. Failed or refused requests are not charged, so you only pay for completions that were delivered.
What a chat UI costs on this API
Pricing is $0.15 per 1M input tokens and $0.50 per 1M output tokens, from prepaid credit. Take a typical turn in a mid-length chat: 4,000 tokens of history going in and 500 tokens coming out. Input costs 4,000 x $0.15 / 1,000,000 = $0.0006. Output costs 500 x $0.50 / 1,000,000 = $0.00025. The turn costs $0.00085.
At that rate the $0.50 trial covers about 588 turns, and a $20 top-up covers roughly 23,500. See the pricing page for top-up bonuses. If you want to use the same key outside Open WebUI, for example in scripts that never need a login screen, the page on using an LLM without login restrictions covers that side.
