Blog4 min read

Use SolCard Inference in Open WebUI and LibreChat

Connect Open WebUI or LibreChat to SolCard Inference’s OpenAI-compatible API: the URL, the key, the models, and where your chat history ends up.

Contents

To connect Open WebUI to SolCard Inference, add an OpenAI API connection with the URL https://api.solcardinference.ai/v1 and an API key that starts with sk-si-. Our API then lists its three models to Open WebUI. LibreChat takes the same URL and key as a custom endpoint in librechat.yaml. Both have to call us from their server, not from your browser; more on that below.

What you need

  • An API key. Sign in at app.solcardinference.ai, open API keys and create one. Keys start with sk-si- and are shown once (quickstart).
  • A balance. Requests draw from your prepaid USD balance, which you add on the Top up page. See how billing works.
  • The base URL: https://api.solcardinference.ai/v1. It speaks OpenAI Chat Completions, which is what both apps use.
  • The model IDs:
Model IDUse it for
solcard-inference-fastThe default: fastest and cheapest
solcard-inference-largeHard questions; it always reasons
solcard-inference-baseGeneral purpose, 262k context

Fast, Large or Base compares them.

Open WebUI

Open WebUI’s guide to OpenAI-compatible providers puts the setting under Settings > Admin > Connections:

  1. Find Manage OpenAI API Connections and click Add Connection.
  2. URL: https://api.solcardinference.ai/v1
  3. API Key: your sk-si-... key.
  4. Click Save.

Verify Connection calls /models with a Bearer token. That’s the request our API answers with the list of models: GET /v1/models with Authorization: Bearer sk-si-... returns solcard-inference-fast, solcard-inference-large and solcard-inference-base. You can check it yourself first:

curl https://api.solcardinference.ai/v1/models \
  -H "Authorization: Bearer $SOLCARD_INFERENCE_KEY"

If the models don’t show up in the model picker, Open WebUI’s docs say to “add your model IDs to the Model IDs allowlist” on the same connection. Type each ID from the table above and save.

Why Direct Connections won’t work

Open WebUI also has Direct Connections, where your browser calls the provider itself instead of the Open WebUI server. That route is blocked for SolCard Inference. Our API only accepts browser requests from our own chat app at app.solcardinference.ai; a browser on any other site gets a CORS error before the request is sent.

Use the admin connection above. The Open WebUI server calls our API directly, where CORS doesn’t apply, and your key stays on the server instead of in every user’s browser.

LibreChat

LibreChat adds providers as custom endpoints in librechat.yaml. Put the key in .env:

SOLCARD_INFERENCE_KEY=sk-si-...

Then add the endpoint under endpoints.custom:

endpoints:
  custom:
    - name: 'SolCard Inference'
      apiKey: '${SOLCARD_INFERENCE_KEY}'
      baseURL: 'https://api.solcardinference.ai/v1'
      models:
        default: ['solcard-inference-fast', 'solcard-inference-large', 'solcard-inference-base']
        fetch: true
      titleConvo: true
      titleModel: 'solcard-inference-fast'
      modelDisplayLabel: 'SolCard Inference'

Two things from LibreChat’s docs:

  • “models.default must list at least one model, even when fetch: true is set.” An empty list stops LibreChat from starting.
  • Docker installs need the file mounted. Copy docker-compose.override.yml.example to docker-compose.override.yml, uncomment the librechat.yaml volume mount, then restart with docker compose down && docker compose up -d.

titleModel is the model that names each conversation. Fast is the cheap choice; every title is a small request billed to your balance.

Where your chats live now

A self-hosted UI changes where your history is kept. In our own chat app, history stays in your browser unless you turn on end-to-end encrypted sync. In Open WebUI or LibreChat, your history lives in that app’s database, on your server. Whoever runs the server can read it, so treat it like any other database with private data in it: back it up, and limit who has access.

Your prompts still reach SolCard Inference, because that’s where the model runs. Each one is processed in memory and not stored: not on our servers, not in our logs, not at the model. Keeps nothing follows one message all the way through.

So the split is:

Kept where
Chat historyYour Open WebUI or LibreChat server
Prompts and answers at SolCard InferenceNowhere
Billing line per request (time, key, model, tokens, cost)Your SolCard Inference usage page

Keys and costs

Every key spends from your account balance, so give the UI its own key. You can set a monthly spend limit on a key, after which its requests return 402 key_limit_exceeded until the next month (authentication). If a key leaks, revoke it on the API keys page.

Everyone who uses your Open WebUI or LibreChat spends the same balance. Your usage page shows each request: the time, the key, the model, tokens in and out, and the cost.

FAQ

Does Open WebUI’s Verify Connection work with SolCard Inference? It calls /models with a Bearer token, and our /v1/models lists the three models for a valid key. If the picker still comes up empty, add the IDs to the Model IDs allowlist.

Can I use a browser-only client or Direct Connections? No. Our API only accepts browser requests from app.solcardinference.ai. Connect from a server instead.

Can I upload images or files? No. The models are text only.

Is my chat history private? It’s as private as your server. SolCard Inference doesn’t store your prompts or answers; Open WebUI and LibreChat keep your history in their own database.

Bring the prompt that got refused.

Private. No refusals. In the app, or in the tools you already use.

Pay in crypto. No KYC.