SillyTavern memory and context costs: what actually gets billed

Updated 2026-07-15

SillyTavern resends the character card, any triggered World Info entries, the Author's Note, and as much chat history as fits inside your Context Size setting on every single message. Only the Summarize extension or a vectorized Data Bank actually removes tokens from that resend, everything else just piles up. That makes the Context Size slider a direct price control, not only a memory setting.

Quick answer: your Context Size setting is a price setting

Every message in SillyTavern rebuilds the full prompt from scratch: persona and system instructions, the character card, any World Info entries whose keywords matched recent messages, the Author's Note, then as much raw chat history as fits before the ceiling, then your new line. Nothing sitting in a settings panel is free just because it is not visible in the chat window. It gets sent, and billed, again on the very next turn. Two sliders set that ceiling. Context Size is the total window; Response Length is the slice reserved for the reply. Once a chat runs long enough to fill the window, SillyTavern drops the oldest surviving history to make room, but everything that stays still gets resent in full on the next message. Two otherwise identical chats, one at a 4K Context Size and one at 16K, can differ in per-message cost by three to four times, from that setting alone, with the same card and the same World Info. The rest of this page works through exactly what gets assembled, what a real chat costs at four common Context Size settings, why the bill jumps without you touching a setting, and which memory strategy actually reduces what gets resent instead of just moving it around.

How SillyTavern assembles what it sends

Context Size and Response Length are not additive from your side, they compete for the same budget. SillyTavern treats Context Size as the full window and Response Length as tokens carved out for the reply, so the real prompt budget is Context Size minus Response Length. Push Response Length up for longer replies and the same Context Size setting leaves less room for the card, World Info, and history, which pushes history trimming to happen sooner rather than later. A model's own context window is the hard ceiling on top of that. The catalog lists context windows from around 200K tokens up to 1M depending on the model, so Context Size settings in the low tens of thousands sit well inside any of them; the practical constraint is your budget, not the model's limit.

  • Persona and system instructions: your persona description plus any global system prompt, resent on every call no matter how long the chat has run.
  • Character card: description, personality, scenario, and example dialogues. A simple card runs a few hundred tokens; a detailed one with several example exchanges can run close to a thousand.
  • World Info (lorebook) entries: only entries whose trigger keywords appear in recent messages get inserted, and only up to a budget cap, commonly set as a percentage of Context Size. A chat that stays on one topic can go a long time without pulling extra lore, then jump the moment a new keyword fires.
  • Author's Note: reinserted at a configurable depth, meaning every message or every few messages depending on that setting, whether or not the current scene actually needs the reminder.
  • Chat history: filled backward from the newest message until the remaining budget runs out, at which point the oldest surviving turns get dropped first, silently, with no warning in the chat itself.
  • Your new message: added last, on top of everything above.

Worked example: the same chat at four Context Size settings

Model it directly instead of guessing. Assume a Response Length of 300 tokens reserved for the reply, and a chat old enough that history has grown to fill the window, which is the steady state most active chats reach. The prompt token count is then Context Size minus that 300-token reserve. The table below prices that prompt, plus the 300-token reply, at current catalog rates across three models spanning the price range, shown per 100 messages so the differences are readable instead of fractions of a cent.

Assumes a 300-token Response Length and a chat old enough that history fills the window. Early messages in a fresh chat cost less than this ceiling; long-running chats settle near it.
Context SizePrompt tokens once fulldeepseek-v4-flash / 100 msgsglm-5 / 100 msgsclaude-sonnet-4-6 / 100 msgs
4K (4,096)~3.8K$0.06$0.26$1.27
8K (8,192)~7.9K$0.11$0.48$2.25
16K (16,384)~16.1K$0.21$0.90$4.22
32K (32,768)~32.5K$0.42$1.74$8.15

Why the bill creeps up without any settings change

Nothing here is a bug. Each mechanism is the tool doing exactly what its settings say, which is why the growth is invisible until you look at per-message token counts.

  • Chat history grows toward the Context Size ceiling as a conversation continues, so message five and message five hundred of the same chat cost noticeably different amounts even though nothing was changed.
  • World Info entries add tokens only when their trigger keywords show up in recent messages, so a scene that suddenly mentions a lorebook keyword can jump in size mid-conversation.
  • The Author's Note is resent every message, or every few messages depending on the depth setting, whether the scene needs the reminder or not, quietly taxing every turn regardless of content.
  • Importing a shared preset or character card can silently raise Context Size toward a model's full window, a value most people never look at after import.
  • "Token limit exceeded" errors or replies that cut off mid-sentence usually mean the card, World Info, and Author's Note together left less room than the model needs for the reserved Response Length, not a fault in the model itself.
  • Turning on the Summarize extension adds an extra billed call per summary pass, even though its purpose is to cut cost later; the saving shows up over the life of a long chat, not on the message where it runs.

