---
title: "NSFW LLM API: uncensored models for fiction and roleplay"
canonical: https://uplinkswitch.ai/blog/nsfw-llm-api
generated: 2026-10-20T20:30:50.839Z
source: https://uplinkswitch.ai/blog/nsfw-llm-api
base_url: https://api.uplinkswitch.com/v1
---

# NSFW LLM API: uncensored models for adult fiction and roleplay

What an NSFW LLM is, how the big chat APIs handle adult fiction, and how to call abliterated and uncensored models from your app or a roleplay frontend.

October 19, 2026·UplinkSwitch·[All posts](https://uplinkswitch.ai/blog)

## NSFW LLM API models

An NSFW LLM is a language model that answers adult and mature requests instead of refusing them. If you need an NSFW LLM API, the 49 abliterated and uncensored models on our [uncensored LLM API](https://uplinkswitch.ai/uncensored) answer on one OpenAI-compatible key, priced from the live catalog:

| Model | Type | In / out per 1M | 100 messages | Daily check |
| --- | --- | --- | --- | --- |
| [GLM-5.3 Uncensored](https://uplinkswitch.ai/models/glm-5.3-uncensored)glm-5.3-uncensored | Uncensored | $0.1746 / $0.1746 | $0.0751 | [Same fingerprint since Oct 12](https://uplinkswitch.ai/proof#glm-5.3-uncensored) |
| [GLM-5.3 Abliterated](https://uplinkswitch.ai/models/glm-5.3-abliterated)glm-5.3-abliterated | Abliterated | $2.25 / $2.25 | $0.9675 | [Same fingerprint since Oct 12, no answer since Oct 20](https://uplinkswitch.ai/proof#glm-5.3-abliterated) |
| [DeepSeek V4 Pro Uncensored](https://uplinkswitch.ai/models/deepseek-v4-pro-uncensored)deepseek-v4-pro-uncensored | Uncensored | $0.75 / $0.75 | $0.3225 | [Same fingerprint since Oct 12](https://uplinkswitch.ai/proof#deepseek-v4-pro-uncensored) |
| [Roleplay Uncensored](https://uplinkswitch.ai/models/roleplay-uncensored)roleplay-uncensored | Roleplay | $0.30 / $0.60 | $0.138 | [No answer at the last check](https://uplinkswitch.ai/proof#roleplay-uncensored) |
| [GLM-5.3 Flash Abliterated](https://uplinkswitch.ai/models/glm-5.3-flash-abliterated)glm-5.3-flash-abliterated | Abliterated | $0.66 / $0.66 | $0.2838 | [Same fingerprint since Oct 12](https://uplinkswitch.ai/proof#glm-5.3-flash-abliterated) |
| [GLM-5.3 Flash Uncensored](https://uplinkswitch.ai/models/glm-5.3-flash-uncensored)glm-5.3-flash-uncensored | Uncensored | $0.084 / $0.084 | $0.0361 | [Same fingerprint since Oct 12](https://uplinkswitch.ai/proof#glm-5.3-flash-uncensored) |
| [Aion RP Llama 3.1 8B](https://uplinkswitch.ai/models/aion-rp-llama-3.1-8b)aion-rp-llama-3.1-8b | Uncensored | $2.40 / $4.80 | $1.10 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#aion-rp-llama-3.1-8b) |
| [Chat Uncensored](https://uplinkswitch.ai/models/chat-uncensored)chat-uncensored | Independent | $1.50 / $3.00 | $0.69 | [No answer at the last check](https://uplinkswitch.ai/proof#chat-uncensored) |
| [Code Pro Uncensored](https://uplinkswitch.ai/models/code-pro-uncensored)code-pro-uncensored | Independent | $4.50 / $9.00 | $2.07 | [No answer at the last check](https://uplinkswitch.ai/proof#code-pro-uncensored) |
| [Cydonia 24B v4.1](https://uplinkswitch.ai/models/cydonia-24b-v4.1)cydonia-24b-v4.1 | Uncensored | $0.90 / $1.50 | $0.405 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#cydonia-24b-v4.1) |
| [Cydonia 24B v4.3](https://uplinkswitch.ai/models/cydonia-24b-v4.3)cydonia-24b-v4.3 | Uncensored | $0.363 / $0.45 | $0.1587 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#cydonia-24b-v4.3) |
| [DeepSeek R1 Distill Llama 70B Abliterated](https://uplinkswitch.ai/models/deepseek-r1-distill-llama-70b-abliterated)deepseek-r1-distill-llama-70b-abliterated | Abliterated | $2.10 / $2.10 | $0.903 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#deepseek-r1-distill-llama-70b-abliterated) |
| [DeepSeek R1 Distill Qwen 32B Abliterated](https://uplinkswitch.ai/models/deepseek-r1-distill-qwen-32b-abliterated)deepseek-r1-distill-qwen-32b-abliterated | Abliterated | $4.20 / $4.20 | $1.81 | [No answer at the last check](https://uplinkswitch.ai/proof#deepseek-r1-distill-qwen-32b-abliterated) |
| [DeepSeek V4.1 Flash Abliterated](https://uplinkswitch.ai/models/deepseek-v4.1-flash-abliterated)deepseek-v4.1-flash-abliterated | Abliterated | $1.05 / $1.05 | $0.4515 | [Same fingerprint since Oct 19](https://uplinkswitch.ai/proof#deepseek-v4.1-flash-abliterated) |
| [Dolphin Mistral 24B Venice Edition](https://uplinkswitch.ai/models/dolphin-mistral-24b-venice)dolphin-mistral-24b-venice | Uncensored | $0.50 / $2.25 | $0.2675 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#dolphin-mistral-24b-venice) |
| [Euryale 70B v2.2](https://uplinkswitch.ai/models/euryale-70b-v2.2)euryale-70b-v2.2 | Uncensored | $0.918 / $1.071 | $0.3993 | [No answer at the last check](https://uplinkswitch.ai/proof#euryale-70b-v2.2) |
| [Euryale 70B v2.3](https://uplinkswitch.ai/models/euryale-70b-v2.3)euryale-70b-v2.3 | Uncensored | $1.479 / $1.479 | $0.636 | [No answer at the last check](https://uplinkswitch.ai/proof#euryale-70b-v2.3) |
| [EVA LLaMA 3.33 70B](https://uplinkswitch.ai/models/eva-llama-3.33-70b)eva-llama-3.33-70b | Uncensored | $6.018 / $6.018 | $2.59 | [Same fingerprint since Oct 20, no answer since Oct 20](https://uplinkswitch.ai/proof#eva-llama-3.33-70b) |
| [EVA Qwen2.5 72B](https://uplinkswitch.ai/models/eva-qwen2.5-72b)eva-qwen2.5-72b | Uncensored | $2.397 / $2.397 | $1.03 | [No answer at the last check](https://uplinkswitch.ai/proof#eva-qwen2.5-72b) |
| [Gemma 31B Heretic Uncensored](https://uplinkswitch.ai/models/gemma-31b-heretic-uncensored)gemma-31b-heretic-uncensored | Uncensored | $1.50 / $8.25 | $0.8475 | [No answer at the last check](https://uplinkswitch.ai/proof#gemma-31b-heretic-uncensored) |
| [Gemma 4 26B-A4B ChimeraX Heretic](https://uplinkswitch.ai/models/gemma-4-26b-a4b-chimerax-heretic)gemma-4-26b-a4b-chimerax-heretic | Uncensored | $0.363 / $1.14 | $0.1794 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#gemma-4-26b-a4b-chimerax-heretic) |
| [Gemma 4 26B-A4B DarkSoul](https://uplinkswitch.ai/models/gemma-4-26b-a4b-darksoul)gemma-4-26b-a4b-darksoul | Uncensored | $0.363 / $1.14 | $0.1794 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#gemma-4-26b-a4b-darksoul) |
| [Gemma 4 26B-A4B Uncensored](https://uplinkswitch.ai/models/gemma-4-26b-a4b-uncensored)gemma-4-26b-a4b-uncensored | Uncensored | $0.27 / $1.26 | $0.1458 | [No answer at the last check](https://uplinkswitch.ai/proof#gemma-4-26b-a4b-uncensored) |
| [Gemma 4 31B Dark Gemistry](https://uplinkswitch.ai/models/gemma-4-31b-dark-gemistry)gemma-4-31b-dark-gemistry | Uncensored | $0.918 / $0.918 | $0.3947 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#gemma-4-31b-dark-gemistry) |
| [Gemma 4 31B DarkIdol](https://uplinkswitch.ai/models/gemma-4-31b-darkidol)gemma-4-31b-darkidol | Uncensored | $0.30 / $1.35 | $0.1605 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#gemma-4-31b-darkidol) |
| [Gemma 4 31B Gembrain Heretic](https://uplinkswitch.ai/models/gemma-4-31b-gembrain-heretic)gemma-4-31b-gembrain-heretic | Uncensored | $0.918 / $0.918 | $0.3947 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#gemma-4-31b-gembrain-heretic) |
| [Gemma 4 31B SDFT Heretic RP](https://uplinkswitch.ai/models/gemma-4-31b-sdft-heretic-rp)gemma-4-31b-sdft-heretic-rp | Uncensored | $0.918 / $0.918 | $0.3947 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#gemma-4-31b-sdft-heretic-rp) |
| [GLM-4.7 Flash Uncensored](https://uplinkswitch.ai/models/glm-4.7-flash-uncensored)glm-4.7-flash-uncensored | Uncensored | $0.12 / $0.60 | $0.066 | [No answer at the last check](https://uplinkswitch.ai/proof#glm-4.7-flash-uncensored) |
| [GLM-5.3 Flash Apex Abliterated](https://uplinkswitch.ai/models/glm-5.3-flash-apex-abliterated)glm-5.3-flash-apex-abliterated | Abliterated | $0.45 / $1.50 | $0.225 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#glm-5.3-flash-apex-abliterated) |
| [GLM-5.3 Flash Code Uncensored](https://uplinkswitch.ai/models/glm-5.3-flash-code-uncensored)glm-5.3-flash-code-uncensored | Uncensored | $6.00 / $6.00 | $2.58 | [No answer at the last check](https://uplinkswitch.ai/proof#glm-5.3-flash-code-uncensored) |
| [Hermes 3 Llama 3.1 70B](https://uplinkswitch.ai/models/hermes-3-llama-3.1-70b)hermes-3-llama-3.1-70b | Uncensored | $1.224 / $1.224 | $0.5263 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#hermes-3-llama-3.1-70b) |
| [Hermes 4 405B](https://uplinkswitch.ai/models/hermes-4-405b)hermes-4-405b | Uncensored | $0.90 / $3.60 | $0.468 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#hermes-4-405b) |
| [Llama 3 70B Abliterated v3.5](https://uplinkswitch.ai/models/llama-3-70b-abliterated)llama-3-70b-abliterated | Abliterated | $2.10 / $2.10 | $0.903 | [No answer at the last check](https://uplinkswitch.ai/proof#llama-3-70b-abliterated) |
| [Llama 3.3 70B Abliterated](https://uplinkswitch.ai/models/llama-3.3-70b-abliterated)llama-3.3-70b-abliterated | Abliterated | $2.10 / $2.10 | $0.903 | [No answer at the last check](https://uplinkswitch.ai/proof#llama-3.3-70b-abliterated) |
| [Lumimaid v0.2 70B](https://uplinkswitch.ai/models/lumimaid-v0.2-70b)lumimaid-v0.2-70b | Uncensored | $3.00 / $4.50 | $1.34 | [No answer at the last check](https://uplinkswitch.ai/proof#lumimaid-v0.2-70b) |
| [Magnum Diamond 24B](https://uplinkswitch.ai/models/magnum-diamond-24b)magnum-diamond-24b | Uncensored | $1.479 / $1.479 | $0.636 | [Same fingerprint since Oct 20, no answer since Oct 20](https://uplinkswitch.ai/proof#magnum-diamond-24b) |
| [Magnum v4 72B](https://uplinkswitch.ai/models/magnum-v4-72b)magnum-v4-72b | Uncensored | $6.018 / $8.976 | $2.68 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#magnum-v4-72b) |
| [MiMo V2.6 Flash Abliterated](https://uplinkswitch.ai/models/mimo-v2.6-flash-abliterated)mimo-v2.6-flash-abliterated | Abliterated | $1.50 / $4.50 | $0.735 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#mimo-v2.6-flash-abliterated) |
| [MiMo V2.6 Flash Uncensored](https://uplinkswitch.ai/models/mimo-v2.6-flash-uncensored)mimo-v2.6-flash-uncensored | Uncensored | $1.50 / $4.50 | $0.735 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#mimo-v2.6-flash-uncensored) |
| [MythoMax L2 13B](https://uplinkswitch.ai/models/mythomax-l2-13b)mythomax-l2-13b | Uncensored | $0.303 / $0.303 | $0.1303 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#mythomax-l2-13b) |
| [NeuralDaredevil 8B Abliterated](https://uplinkswitch.ai/models/neuraldaredevil-8b-abliterated)neuraldaredevil-8b-abliterated | Abliterated | $1.32 / $1.32 | $0.5676 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#neuraldaredevil-8b-abliterated) |
| [Qwen2.5 32B Abliterated](https://uplinkswitch.ai/models/qwen2.5-32b-abliterated)qwen2.5-32b-abliterated | Abliterated | $2.10 / $2.10 | $0.903 | [Same fingerprint since Oct 20, no answer since Oct 20](https://uplinkswitch.ai/proof#qwen2.5-32b-abliterated) |
| [Qwen3.8 27B DarkIdol](https://uplinkswitch.ai/models/qwen3.8-27b-darkidol)qwen3.8-27b-darkidol | Uncensored | $0.30 / $1.80 | $0.174 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#qwen3.8-27b-darkidol) |
| [Qwen3.8 27B Obliterated](https://uplinkswitch.ai/models/qwen3.8-27b-obliterated)qwen3.8-27b-obliterated | Uncensored | $0.75 / $5.25 | $0.4575 | [No answer at the last check](https://uplinkswitch.ai/proof#qwen3.8-27b-obliterated) |
| [Qwen3.8 27B Uncensored](https://uplinkswitch.ai/models/qwen3.8-27b-uncensored)qwen3.8-27b-uncensored | Uncensored | $1.25 / $3.75 | $0.6125 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#qwen3.8-27b-uncensored) |
| [QwQ 32B Uncensored](https://uplinkswitch.ai/models/qwq-32b-uncensored)qwq-32b-uncensored | Uncensored | $1.98 / $3.00 | $0.882 | [No answer at the last check](https://uplinkswitch.ai/proof#qwq-32b-uncensored) |
| [ReMM SLERP L2 13B](https://uplinkswitch.ai/models/remm-slerp-l2-13b)remm-slerp-l2-13b | Uncensored | $1.527 / $2.835 | $0.6959 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#remm-slerp-l2-13b) |
| [The Omega Directive 24B v2.0](https://uplinkswitch.ai/models/omega-directive-24b-v2)omega-directive-24b-v2 | Uncensored | $1.50 / $1.50 | $0.645 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#omega-directive-24b-v2) |
| [UnslopNemo 12B v4.1](https://uplinkswitch.ai/models/unslopnemo-12b-v4.1)unslopnemo-12b-v4.1 | Uncensored | $1.479 / $1.479 | $0.636 | [Same fingerprint since Oct 20](https://uplinkswitch.ai/proof#unslopnemo-12b-v4.1) |

USD per million tokens, then USD for 100 messages. A message is one reply of 300 tokens sent with 4,000 tokens of character card, persona and recent chat, the size the Janitor AI guide uses. Rows by paid spend on 2026-10-18, then 43 builds added since, by name.

GLM-5.3 Uncensored and GLM-5.3 Abliterated were the two most-used builds by paid spend on 2026-10-18. GLM-5.3 Flash Uncensored costs the least per message of these builds, $0.0361 for 100. Roleplay Uncensored has a developer list price on record: $1.00 in and $2.00 out per million tokens, against $0.30 and $0.60 here. GLM-4.7 Flash Uncensored has a developer list price on record: $0.40 in and $2.00 out per million tokens, against $0.12 and $0.60 here.

The same key reaches 114 more chat models, Claude and GPT included, on one prepaid balance.

Every model on the key gets the same fixed test prompt once a UTC day. The input token count is a tokenizer fingerprint, so a swapped model or added hidden instructions shows up as a changed count. At the last check, 33 of the 49 builds checked so far were stable. The Daily check column reads the live [real-model check](https://uplinkswitch.ai/proof), and the [method](https://uplinkswitch.ai/proof/method) is public.

## Call one from your app

The builds speak the OpenAI chat completions format only. The OpenAI SDK reaches them with two changes: the base URL `https://api.uplinkswitch.com/v1` and an UplinkSwitch key. The Anthropic SDK does not reach these ids.

python

```
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.uplinkswitch.com/v1",
    api_key=os.environ["UPLINKSWITCH_API_KEY"],
)

stream = client.chat.completions.create(
    model="glm-5.3-uncensored",
    messages=[
        {"role": "system", "content": "You narrate an interactive story."},
        {"role": "user", "content": "Continue the scene."},
    ],
    max_tokens=1000,
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
```

typescript

```
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://api.uplinkswitch.com/v1',
  apiKey: process.env.UPLINKSWITCH_API_KEY,
});

const stream = await client.chat.completions.create({
  model: 'glm-5.3-uncensored',
  messages: [
    { role: 'system', content: 'You narrate an interactive story.' },
    { role: 'user', content: 'Continue the scene.' },
  ],
  max_tokens: 1000,
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}
```

Streams pass through unchanged, so code that renders tokens as they arrive needs no new parsing. The SDK sends the key in an `Authorization: Bearer` header. `x-api-key` works too, and a key in the URL is refused.

`max_tokens` is 1,000 to leave room for a model that thinks before it answers. At 300, a thinking model such as GLM-5.3 Abliterated can spend the whole budget thinking and stop the reply mid-sentence. In a chat window, a build that replies at once, such as Roleplay Uncensored, shows text sooner than one that thinks first.

Code already on the OpenAI SDK, against OpenAI or another OpenAI-compatible service, changes in three places: the base URL, the key and the model id. The messages array and the stream loop stay as they are.

Before you ship, list the ids the key can call. Every id in the table should be in the response:

shell

```
curl https://api.uplinkswitch.com/v1/models -H "Authorization: Bearer $UPLINKSWITCH_API_KEY"
```

Other languages and frameworks are in the [SDK setup guide](https://uplinkswitch.ai/guides/sdks).

## What makes an LLM NSFW-capable

Chat models are fine-tuned to follow instructions and to refuse some requests. The refusal is learned behavior, like everything else the model does, and the same open weights can ship with it or without it.

[Arditi et al.](https://arxiv.org/abs/2406.11717) tested 13 open chat models and found refusal carried by a single direction in each model's activations. Erasing that direction stopped the refusals with little effect on other capabilities (arXiv 2406.11717, read 2026-10-19).

What makes an LLM NSFW-capable, then, is its refusal behavior. In API terms, each build here is one of these kinds:

-   **Abliterated.** The open weights with the refusal direction removed. Nothing is retrained. On the key: [GLM-5.3 Abliterated](https://uplinkswitch.ai/models/glm-5.3-abliterated), [GLM-5.3 Flash Abliterated](https://uplinkswitch.ai/models/glm-5.3-flash-abliterated), [DeepSeek R1 Distill Llama 70B Abliterated](https://uplinkswitch.ai/models/deepseek-r1-distill-llama-70b-abliterated), [DeepSeek R1 Distill Qwen 32B Abliterated](https://uplinkswitch.ai/models/deepseek-r1-distill-qwen-32b-abliterated), [DeepSeek V4.1 Flash Abliterated](https://uplinkswitch.ai/models/deepseek-v4.1-flash-abliterated), [GLM-5.3 Flash Apex Abliterated](https://uplinkswitch.ai/models/glm-5.3-flash-apex-abliterated), [Llama 3 70B Abliterated v3.5](https://uplinkswitch.ai/models/llama-3-70b-abliterated), [Llama 3.3 70B Abliterated](https://uplinkswitch.ai/models/llama-3.3-70b-abliterated), [MiMo V2.6 Flash Abliterated](https://uplinkswitch.ai/models/mimo-v2.6-flash-abliterated), [NeuralDaredevil 8B Abliterated](https://uplinkswitch.ai/models/neuraldaredevil-8b-abliterated), [Qwen2.5 32B Abliterated](https://uplinkswitch.ai/models/qwen2.5-32b-abliterated).
-   **Uncensored.** Builds of the open weights changed to answer instead of refuse. On the key: [GLM-5.3 Uncensored](https://uplinkswitch.ai/models/glm-5.3-uncensored), [DeepSeek V4 Pro Uncensored](https://uplinkswitch.ai/models/deepseek-v4-pro-uncensored), [GLM-5.3 Flash Uncensored](https://uplinkswitch.ai/models/glm-5.3-flash-uncensored), [Aion RP Llama 3.1 8B](https://uplinkswitch.ai/models/aion-rp-llama-3.1-8b), [Cydonia 24B v4.1](https://uplinkswitch.ai/models/cydonia-24b-v4.1), [Cydonia 24B v4.3](https://uplinkswitch.ai/models/cydonia-24b-v4.3), [Dolphin Mistral 24B Venice Edition](https://uplinkswitch.ai/models/dolphin-mistral-24b-venice), [Euryale 70B v2.2](https://uplinkswitch.ai/models/euryale-70b-v2.2), [Euryale 70B v2.3](https://uplinkswitch.ai/models/euryale-70b-v2.3), [EVA LLaMA 3.33 70B](https://uplinkswitch.ai/models/eva-llama-3.33-70b), [EVA Qwen2.5 72B](https://uplinkswitch.ai/models/eva-qwen2.5-72b), [Gemma 31B Heretic Uncensored](https://uplinkswitch.ai/models/gemma-31b-heretic-uncensored), [Gemma 4 26B-A4B ChimeraX Heretic](https://uplinkswitch.ai/models/gemma-4-26b-a4b-chimerax-heretic), [Gemma 4 26B-A4B DarkSoul](https://uplinkswitch.ai/models/gemma-4-26b-a4b-darksoul), [Gemma 4 26B-A4B Uncensored](https://uplinkswitch.ai/models/gemma-4-26b-a4b-uncensored), [Gemma 4 31B Dark Gemistry](https://uplinkswitch.ai/models/gemma-4-31b-dark-gemistry), [Gemma 4 31B DarkIdol](https://uplinkswitch.ai/models/gemma-4-31b-darkidol), [Gemma 4 31B Gembrain Heretic](https://uplinkswitch.ai/models/gemma-4-31b-gembrain-heretic), [Gemma 4 31B SDFT Heretic RP](https://uplinkswitch.ai/models/gemma-4-31b-sdft-heretic-rp), [GLM-4.7 Flash Uncensored](https://uplinkswitch.ai/models/glm-4.7-flash-uncensored), [GLM-5.3 Flash Code Uncensored](https://uplinkswitch.ai/models/glm-5.3-flash-code-uncensored), [Hermes 3 Llama 3.1 70B](https://uplinkswitch.ai/models/hermes-3-llama-3.1-70b), [Hermes 4 405B](https://uplinkswitch.ai/models/hermes-4-405b), [Lumimaid v0.2 70B](https://uplinkswitch.ai/models/lumimaid-v0.2-70b), [Magnum Diamond 24B](https://uplinkswitch.ai/models/magnum-diamond-24b), [Magnum v4 72B](https://uplinkswitch.ai/models/magnum-v4-72b), [MiMo V2.6 Flash Uncensored](https://uplinkswitch.ai/models/mimo-v2.6-flash-uncensored), [MythoMax L2 13B](https://uplinkswitch.ai/models/mythomax-l2-13b), [Qwen3.8 27B DarkIdol](https://uplinkswitch.ai/models/qwen3.8-27b-darkidol), [Qwen3.8 27B Obliterated](https://uplinkswitch.ai/models/qwen3.8-27b-obliterated), [Qwen3.8 27B Uncensored](https://uplinkswitch.ai/models/qwen3.8-27b-uncensored), [QwQ 32B Uncensored](https://uplinkswitch.ai/models/qwq-32b-uncensored), [ReMM SLERP L2 13B](https://uplinkswitch.ai/models/remm-slerp-l2-13b), [The Omega Directive 24B v2.0](https://uplinkswitch.ai/models/omega-directive-24b-v2), [UnslopNemo 12B v4.1](https://uplinkswitch.ai/models/unslopnemo-12b-v4.1).
-   **Roleplay.** An independent model for character chat. On the key: [Roleplay Uncensored](https://uplinkswitch.ai/models/roleplay-uncensored).
-   **Independent.** Uncensored models from independent developers, for chat and code. On the key: [Chat Uncensored](https://uplinkswitch.ai/models/chat-uncensored), [Code Pro Uncensored](https://uplinkswitch.ai/models/code-pro-uncensored).

[What is an abliterated model](https://uplinkswitch.ai/blog/abliterated-models) walks through the method step by step. A jailbreak prompt tries for the same result from the outside: it rides along with every message, and the model can still refuse it ([GLM jailbreak prompts vs an abliterated GLM-5.3](https://uplinkswitch.ai/blog/glm-jailbreak)).

## Why mainstream chat APIs decline

A mainstream chat API puts two layers in front of a request. The model carries its trained refusals, and the provider publishes a usage policy that sets what its customers may use the API for.

[Anthropic's Usage Policy](https://www.anthropic.com/legal/aup) has a section headed “Do Not Generate Sexually Explicit Content”, and erotic chat is on its list. The section is in the version effective 2025-09-15 and in the next one, effective 2026-11-12 (read 2026-10-19).

[OpenAI's usage policies](https://openai.com/policies/usage-policies/), effective 2025-10-29, prohibit “sexual violence or non-consensual intimate content” and any use that sexualizes someone under 18. The same list prohibits circumventing its safeguards (read 2026-10-19).

Both providers say they can act on an account that breaks the policy, from warnings to a loss of access. On a mainstream API, a request can stop at either layer: the model's refusal or the provider's enforcement.

## Building an app that serves users

Under our [terms](https://uplinkswitch.ai/terms) you are responsible for every request made with your keys, including the ones your users send through your app. Keys used to break a provider's usage policies, or to attack the service, may be revoked. The setup below keeps spend and access separate per key.

-   **Keep the key on your server.** The browser calls your backend, and your backend calls the API. A key in client-side code is readable by anyone who opens the page.
-   **One key per environment.** Development, staging and production each get their own, so a test loop can't drain the production budget and a leaked development key can be revoked alone. A revoked key stops working within 60 seconds.
-   **A monthly spend limit on each key.** It counts the key's charges for the UTC month and starts over on the first. A key with a limit can also name a cheaper model to answer as it nears the limit, instead of being refused.
-   **Narrow the key to your models.** A request for any other id is refused with 403 `scope_denied`, so a typo in your config costs nothing.
-   **Check ids at deploy.** `GET /v1/models` lists every id the key can call. Fail the deploy when your configured id is missing. Ids are exact and lowercase.
-   **Watch the balance.** Credit is prepaid from $10, by card or crypto through our payment processor, with no subscription. When it runs out, requests return 402 `insufficient_balance` until a top-up. Each paid top-up locks the rates for 30 days, and billing takes the lowest live rate.
-   **Log the request id.** Every response, errors included, carries an `x-uplink-request-id` header to look the request up.

To size a limit, start from the cost per message. At the message size in the table, $10 covers 27,685 messages on GLM-5.3 Flash Uncensored and 13,319 on GLM-5.3 Uncensored.

A chat that resends its whole history costs more per reply as it grows. 100 replies of 300 tokens at four context sizes:

| Tokens sent per message | GLM-5.3 Uncensored | GLM-5.3 Abliterated | DeepSeek V4 Pro Uncensored |
| --- | --- | --- | --- |
| 4,000 | $0.0751 | $0.9675 | $0.3225 |
| 8,000 | $0.1449 | $1.87 | $0.6225 |
| 16,000 | $0.2846 | $3.67 | $1.22 |
| 32,000 | $0.564 | $7.27 | $2.42 |

USD for 100 replies, from the live catalog.

Capping the history your app sends, to the last few turns or a summary of older ones, keeps the input side flat and the spend limit predictable.

Requests that fail are not charged. A refusal goes unbilled only when the response format itself signals one. A refusal written as ordinary text bills like any answer, on every model on the key.

## SillyTavern, Janitor AI and Chub

A roleplay frontend calls the same endpoint as your code, so the NSFW roleplay API behind it needs only a URL, a key and a model id. Each frontend wants the URL in its own shape:

-   **SillyTavern.** API set to Chat Completion, source Custom (OpenAI-compatible), base URL `https://api.uplinkswitch.com/v1`. It adds `/chat/completions` itself. The [SillyTavern setup guide](https://uplinkswitch.ai/guides/sillytavern) has every field.
-   **Janitor AI.** Provider, then Proxy, with the full URL `https://api.uplinkswitch.com/v1/chat/completions`. Refresh the page after saving. The [Janitor AI proxy guide](https://uplinkswitch.ai/guides/janitor-ai) was run end to end on 2026-10-18.
-   **Chub.** The [Chub AI setup guide](https://uplinkswitch.ai/guides/chub-ai) has its proxy fields, and [Best AI for roleplay](https://uplinkswitch.ai/blog/best-ai-for-roleplay) compares the same models across all three frontends.

How these builds behaved in SillyTavern on 2026-10-18, with the request body its Custom source sends:

-   [Roleplay Uncensored](https://uplinkswitch.ai/models/roleplay-uncensored) replies at once, with no thinking step.
-   [DeepSeek V4 Pro Uncensored](https://uplinkswitch.ai/models/deepseek-v4-pro-uncensored) thinks briefly, then answers.
-   [GLM-5.3 Abliterated](https://uplinkswitch.ai/models/glm-5.3-abliterated) thinks before it answers. Give it 1,000 or more max tokens.

## Questions

What is an NSFW LLM?

A language model that answers adult and mature requests instead of refusing them. What sets one apart is refusal behavior: an abliterated build has the refusal direction removed from its weights, and an uncensored build is changed to answer instead of refuse.

What is the best NSFW LLM?

By paid spend here on 2026-10-18, GLM-5.3 Uncensored and GLM-5.3 Abliterated were the two most used. For character chat with no thinking step, Roleplay Uncensored. GLM-5.3 Flash Uncensored costs the least of these builds, $0.0361 per 100 messages of the size above. [Best uncensored LLM](https://uplinkswitch.ai/blog/best-uncensored-llm) compares the builds side by side.

Is there an NSFW AI API?

The 49 abliterated and uncensored models above answer on one OpenAI-compatible key at https://api.uplinkswitch.com/v1. Any SDK or frontend that takes a base URL can call them.

Does OpenRouter allow NSFW?

OpenRouter sets its own rules, and this page makes no claim about them. What its public model list carried on 2026-10-19, with prices, is in [OpenRouter uncensored models](https://uplinkswitch.ai/blog/openrouter-uncensored).

Can I use an NSFW LLM in SillyTavern or Janitor AI?

Yes. In SillyTavern, pick Chat Completion, then Custom (OpenAI-compatible), with the base URL https://api.uplinkswitch.com/v1. In Janitor AI, add a proxy with the full URL https://api.uplinkswitch.com/v1/chat/completions. Both take your key and a model id from the table.

Do these builds work with the Anthropic SDK?

No. They speak the OpenAI chat completions format only, so use the OpenAI SDK or a plain HTTP call. The Claude models on the same key take both formats.

Is an NSFW LLM API free?

Not here. Replies bill per token from prepaid credit from $10, with no subscription. On GLM-5.3 Flash Uncensored, 100 messages of the size above cost $0.0361.

[Get a key](https://uplinkswitch.ai/console): prepaid from $10, no subscription, 30-day price lock.

## Related

-   [Uncensored LLM API](https://uplinkswitch.ai/uncensored)
-   [Abliterated models explained](https://uplinkswitch.ai/blog/abliterated-models)
-   [Best AI for roleplay](https://uplinkswitch.ai/blog/best-ai-for-roleplay)
-   [OpenRouter uncensored models](https://uplinkswitch.ai/blog/openrouter-uncensored)
-   [SillyTavern setup](https://uplinkswitch.ai/guides/sillytavern)
-   [Janitor AI proxy setup](https://uplinkswitch.ai/guides/janitor-ai)
