Skip to main content
SillyTavern · NSFW roleplay API

An uncensored SillyTavern API, with pictures and video

SillyTavern never filters your stories; the model behind it does. Connect it to SpicyAPI and you get 19 unrestricted chat models that take SillyTavern's default settings without errors, plus a free extension that turns a scene into a picture or a short clip, priced before it runs.

A SillyTavern chat with Juno Vale, a starship navigator character, and a wide picture of her on the bridge that the SpicyAPI extension generated and added to the chat
A real run on SillyTavern 1.19.0: the chat model wrote the prompt, and the picture cost $0.01.
Uncensored chat models
19
Chat from
$0.425per 1M output tokens
Pictures from
$0.006per image
Video from
$0.0112per second

The short answer

Three facts cover most of what people ask before they connect SillyTavern to an API.

SillyTavern itself has no filter

It is a front end: it sends your character card and the chat to whichever API you connect. Refusals and toned-down replies come from the model behind that API, so choosing the model is the real decision.

19 unrestricted chat models

Their policy tier is unrestricted, so the model adds no refusal layer of its own, and each one has a published Freedom score from the same content tests. They connect through SillyTavern's own Custom (OpenAI-compatible) source.

The same key makes pictures and video

SillyTavern's built-in image generation cannot be pointed at an OpenAI-compatible picture API. The free SpicyAPI extension fills that gap with /spicy-img, /spicy-video and an Animate button on every picture in the chat.

Why SpicyAPI works well with SillyTavern

The things that usually go wrong with a custom endpoint, and what happens here instead.

  • No 400 errors from your sliders

    SillyTavern sends temperature, top P and the frequency and presence penalties with every message. When a model does not use one of them, SpicyAPI skips it instead of rejecting the message and names it in the X-Spicy-Ignored-Params header; a value outside the model's range is set to its limit instead. Your presets keep working on every model.

  • Thinking stays out of the reply

    Reasoning models send their thinking separately, so SillyTavern folds it into its collapsible thinking block and the reply itself stays in character.

  • Callable from the browser

    The API answers cross-origin requests, so extensions that call it straight from your browser work without turning on SillyTavern's CORS proxy.

  • Freedom scores, not guesses

    Every chat model carries a content policy tier and a Freedom score from the same standard tests, so you know how far a model goes before you spend anything.

  • Pay per token, in dollars

    No subscription. You pay per token from a prepaid US dollar balance, each model page lists its input and output price, and a key can have a daily spending cap.

  • Results stay on your machine

    The extension saves pictures and videos in SillyTavern's own image folder and hides them from the AI by default, so a text-only model is never sent a picture it cannot read.

Connect SillyTavern in three steps

Checked with SillyTavern 1.19.0. Steps one and two are all you need for chat; step three adds pictures and video.

  1. 1

    Point SillyTavern at SpicyAPI

    Create a key in your console, ideally a separate one with a daily spending cap. In SillyTavern, open API Connections, set API to Chat Completion and Chat Completion Source to Custom (OpenAI-compatible). Enter the endpoint below with no trailing slash, paste the key and press Connect.

    Endpoint
    https://api.spicyapi.ai/v1
    SillyTavern API Connections set to Chat Completion and Custom (OpenAI-compatible), with https://api.spicyapi.ai/v1 as the endpoint, a saved key, deepseek/v4-flash/chat as the model and a Valid status
  2. 2

    Pick a chat model and start the scene

    Type a model ID that ends in /chat into Enter a Model ID. The dropdown lists every SpicyAPI model, with the chat models first. Turn on Streaming, set Response (tokens) to 2000 or more, choose a character and write your first line.

    A SillyTavern roleplay chat with Juno Vale, a witty starship navigator, answering in character through DeepSeek V4 Flash, with the model's reasoning folded into a Thought for 14 seconds block
  3. 3

    Add the extension for pictures and video

    Open Extensions, choose Install extension and paste the repository address below. Then open the SpicyAPI section of the Extensions panel, paste your key and press Check connection. Its Connect chat button can also do step one for you.

    Extension repository
    https://github.com/spicyapi-ai/sillytavern-spicyapi
    The SpicyAPI section of the SillyTavern Extensions panel: a masked API key, the balance after Check connection, and the picture model picker with its starting price

Settings that matter

Everything else can stay at SillyTavern's defaults.

Settings that matter
SettingValueWhy
StreamingOnLong replies appear as they are written, and a failed streamed request shows SpicyAPI's own error message instead of a bare Bad Request.
Response (tokens)2000 or moreReasoning models count their thinking against this limit. At the default of 300 they can spend it all on thinking and return nothing.
Request model reasoningOnPuts the model's thinking in a collapsed block whenever the model sends it.
Send inline mediaOff for text-only modelsWhen it is on, pictures in the chat travel with every later message, and a model that cannot read pictures rejects them.
Prompt Post-ProcessingNoneSwitch to Semi-strict only if an error mentions message roles.

Full SillyTavern guide

The SpicyAPI extension: pictures and video from the chat

Free and open source under the MIT license. Pictures and videos are billed to your SpicyAPI balance; the prompt can come from you or from whatever chat model SillyTavern is connected to. If you switch it on, the chat model can also ask for a picture by itself, within a cooldown and a daily cap you set.

Animate any picture

Every picture in the chat gets a film button. It turns the picture into a short clip with your image-to-video model and adds the clip to the same message. The chat model can write the motion prompt, too.

The animated clip inside the SillyTavern chat, showing the navigator on the starship bridge with the video paused at 3 of 5 seconds
Juno Vale on the starship bridge as the camera slowly pushes in and a violet nebula turns beyond the viewport

Seedance 1.5 Pro · 720p, 5 s, no audio · $0.1135