Comparison: three ways SillyTavern manages memory

Raw chat history is the default and needs no setup, but it is also the only one of the three where cost keeps climbing purely because the conversation keeps going. The other two exist specifically to cap what gets resent once a chat outgrows a comfortable Context Size.

Pick based on how long a given chat is meant to live, not as a one-time global setting.
StrategyHow it worksTokens resent per messageTrade-off
Raw chat history (default)Fills backward from the newest message until Context Size is reachedGrows toward the full window as the chat gets longer, then plateausZero setup; cost keeps rising until the ceiling is hit
Summarize extensionPeriodically calls a model to compress older turns into a short summary that replaces raw history beyond a cutoffRoughly flat once summaries take over, plus one extra billed call per summary passFrees room for Response Length and lore; adds recurring summary calls
Vectorized / Data Bank memoryCharacter lore and older turns are embedded; only chunks matching the current message get retrieved and injectedLow, and largely independent of total chat lengthBest for chats meant to run for months; needs more setup and an embeddings-capable connection

Practical fixes: lower the bill without losing memory

You can apply these independently; each one trims a different part of the context window.

  • Cap Context Size to what the scene actually needs. 8K covers most one-on-one chats comfortably; save 16K or 32K for group chats and long-running campaigns that genuinely need deep recall.
  • Trim World Info trigger keywords. Broad or generic keywords fire more often than intended and stack unrelated lore entries into the prompt on turns that did not need them.
  • Keep the Author's Note short, and set its depth so it is not reinserted on every single turn if the card does not need constant reinforcement.
  • Turn on the Summarize extension once a long-running chat regularly hits its Context Size ceiling; the recurring summary call is cheaper than resending an ever-growing raw log forever.
  • Move genuinely long-running chats to vectorized or Data Bank memory, since retrieval keeps the resent chunk small no matter how much lore and history has piled up behind it.
  • Run a budget model as the daily driver for routine turns and save premium models for scenes you actually care about. Routing through an OpenAI-compatible gateway like APIsRouter keeps the same Context Size and World Info settings while lowering the per-token rate itself.

Reading and testing your own context budget

SillyTavern shows a live token counter under the message box that already totals persona, card, World Info, Author's Note, and history before you send. Match your Context Size to that number plus Response Length, not to whatever the model's absolute maximum happens to be. The snippet below turns the same math from the table above into a quick calculator you can rerun with your own Context Size and Response Length values.

context_size       = 16384   # SillyTavern "Context Size" slider
response_length    = 300     # SillyTavern "Response Length" slider
available_for_prompt = context_size - response_length   # 16084

world_info_budget_percent = 25   # example cap; entries only load if a keyword matched
author_note_depth         = 4    # reinserted every N messages

FAQ

Does raising SillyTavern's Context Size cost more money?

Yes, directly. A larger Context Size lets more chat history, World Info, and card content survive into every prompt, and all of it is resent and billed again on the next message. Doubling Context Size roughly doubles the input tokens billed once a chat has grown long enough to fill the window.

What is SillyTavern's Author's Note, and does it cost tokens?

It is a note reinserted into the prompt at a depth you configure, meaning every message or every few messages. It counts as ordinary input tokens on every turn it appears in, whether or not the current scene needs the reminder, so a long Author's Note left on every-message depth is a recurring charge.

Does the Summarize extension actually save money?

Over a long chat, usually yes, because it stops raw history from growing without bound and replaces it with a short summary. It is not free itself: each summary pass is an extra billed API call. Short chats that never hit the Context Size ceiling will not see a net saving from it.

Why did my SillyTavern chat suddenly get more expensive with no settings changed?

Chat history grows toward the Context Size ceiling as a conversation continues, so later messages in the same chat cost more than early ones by default. A newly triggered World Info entry can also add tokens mid-scene the moment its keyword shows up in a message.

Does vectorized or Data Bank memory reduce token cost?

Yes, for chats meant to run a long time. Instead of resending growing raw history, it retrieves only the chunks relevant to the current message, so the resent token count stays roughly flat regardless of how much lore and history has accumulated. It takes more setup than the default raw-history mode.

What is the cheapest way to run long SillyTavern chats?

Cap Context Size to what the scene needs, keep World Info keywords and the Author's Note tight, and add the Summarize extension or vectorized memory once a chat regularly hits its ceiling. On the model side, a pay-as-you-go OpenAI-compatible gateway like APIsRouter prices budget models such as deepseek-v4-flash at a fraction of a cent per message, with no subscription and a first top-up that adds a matching balance bonus.