Skip to content
Relaykit
DocsOpen WebUI

Apps and SDKs

Open WebUI

Connect a self-hosted Open WebUI to the gateway as an OpenAI-compatible connection, so every model your key can use appears in its model picker.

Updated View .md
On this page

Open WebUI is a self-hosted chat interface. It talks to the gateway as an OpenAI-compatible connection and reads the model list from GET /v1/models, so you do not have to type model ids. Checked against Open WebUI v0.11.4.

You need an API key from API keys and this base URL:

Base URL https://api.oneaiapikey.com/v1

Add the connection

  1. Sign in to Open WebUI as an admin and open Admin Panel → Settings → Connections.
  2. Next to OpenAI API, click + (Add Connection).
  3. Set URL to the base URL above, including /v1, and paste your key as the API key.
  4. Save. Open WebUI fetches the model list; the models your key can use appear in the model picker of a new chat.
  5. Start a chat, pick a model such as claude-haiku-4-5, and send a message. The request shows up on your usage page.

Or set it at first start

With Docker, you can pass the connection as environment variables. Open WebUI reads them only the first time it starts; after that, the settings saved in the admin panel take over.

First start with Docker
docker run -d -p 3000:8080 \
  -e OPENAI_API_BASE_URL=https://api.oneaiapikey.com/v1 \
  -e OPENAI_API_KEY=$RELAYKIT_API_KEY \
  -v open-webui:/app/backend/data \
  --name open-webui ghcr.io/open-webui/open-webui:main

Keep costs down

  • Open WebUI makes extra background requests to title chats and suggest tags. Under Admin Panel → Settings → Interface, set the task model to a cheap, fast model so those calls do not run on an expensive one.
  • To show only some models, create a key whose model list contains just those models (see per-key settings). The picker then lists only them.
  • Give Open WebUI its own key with a spend limit, separate from your other apps.

Troubleshooting

  • No models in the picker: the URL must end in /v1, and the key must be valid. Check the key with the request on Authentication.
  • A model fails with 403: the key’s model list does not include it, or your balance is empty. See Errors.

↑ ↓ moveEnter openEsc close