SillyTavern Setup with AnonRouter
Connect SillyTavern to AnonRouter as a custom OpenAI-compatible Chat Completion API, load models, test the connection, and fix common errors.
Use AnonRouter as SillyTavern's Custom (OpenAI-compatible) Chat Completion source. SillyTavern assembles your character, persona, chat history, and other enabled prompt material, then sends the resulting messages through AnonRouter to the model you select.
The short version
In SillyTavern, open API Connections, choose Chat Completion and
Custom (OpenAI-compatible), set the endpoint to
https://api.anonrouter.ai/v1, paste a compatibility-enabled AnonRouter key,
connect, select a model, and run Test Message.
SillyTavern connection settings
Use these values in SillyTavern's API Connections panel:
| SillyTavern setting | Value |
|---|---|
| API | Chat Completion |
| Chat Completion Source | Custom (OpenAI-compatible) |
| Custom endpoint / API URL | https://api.anonrouter.ai/v1 |
| API key | A compatibility-enabled AnonRouter inference key beginning with ar_ |
| Model | An exact id from the loaded model list, or /auto |
| Prompt Post-Processing | None to start |
| Bypass API status check | Off unless SillyTavern warns even though requests work |
Enter the base URL, not the request path
Use https://api.anonrouter.ai/v1. Do not enter
https://api.anonrouter.ai/v1/chat/completions; SillyTavern adds the Chat
Completions path itself. This matches SillyTavern's official guidance for
custom OpenAI-compatible endpoints.
Before you begin
You need:
- A working SillyTavern installation.
- An AnonRouter account with available credits.
- An AnonRouter inference key with OpenAI-compatible access enabled.
- A chat-capable model from the AnonRouter model catalog,
or AnonRouter's
/autoroute.
Create or edit the inference key in your AnonRouter dashboard and enable OpenAI-compatible access. SillyTavern sends a conventional bearer key and cannot perform AnonRouter's private single-use ticket handshake itself.
Create an API keyProtect the saved key
SillyTavern saves API keys in the user's secrets.json file and hides them in
the interface after refresh by default. Protect the SillyTavern server and its
data directory; hiding a key in the UI does not encrypt it on disk.
Connect AnonRouter in SillyTavern
- Start SillyTavern and open its web interface.
- Select API Connections in the top bar.
- Set API to Chat Completion.
- Set Chat Completion Source to Custom (OpenAI-compatible).
- Enter
https://api.anonrouter.ai/v1in the custom endpoint field. - Paste your compatibility-enabled AnonRouter inference key into the API key field.
- Leave Additional Parameters and custom headers empty for the first test.
- Select Connect. AnonRouter supports authenticated
GET /v1/models, so SillyTavern should use the response to populate its custom model list. - Choose a model id, then select Test Message.
- Select a character and send a normal chat message.
SillyTavern's official custom-endpoint documentation recommends Test Message as the connectivity check. A successful status check only confirms that the endpoint and credentials work; the test message also confirms that the selected model can generate a response.
Choose a model
After connecting, select an exact model id from the list returned by
GET /v1/models. Model ids are case-sensitive. Availability and ids can change,
so use the live model catalog rather than typing
a display name from memory.
Use intelligent routing
Enter /auto in SillyTavern's custom Model ID field to let AnonRouter choose an
eligible route for each request. SillyTavern still sends one model id;
AnonRouter performs the route selection behind the API.
Use a specific model
Choose a specific id when you want chats to stay on one model. For example:
venice/venice-role-play-uncensoredCheck the model's current context window, pricing, capabilities, moderation
label, and privacy label before using it. The direct catalog page for this
example is
venice/venice-role-play-uncensored.
Find uncensored models
Use AnonRouter's moderation filter to review current uncensored routes:
Browse uncensored models on AnonRouter
An uncensored label describes the route's model-level moderation behavior. It does not make every output accurate or safe, and it does not override SillyTavern settings or the selected provider's documented limitations.
Save several model configurations
SillyTavern 1.12.6 and later includes Connection Profiles in the API Connections menu. A profile can save the API type, model, server URL, secret key selection, settings preset, and Chat Completion post-processing selection. Create a separate profile for each model you use frequently, then switch profiles instead of re-entering the endpoint and model.
After changing a saved profile, use its Update action. SillyTavern's official documentation notes that switching away without updating can discard unsaved profile changes.
How the request flows
- SillyTavern builds the prompt. It combines enabled character data, persona information, chat history, lorebook or World Info entries, author's notes, and other prompt settings into Chat Completion messages.
- SillyTavern calls AnonRouter. Using the
/v1base URL, it sends the request toPOST /v1/chat/completionswith your bearer key and selected model id. - Compatibility mode authenticates the request. AnonRouter's compatibility broker validates the static key, creates an internal single-use ticket, and forwards the request through the normal inference path.
- The selected provider generates the reply. The response is returned to SillyTavern, either as one response or as a stream, and SillyTavern renders it in the character chat.
This is a Chat Completion integration. AnonRouter does not expose the legacy
POST /v1/completions endpoint, so SillyTavern's Text Completion API mode is
not the correct choice for this setup.
Recommended request settings
Start with a simple text-chat configuration, verify it, and then change one setting at a time.
| Setting | Recommendation |
|---|---|
| Streaming | Supported; enable it if you want tokens to appear as they arrive |
| Prompt Post-Processing | Start with None; try Merge consecutive messages only if a selected route reports a role-ordering problem |
| Additional body parameters | Leave blank initially; unsupported or misspelled fields can cause a 400 response |
Number of responses (n) | Keep at 1; AnonRouter does not support n > 1 |
| Context and output limits | Keep them within the selected model's advertised limits |
| Inline images or multimodal content | Do not use them in this integration; AnonRouter currently requires string message content |
If you add custom body parameters later, use SillyTavern's documented YAML
format and verify each field against AnonRouter compatibility mode.
Do not add another Authorization header; the API key field already supplies
the bearer credential.
Privacy and key storage
This setup uses AnonRouter compatibility mode. Unlike the default private ticket flow, the compatibility broker briefly receives your API-key identity and plaintext request together in memory. The flow is therefore not unlinkable, even though AnonRouter does not intentionally retain prompts or responses.
SillyTavern constructs the request on the SillyTavern server. The request can include character definitions, your persona, recent chat history, World Info, author's notes, and your new message. AnonRouter and the selected model provider receive the content included in that request. Review the route's privacy label before sending sensitive information.
SillyTavern's official FAQ says saved keys live in the per-user
secrets.json file; the default path is data/default-user/secrets.json.
Anyone who can read that server filesystem may be able to access the key. Keep
SillyTavern updated, restrict access to the server, and never publish that file
or include a live key in screenshots or support logs.
AnonRouter is an independent service and is not affiliated with SillyTavern.
Troubleshooting SillyTavern connection errors
401 authentication error
The key is missing, malformed, revoked, or includes extra whitespace. Paste the
complete inference key beginning with ar_, or create a replacement key if the
original secret is no longer available.
403 compatibility error
The inference key does not have OpenAI-compatible access enabled. Turn on that permission for the key in the AnonRouter dashboard or create a new key with the option enabled.
404 or invalid endpoint URL
Use exactly:
https://api.anonrouter.ai/v1Do not add /chat/completions. SillyTavern appends the endpoint path.
The model list is empty
Confirm the endpoint, key, and compatibility permission, then select
Connect again. AnonRouter supports GET /v1/models, but that endpoint still
requires a valid bearer key. If the connection works and only SillyTavern's
status warning remains, its official documentation says Bypass API status
check can suppress that warning; bypassing does not repair bad credentials.
Model not found
Reconnect to refresh the model list, select a current exact id, or enter
/auto. Do not use a catalog display name as the model id.
Test Message works, but a character chat fails
The full character request is larger and can include more features than the test. Reduce the context size, remove image attachments, keep the response count at one, and clear custom body parameters. SillyTavern's terminal shows the request-processing error, but review it carefully before sharing because logs can reveal prompt content.
400 invalid request error
Return Additional Parameters to blank and test a plain text chat. AnonRouter rejects unsupported request shapes, including multimodal message arrays and multiple requested responses.
Rate limit or insufficient credits
Check the AnonRouter usage dashboard and balance. You can retry later, choose a
different model, or switch to /auto after confirming the account has credits.
SillyTavern setup FAQ
What URL should I use for AnonRouter in SillyTavern?
Use https://api.anonrouter.ai/v1 as the custom OpenAI-compatible endpoint.
Do not include /chat/completions.
Which SillyTavern API type should I select?
Select Chat Completion, then Custom (OpenAI-compatible) as the source. Do not select Text Completion because AnonRouter does not implement the legacy Completions endpoint.
Can SillyTavern use AnonRouter's /auto model?
Yes. Enter /auto as the custom model id. AnonRouter selects the route while
SillyTavern continues to treat it as one configured model.
Can I configure several AnonRouter models?
Yes. Select models individually, or create a SillyTavern Connection Profile for each model and switch between the saved profiles.
Can I use a normal AnonRouter inference key?
Only when OpenAI-compatible access is enabled on that key. SillyTavern cannot perform AnonRouter's private ticket handshake.
Does Bypass API status check bypass AnonRouter authentication?
No. It only suppresses SillyTavern's status warning. AnonRouter still validates the bearer key and its compatibility permission on every request.
Sources and further reading
This guide was checked against SillyTavern's official documentation and current release source:
Janitor AI Proxy Setup with AnonRouter
Connect Janitor AI to AnonRouter with an importable JSON proxy configuration, the correct API URL, model settings, and troubleshooting steps.
Open WebUI Setup with AnonRouter
Connect Open WebUI to AnonRouter, discover models, run the Docker image with a preset connection, and understand the privacy boundary for RAG.