SillyTavern and Janitor AI
Swan Inference is an OpenAI-compatible API, so any frontend that can point at a custom OpenAI endpoint works — including the two most common roleplay clients. You bring your own key and pay per token; there is no separate subscription for either app.
What you need first
An API key from inference.swanchain.io → API Keys (
sk-swan-…).Credit on the account, or an active Token Plan. See pricing.
A model ID. Browse the model catalog, or list what is servable right now:
curl "https://api.swanchain.io/v1/models?available=true"Popular choices for character chat include BruhzWater/Sapphira-L3.3-70b-0.1, Steelskull/L3.3-MS-Nevoria-70b, and TheDrummer/Cydonia-24B-v4.3. Copy the id exactly — it is case-sensitive and contains a slash.
SillyTavern
SillyTavern runs on your own machine and talks to Swan from its local server.
Open the API Connections panel (the plug icon).
API:
Chat Completion.Chat Completion Source:
Custom (OpenAI-compatible).Custom Endpoint (Base URL):
https://api.swanchain.io/v1Include
/v1, and nothing after it — SillyTavern appends/chat/completionsitself.Custom API Key: your
sk-swan-…key.Click Connect. The Available Models dropdown fills from the catalog; pick your model.
If the dropdown stays empty, the base URL is usually the culprit — a trailing /chat/completions or a missing /v1 both produce exactly that symptom.
Settings that matter
Context size: set it to the model's window, not above. Each model page lists a guaranteed context (the smallest window across online providers) and a maximum. Sizing to the guaranteed figure means any provider can serve you; going above it means only some can.
Streaming: supported — leave it on for token-by-token output.
Temperature, top_p, frequency/presence penalty, and stop sequences are all passed through to the provider.
Janitor AI
Janitor AI runs in your browser and calls the API directly from it, using its proxy configuration.
Open any character, then API Settings (or the ⚙ icon in chat).
Choose the Proxy / custom-API option.
Proxy URL — Janitor wants the full completions URL, unlike SillyTavern:
API Key: your
sk-swan-…key.Model: type the model ID exactly, e.g.
TheDrummer/Cydonia-24B-v4.3. Janitor does not fetch the catalog for you.Save, then send a test message.
Troubleshooting
401 / "invalid API key"
Key is missing, mistyped, or revoked. Keys start sk-swan-.
402 / "insufficient balance"
No credit. Top up, or check whether your Token Plan covers this model — plans do not cover requests that name a specific provider.
404 / "model does not exist"
Model ID wrong. It is case-sensitive and includes the org prefix (TheDrummer/Cydonia-24B-v4.3, not Cydonia-24B-v4.3).
429
Rate limit. Wait for the window in the Retry-After header.
503 / "no providers"
No provider is currently serving that model. Check ?available=true and pick another.
Empty model list in SillyTavern
Base URL should end at /v1 — no /chat/completions.
Replies cut off mid-sentence
Response-length setting is low, or context + response exceeds the model's window.
Which model?
Every model's page on inference.swanchain.io/models shows its price per million tokens, its context window and where that figure comes from, and which providers are serving it right now. Prices are set per model — whichever provider ends up serving your request, you pay the same, so a busy model failing over to a second provider never costs more.
Last updated