Affiliate disclosure: this page contains affiliate links. We earn a commission when you sign up through our links, at no extra cost to you. Our editorial opinions are never paid for. Adult content 18+.
SillyTavern without extensions is a competent chat client and nothing more. The base program talks to whatever model you connect, stores character cards and keeps your chat history — but everything people actually remember about it (voice, images, character expressions, translation, web search) lives in the extensions panel. That panel is also where the wasted evenings pile up.
The official documentation lists nine built-in extensions that need no installation and a catalogue of more than thirty installable ones across the project repo and third-party GitHub repos. Nobody needs thirty. Four or five well chosen change the experience; fifteen leave you with a slower chat, updates that break card formats and an API bill you did not plan for.
Here is the honest selection: the nine built-ins and what each one is for, the eleven installables that add something real, the three install routes, and the four places this breaks silently. If you are coming from a hosted app and just want to talk to a character tonight, the time-cost comparison at the end is the part you need.
What counts as an extension (and what does not)
An extension is a JavaScript module loaded inside the interface that adds a feature: a voice provider, an image generator, a translator, a token counter. You enable and disable them from the Extensions panel in the top bar, and some need a separate server as well (local TTS, ComfyUI, a search backend).
What matters is telling three families apart, because they behave very differently:
| Family | Where it lives | Needs Git? | Risk | Updates itself? |
|---|---|---|---|---|
| Built-in (9) | Already in the program | No | Minimal | With the SillyTavern branch |
| Official catalogue | Downloaded from the panel | Yes | Low (project repos) | Notification if you enable it |
| Third-party by URL | Any GitHub repo | Yes | High (runs code) | Depends on the author, usually no |
The extensions panel in three clicks
Open Extensions in the top bar and you get four blocks: Manage extensions (enable, disable, update), Download Extensions & Assets (press Load Asset List, then Download), Notify on extension updates, and Install extension (paste a Git repo URL, with an optional branch and a per-user target in multi-user setups).
Extras is dead, and half the internet still tells you to install it
The Extras project was discontinued in April 2024. You do not need it to use extensions, and if you follow a 2023 tutorial you will end up installing a whole Python server for nothing. The docs say it plainly: “Extensions are not Extras”. If a step asks you to set up the Extras API, that tutorial is dead.
The three install routes (and which one will cost you an evening)
There is no single way to install. There are three, and the one you pick decides how much terminal time you spend.
Route 1: switch on what is already there
Zero installation. Open the panel, enable the extension, configure your key or server, done. That covers the nine built-ins and it is where you should always start.
Route 2: the official catalogue (you need Git)
Downloading from the catalogue requires Git to be installed. Not optional: the panel clones repositories. On Windows it is a five-minute installer; on Linux it is usually already there. Then: Download Extensions & Assets → Load Asset List → Download on the one you want, and the Link button opens the repo so you can read what it does before installing.
Route 3: a third-party URL (this is where the risk is)
Install extension → paste the repo URL → optionally a branch → it downloads and loads itself. The docs warn that “using third-party extensions can have unintended side effects and may pose security risks”. That is not boilerplate: an extension runs with the same permissions as the interface, and the interface holds your API keys and your chat history.
The nine built-ins: which to enable first
All nine ship with the program and cost nothing. The temptation is to enable everything on day one; the order that works is different.
| Extension | What it does | Cost | When to enable |
|---|---|---|---|
| Chat Translation | Translates messages, inputs or both | Free with Google/DeepL or others | You write one language, the character answers in another |
| Summarize | Automatic chat history summary | Model tokens | Always: the cheapest memory |
| Chat Vectorization | RAG over older chat messages | Embeddings | Long chats, if you accept losing prompt cache |
| Text To Speech | Voice narration of messages | Provider-dependent | Once your backend is chosen |
| Image Generation | Images via SD, FLUX or DALL·E | Source-dependent | If you generate regularly |
| Expression Images | Character sprites next to the chat | Free (you supply images) | Characters with an expression set |
| Image Captioning | Describes images so the model can “see” | Tokens | Multimodal models |
| Quick Reply | Reply buttons and STscript commands | Free | If you repeat commands |
| Token Counter | Counts tokens in text | Free | To control spend |
Translation: chat in your language without breaking the roleplay
The translation extension has five entry points: the Translate Chat button (whole history), Translate Input (just what you are about to send), the translate icon in each message’s action bar, auto-mode (responses, inputs or both) and the /translate command. The least immersion-breaking setup is translating responses only and leaving your inputs in the original language: the model keeps its context and you read in yours.
Summarize: the cheap memory that actually works
Automatic summarisation does one specific thing: it condenses old messages and puts that summary into the prompt. It is compression, not infinite memory. Even so it beats upgrading to a bigger model, and it costs a fraction of what a larger context window costs.
Vectorization: RAG over your own chat (and its conflict with caching)
Chat Vectorization searches your history for messages similar to the one you just wrote and moves them to the start or end of the context, where they carry the most weight. It is real retrieval, not magic: the docs warn that “the use of this extension does not guarantee a better chatting experience or improved memory of any sort”.
There is a detail almost nobody reads that decides your bill: it breaks prompt caching. Every time it reshuffles the context, the prompt prefix changes and the provider bills it like a fresh request. The docs put it bluntly: “you have to choose one or the other, but not both”. On a backend with prompt caching, vectorization can cost more than the problem it solves.
Token Counter: the one that prevents weird bills
It converts text into tokens and counts them. Two very practical uses: finding out whether your character card is bloated, and understanding why a “normal” conversation eats what it eats. It is the least fun extension and the one that saves the most money.
Voice: choosing a TTS provider without overpaying
TTS has the most providers of any extension and generates the most frustration, because “it makes no sound” is almost always a configuration problem rather than a quality one.
| Provider | Runs on | Cost | Note |
|---|---|---|---|
| System | Your OS | Free | Quality varies wildly by OS |
| Google Translate | Google cloud | Free | One voice per language, uneven |
| Edge | Microsoft cloud | Free | Edge voices; needs the server plugin |
| Kokoro | Your browser (WebGPU) | Free | Local model in the browser; WebGPU required |
| Pollinations | Cloud | Free with limits | OpenAI-style voices, rate limited |
| AllTalk | Your machine | Free, open source | Separate install, several engines |
| XTTS | Your own server | Free | Voice cloning, dedicated server required |
| Silero | Your machine | Free | Needs its own API server |
| ElevenLabs | Cloud | Subscription | The best quality of the lot |
| OpenAI / Gemini / Azure / MiniMax | Cloud | Paid API | Good voices, pay per use |
| NovelAI | Cloud | Subscription | Only if you already pay for NovelAI |
The voice map is mandatory (that is why yours is silent)
This is mistake number one: install TTS, enable it, type, nothing happens. SillyTavern needs a voice map — which voice belongs to which character and to each of your personas. You set it by opening a chat with the character, picking a voice from the dropdown and assigning it. If the voice list is empty, the provider is misconfigured and you need to press Refresh after fixing it. Some providers, like OpenAI-compatible ones or NovelAI, require you to populate the voice list by hand.
The two checkboxes that stop it reading stage directions
Two checkboxes change the result entirely: Only narrate “quotes” restricts playback to text inside quotation marks, and Ignore *text, even “quotes”, inside asterisks* skips anything between asterisks, quotes included. With both on, only dialogue outside asterisks gets read — exactly what you want in roleplay. With Auto Generation on, playback starts by itself on each new message.
Images: local, cloud, or nothing at all
The image generation extension supports local and cloud sources, and the cost gap between them is enormous: one you pay in hardware and electricity, the other per image.
| Source | Type | Cost | Note |
|---|---|---|---|
| ComfyUI | Local | Free (GPL3) | Most flexible; separate install |
| Draw Things | Local (Mac/iOS) | Free | The easy Apple route |
| HuggingFace Serverless | Cloud | Free | Usage limits |
| NovelAI Diffusion | Cloud | Subscription | If you already have NovelAI |
| FAL.AI / Black Forest Labs / NanoGPT / Chutes | Cloud | Pay per use | Recent models, variable cost |
| Google AI Studio / Vertex (Imagen) | Cloud | Paid | Good quality, Google API |
| Cloudflare Workers AI | Cloud | Paid | Several vision-capable models |
| AI/ML API / Electron Hub | Cloud | Paid | Gateway with several sources |
The real cost of twenty images a day
Do the maths before you enable automatic generation. Twenty images a day is 600 a month. Locally that is GPU time and electricity; in the cloud it is a bill per image, and with automatic generation on you do not generate one — you generate one per reply, whether you wanted it or not. If your provider charges per use, start with manual generation from the wand menu or /sd, and decide later.
Swipes and the gallery: what makes the output usable
Two features separate a demo from real use: image swipes, which regenerate while keeping the prompt, and the character gallery, where every generated image accumulates. Without the first you end up rewriting prompts; without the second, images vanish into the history. Both ship with the extension, nothing extra to install.
Web search: when the character needs real-world facts
The web search extension adds search results to the prompt. Useful when the character has to talk about something current, and completely expendable for pure fantasy roleplay.
Available sources: SerpApi, Tavily, SearXNG (self-hosted or public), Serper, Z.AI, the project’s Selenium plugin and KoboldCpp from version 1.81.1 with the module enabled. Almost all paid ones need an API key; SearXNG is the free route if you have somewhere to run it.
Only user messages trigger the search
A money-saving detail: search fires on your messages, not the character’s. To force a specific query, wrap the text in backticks and the extension uses that as the query. And if your backend already has built-in web search (Claude, Google AI Studio, OpenRouter and others do), this extension is redundant — check the Enable web search toggle in the AI response panel first.
The prompt budget is measured in characters, not tokens
The Prompt Budget field defaults to 1500 characters, not tokens. The documented rule of thumb is one token per three or four characters. Raise it blindly and search results eat your context until the character answers like a news digest. The default cache lifetime is one week.
Third-party add-ons that earn their place (and the ones that do not)
From the official catalogue and the community repos, these are the ones adding something the built-ins do not. The verdict is mine and arguable; the test is simple: does it change the chat, or just decorate it?
| Extension | What it adds | Effort / risk | Verdict |
|---|---|---|---|
| RVC | Real-time voice cloning on top of TTS | Medium, needs a voice model | Worth it if you use TTS daily |
| Speech Recognition | Dictate instead of typing | Low | Worth it on mobile and long sessions |
| Live2D | Animated 2D models with expressions | Medium, you need a model | Worth it if the character is the point |
| VRM | 3D models with expressions | High, VRAM and a model | Only if you come from the VTuber side |
| Dynamic Audio | Background music and ambience | Low | Good for immersion, not quick chats |
| Blip | Animates text with sound | Low | Cosmetic, you turn it off quickly |
| Timelines | Navigate the chat history | Low | Useful in chats of hundreds of messages |
| Variable Viewer | Inspect and edit chat variables | Low | Essential if you use STscript |
| Objective | An objective for the AI to pursue | Low | Curious, useful in long campaigns |
| WebLLM | Models in the browser | High (download) | Experimental |
| EmulatorJS | Retro games inside the chat | Low | A novelty, not a tool |
Security rule: installing by URL means running code
A third-party extension executes with the interface’s permissions, and the interface holds your API keys. The docs warn about it and disclaim responsibility. The practical rule: install only repos with public history, readable code and an identifiable author; check what permissions it asks for; and if the repo appeared last week with twenty stars, do not install it. There is no sandbox.
Updates: why an extension breaks a chat that worked
SillyTavern’s release branch is stable, but extensions are on their own schedule. A change to the card format or the prompt template can leave a chat answering strangely overnight. What works in the community: make a manual copy of the data folder before updating extensions, and update one at a time when something breaks, not all at once.
When it is not worth it: the real cost in hours
This is the part extension lists never tell you. Building the full ecosystem is not hard, it is long.
| Task | Realistic time | What you get |
|---|---|---|
| Install SillyTavern + Git + Node | 20-60 min | The base program running |
| Pick and connect a backend | 15-30 min | First chat |
| TTS: provider + voice map | 20-40 min | Voice on messages |
| Images: ComfyUI or an API | 30-90 min | Stable generation |
| Vectorization + embedding keys | 15-30 min | RAG, with cache broken |
| Web search + API key | 10-20 min | Current facts in the prompt |
Add it up: two to four hours to have it all, before the tweaks that show up in week two. If your case is “I want to talk to a character tonight”, that is the number that decides.
The hosted alternative, with nothing to install
A hosted app gives you chat, images and voice in one subscription, no Git and no voice map. On Candy AI the free plan includes roughly 30 messages a day, no NSFW and no tokens; annual Premium works out at $5.99/month and unlocks unlimited chat, images and voice, with separate token packs for heavy generation (1 token per photo, 1 per voice note). The full numbers are in the Candy AI pricing guide. It is not the same as SillyTavern on your own model — you do not choose the backend here — but it does not ask for an evening of setup either.
When the ecosystem does pay off
It pays off if you meet two conditions: you want to choose the model (local, no commercial filter, or a specific API) and you will use the chat consistently. In that case the three extensions that genuinely change the experience are automatic summarisation, TTS on a free provider and local image generation. Everything else is optional, and almost all of it can be switched off without losing anything.
If you have not installed the program yet, start with the SillyTavern guide: it covers installation, backends and the five real friction points. And if what you want is one specific character to talk to, read up on character cards and what to expect from chatting with AI characters first.
FAQ
Are SillyTavern extensions free?
The nine built-in ones are, yes. Most installables are free too, but some need a paid service behind them: ElevenLabs for voice, for instance, or a per-use image API. The program and the extensions are free; what costs money is the model and the external services you connect.
Do I need Git to install extensions?
Not for the built-in ones. For anything from the official catalogue or a third-party URL, yes: the panel clones repositories, so Git has to be installed on the machine. It is the requirement most people discover halfway through.
What happened to SillyTavern Extras?
It was discontinued in April 2024. You no longer need it to use extensions, and many older tutorials still tell you to install it; if a step forces you to set up the Extras API, that tutorial is obsolete. The current docs say it explicitly: extensions are not Extras.
Why is my TTS not playing any sound?
It is almost always the voice map. Enabling the extension is not enough: you have to assign a voice to each character and each persona from the dropdown in an open chat. If the list is empty, the provider is misconfigured and you need to press Refresh after fixing it. Also check that Enabled and, if you want automation, Auto Generation are on.
Can I run extensions on mobile with Termux?
Yes, with limits. Extensions that need their own server — ComfyUI, XTTS, AllTalk — want resources a phone does not have. In practice the light built-ins (translation, summarisation, token counter) and system TTS work fine on mobile; local image generation is where the phone gives up.
Are third-party extensions safe?
There is no sandbox: an extension runs with the interface’s permissions and can read your API keys and chat history. The docs warn about the risk and accept no responsibility. Install only repositories with history and an identifiable author, read the code if you can, and skip anything that appeared last week with suspiciously many stars.
Related articles: SillyTavern: what it is and how to use it · AI character cards explained · Chatting with AI characters · Best AI roleplay apps 2026 · AI chatbot with image generation · AI girlfriend with realistic photos · Candy AI pricing 2026 · What is a virtual girlfriend · Candy AI vs Replika