Priced before it runs

Run /spicy-img without a prompt and an editor opens with the model and the exact price while your chat model writes a prompt from the current scene. Edit it or write your own; nothing is charged until you press Generate, and a per-run ceiling refuses anything above your limit.

The SpicyAPI picture dialog in SillyTavern: Z-Image Text to Image, This run costs $0.01, a prompt written from the scene by the chat model, and a Generate for $0.01 button

Z-Image Turbo · 16:9 · $0.01

Every model, with its price

The pickers list every picture and video model with its starting price, grouped by content policy: Uncensored, Softened and Filtered. Leave Automatic to use the cheapest uncensored model; settings marked $ change the price.

The Animate model list in the SpicyAPI extension, grouped under Uncensored, with each image-to-video model's starting price per second

Prices as listed on 2026-10-07; the extension reads the live catalogue

Commands

Commands
CommandWhat it does
/spicy-img [prompt]Makes a picture and posts it in the chat. Without a prompt, the chat model writes one from the scene.
/spicy-video [prompt]Makes a video from text.
/spicy-video image=last [prompt]Animates the latest picture in the chat.
/spicy-task <task id>Adds the result of an earlier run, for example after a page reload.
/spicy-balanceReturns your balance in US dollars.

A run that has been submitted keeps going even if you close the page, and it is billed if it succeeds. Failed runs are normally not charged.

Source and README on GitHub

Uncensored chat models for SillyTavern

Every chat model whose policy is unrestricted, live from our catalogue and sorted by Freedom score. Copy the ID into Enter a Model ID.

Uncensored chat models for SillyTavern
ModelModel IDFreedomInputper 1M tokensOutputper 1M tokens
Grok 4.7xai/grok-4.7/chat100$2$6
Grok 4.6xai/grok-4.6/chat100$2$6
Grok 4.5xai/grok-4.5/chat100$2$6
Grok 4.3xai/grok-4.3/chat98.9$1.25$2.50
DeepSeek V4.1 Flashdeepseek/v4.1-flash/chat90.4$0.30$1.20
Claude Opus 5.5anthropic/claude-opus-5.5/chat88.9$3.60$18
DeepSeek V4 Flashdeepseek/v4-flash/chat88.9$0.44$1.32
DeepSeek V4 Prodeepseek/v4-pro/chat88.6$1.32$3.96
Claude Sonnet 5.5anthropic/claude-sonnet-5.5/chat88.3$2$10
Gemini 2.5 Flashgoogle/gemini-2.5-flash/chat84.4$0.285$2.375
Claude Opus 4.6anthropic/claude-opus-4.6/chat79.4$5$25
Claude Haiku 5.5anthropic/claude-haiku-5.5/chat77.8$0.10$0.50
Claude Opus 4.5anthropic/claude-opus-4.5/chat75.6$4.50$22.50
Kimi K3moonshot/kimi-k3/chat74.4$2.70$13.50
GLM 5.2zai/glm-5.2/chat67.8$0.98$3.08
Gemini 3.1 Pro Previewgoogle/gemini-3.1-pro-preview/chat67.2$1.90$11.40
Claude Opus 5anthropic/claude-opus-5/chat65$4.50$22.50
GLM 5.3 Flashzai/glm-5.3-flash/chat64.4$0.1275$0.425
Claude Sonnet 4.6anthropic/claude-sonnet-4.6/chat53.9$3$15

Unrestricted means the model adds no refusal layer of its own. The Freedom score is how far a model goes in our standard content tests. How the Freedom score is measured

Compare quality, speed and price on the LLM leaderboard

Other roleplay apps

The same key and model IDs work in apps that take an OpenAI-compatible address. The docs list the exact fields for each one.

  • RisuAI

    Address

    https://api.spicyapi.ai/v1

    Choose the Custom API model and enter the address, key and model ID. On the website, requests go through RisuAI's server.

    Setup steps
  • Agnai

    Address

    https://api.spicyapi.ai/v1

    Add an OpenAI-compatible provider, then pick the model in a preset from the list it fetches. Requests go through Agnai's server.

    Setup steps
  • Chub

    Address

    https://api.spicyapi.ai/v1

    Add the address as a reverse proxy in Secrets, then pick the model from the fetched list. Requests go straight from your browser.

    Setup steps
  • KoboldAI Lite

    Address

    https://api.spicyapi.ai/v1

    Use its OpenAI connection, enter the key and fetch the model list. Requests go straight from your browser.

    Setup steps
  • Janitor AI

    Not verified

    Address

    https://api.spicyapi.ai/v1/chat/completions

    Janitor needs the full path. Nobody on our side has run a real chat through it yet, and its page may block addresses other than OpenAI's, so treat it as something to try.

    Setup steps

The ground rules

We do not add a content filter of our own. These are the limits that still apply.

  • Adults only

    You must be 18 or older, and every character must be an adult, whatever the art style or backstory.

  • Real people need consent

    Do not create sexual or intimate scenes, pictures or videos of a real person without their permission. Look-alikes of public figures count.

  • The law and our policy apply

    Content that is illegal where you or the subject live stays off-limits, as does anything our Acceptable Use Policy forbids.

  • Models keep their own rules

    Each model's policy tier is on its page. Filtered models may refuse and softened ones may tone a result down. A refused picture or video is not charged unless the model page says otherwise.

  • Your key and files

    The extension keeps your key in SillyTavern's settings file in plain text, where other extensions can read it, so use a separate key with a daily cap. Our copies of generated files are deleted after up to 14 days.

Read the Acceptable Use Policy

Questions people ask

Give your next scene an uncensored model

A couple of minutes for chat and one more for pictures and video. You pay per use, in dollars, and every picture and clip is priced before it runs.