---
title: "SillyTavern integration"
description: "Settings for using SillyTavern with MiniRouter."
canonical_url: "https://minirouter.sh/docs/integrations/sillytavern"
markdown_url: "https://minirouter.sh/docs/integrations/sillytavern.md"
last_updated: "2026-09-26"
---

# SillyTavern

Chat with any MiniRouter model in SillyTavern.

[Get a key](https://minirouter.sh/key)

[SillyTavern](https://docs.sillytavern.app) is a self-hosted chat frontend for characters and roleplay. Its Custom (OpenAI-compatible) source runs on any chat model in the [catalog](https://minirouter.sh/models), or the curated [roleplay list](https://minirouter.sh/models/roleplay), from one balance. See [Roleplay](https://minirouter.sh/use/roleplay) for data handling and accountless keys.

> **Note:** Every turn re-sends the card, lore and history. Input is most of the bill, so compare input rates. See [Cost per message](https://minirouter.sh/guides/roleplay-cost-per-message).

## Quick start

### 1. Install SillyTavern

**macOS / Linux**

```sh
git clone https://github.com/SillyTavern/SillyTavern -b release
cd SillyTavern
./start.sh
```

**Windows**

```sh
git clone https://github.com/SillyTavern/SillyTavern -b release
```

Then double-click `Start.bat` in the new folder.

### 2. Create a key

[Create a key](https://minirouter.sh/key). Optionally test it before opening SillyTavern.

```sh
export MINIROUTER_KEY=mr-live-YOUR-KEY-HERE
curl https://api.minirouter.sh/v1/chat/completions \
  -H "Authorization: Bearer $MINIROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"zai/glm-5.3-flash","messages":[{"role":"user","content":"ping"}]}'
```

> **Tip:** Give SillyTavern its own key, so its spend shows separately in [Usage](https://minirouter.sh/dashboard/usage) and a limit stops only SillyTavern.

### 3. Connect

Open API Connections (the plug icon) and fill in:

| Setting | Value |
| --- | --- |
| `API` | Chat Completion |
| `Chat Completion Source` | Custom (OpenAI-compatible) |
| `Custom Endpoint (Base URL)` | `https://api.minirouter.sh/v1`. Use this exact base URL. Do not add /chat/completions; SillyTavern appends that path. |
| `Custom API Key` | `mr-live-… (your key)` |
| `Model ID` | `zai/glm-5.3-flash`. Press Connect first. The model list then populates from our catalog. |

> **Warning:** Never add `/chat/completions` to Custom Endpoint. SillyTavern appends it.

### 4. Send a message

Press Connect, pick the model, then Test Message. Open [Activity](https://minirouter.sh/dashboard/activity) to see the request, its tokens and exact cost.

## Switch models

Connect loads the catalog into Model ID. You can also type any ID, even one missing from the list.

| Model ID | Answers with |
| --- | --- |
| `minirouter/auto:roleplay` | A long-context, low-input-cost model [Auto](https://minirouter.sh/docs/auto-router) picks. |
| `@preset/your-slug` | Your saved [preset](https://minirouter.sh/docs/presets), with up to three models as [fallbacks](https://minirouter.sh/docs/model-fallbacks). |

> **Note:** SillyTavern sends its own system prompt, which replaces a preset's saved instructions. Use presets for models and fallbacks. Create one in [Presets](https://minirouter.sh/dashboard/presets).

## Save connection profiles

A profile stores the API type, server URL, key and model. Save one per model, then switch with a slash command.

| Command | Does |
| --- | --- |
| `/profile-create GLM` | Saves the current connection as GLM. |
| `/profile GLM` | Switches to it. |
| `/profile-list` | Lists your profiles. |

## Size each turn

These settings shape every turn:

| Setting | Does |
| --- | --- |
| Context (tokens) | Most SillyTavern sends as the prompt. Lower it to cut input cost. |
| Response (tokens) | Most the model writes back. |
| Streaming | Shows the reply as it arrives. See [Streaming](https://minirouter.sh/docs/streaming). |

Keep Context below the window on the model's page in [Models](https://minirouter.sh/models). A prompt over the window fails with [`context_too_long`](https://minirouter.sh/docs/errors#context_too_long).

## Keep spend in check

- [Own key](https://minirouter.sh/dashboard/keys): One key for SillyTavern.
- [Spend cap](https://minirouter.sh/docs/rate-limits): Daily or monthly limit on that key.
- [Activity](https://minirouter.sh/dashboard/activity): Every request and its cost.

Every swipe and regenerate is a new, billed request.

## Recommended models

| Model | Why |
| --- | --- |
| [`zai/glm-5.3-flash`](https://minirouter.sh/models/zai/glm-5.3-flash) | Best current intelligence/input-cost balance with a 1M-token window. |
| [`openai/gpt-5.6-luna`](https://minirouter.sh/models/openai/gpt-5.6-luna) | High-intelligence alternative with a 1.05M-token window. |
| [`deepseek/deepseek-v4-flash-0731`](https://minirouter.sh/models/deepseek/deepseek-v4-flash-0731) | Lowest input rate on this list for repeatedly sent chat history. |
| [`google/gemini-3.8-flash`](https://minirouter.sh/models/google/gemini-3.8-flash) | Higher-cost multimodal alternative with a 1M-token window. |

Browse every model in the [catalog](https://minirouter.sh/models).

## Troubleshooting

### Connect succeeds but the model list is empty

Check that the endpoint is exactly https://api.minirouter.sh/v1. Remove any /chat/completions suffix.

### 404, HTML, or a parse error on every request

Almost always the base URL. Use https://api.minirouter.sh/v1 — the bare host without /v1 also works, but never append /chat/completions to the base URL field; the client adds that path itself.

Error: [400 `invalid_request`](https://minirouter.sh/docs/errors#invalid_request).

### 401 on every request

Wrong or rotated key. Keys start with mr-live-; after a rotation the old key keeps working for 24 hours, then dies.

Error: [401 `invalid_api_key`](https://minirouter.sh/docs/errors#invalid_api_key).

### Response stops mid-sentence with a credits message

Balance hit $0 mid-stream. The stream ends with a terminal error naming the exact charge for tokens delivered — never a silent close.

Error: [402 `insufficient_credits`](https://minirouter.sh/docs/errors#insufficient_credits).

Every error code, with its fix: [Errors](https://minirouter.sh/docs/errors).

## Next steps

- [Roleplay](https://minirouter.sh/use/roleplay): Models, privacy and accountless use.
- [Cost per message](https://minirouter.sh/guides/roleplay-cost-per-message): What a long chat costs.
- [Presets](https://minirouter.sh/docs/presets): Save a model and its settings under one name.
