---
title: "Uncensored LLM for mobile: roleplay on Android and iPhone"
canonical: https://uplinkswitch.ai/blog/uncensored-llm-mobile
generated: 2026-10-25T14:46:06.892Z
source: https://uplinkswitch.ai/blog/uncensored-llm-mobile
base_url: https://api.uplinkswitch.com/v1
---

[Console](https://uplinkswitch.ai/console)

# Uncensored LLM on your phone: roleplay on Android and iPhone with an API key

A phone cannot load a 16.8 GB uncensored GGUF. Three app setups that reach the same builds by API on Android and iPhone, with every field and the cost per 100 messages.

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

An uncensored LLM for mobile is not a file you install. The builds the roleplay ranking threads name ship as GGUF files of 4.4 to 18.7 GB, and a phone has to hold the whole file in memory to run it. The route that works on a phone is an app that talks to an API: a roleplay frontend in the browser, or SillyTavern itself on Android, pointed at the [uncensored LLM API](https://uplinkswitch.ai/uncensored) with one key. The model runs on the API side, so the phone only sends the chat and shows the reply.

Below are three setups with every field, for Android and iPhone, and what 100 messages cost on 7 uncensored builds from the live catalog.

## Why a phone cannot load a 27B GGUF

The models that top the Reddit rankings for uncensored roleplay are 27B to 70B parameter builds, published as quantized GGUF files. These are their sizes as Hugging Face listed them on 2026-10-19:

| Build | Quant | File size |
| --- | --- | --- |
| Qwen 3.8 27B UncensoredQwen3.8-27B-Uncensored-Q4\_K\_M.gguf | Q4\_K\_M | 16.8 GB |
| Gemma 4 31B Hereticgemma-4-31B-it-uncensored-heretic-Q4\_K\_M.gguf | Q4\_K\_M | 18.7 GB |
| Llama 3.3 70B abliteratedLlama-3.3-70B-Instruct-abliterated-IQ1\_M.gguf | IQ1\_M | 16.8 GB |
| Gemma 4 E4B UncensoredGemma-4-E4B-Uncensored-HauhauCS-Aggressive-Q2\_K\_P.gguf | Q2\_K\_P | 4.4 GB |

File sizes from each repository’s file list on Hugging Face, read 2026-10-19. A GGUF is loaded whole into memory to run.

Q4\_K\_M is the quantization most desktop guides recommend, and at that size the 27B Qwen file is 16.8 GB and the 31B Gemma Heretic file is 18.7 GB. A 1-bit Llama 70B is still 16.8 GB. The 4.4 GB file at the bottom is a 2-bit quant of a 4B model, which is not the model those threads rank.

By API, the size of the weights stops mattering. The same Gemma 31B Heretic build is Gemma 31B Heretic Uncensored in the catalog, at $0.8475 per 100 messages of 4,000 tokens in and 300 out today. The phone needs a browser and a key.

## What you need

-   A key from the [console](https://uplinkswitch.ai/console). Credit is prepaid from $10, by card or crypto through our payment processor, with no subscription.
-   For setups 1 and 2, a browser on the phone: Chrome on Android, Safari on iPhone.
-   For setup 3, an Android phone and Termux from [F-Droid](https://f-droid.org/en/packages/com.termux/). SillyTavern's docs recommend F-Droid or the GitHub release and say the Play Store version is no longer maintained (read 2026-10-19).

## Setup 1: Janitor AI in the phone browser

Janitor AI runs in the browser, so the phone setup is the desktop setup on a smaller screen. Open any chat and tap the provider button at the top (it reads **using janitor** until you switch). Under **Provider**, pick **Proxy**, then **\+ New** under **Proxy configurations**.

Janitor AI · New Configuration

```
Name        UplinkSwitch
Proxy URL   https://api.uplinkswitch.com/v1/chat/completions
API key     sk-uplink-live-...
Model       roleplay-uncensored
```

The Proxy URL is the full address ending in `/chat/completions`. Tap **Add**, then **Save** at the bottom of the panel, and refresh the page. Janitor only picks up a new proxy URL after a refresh, and the chat header then reads **using proxy**. The [Janitor AI proxy setup](https://uplinkswitch.ai/guides/janitor-ai) was run end to end on 2026-10-18 and covers the error codes.

## Setup 2: Chub AI with a custom endpoint

Chub AI keeps its connection in Secrets. Open a chat, open the menu at the top right and choose **Secrets**. Expand **OpenAI**, set **OpenAI Access API** to **Reverse Proxy**, and fill the two fields under it. The model id goes in **Configuration**, from the same menu.

Chub AI · Secrets and Configuration

```
Menu (top right) → Secrets → OpenAI
OpenAI Access API       Reverse Proxy
proxy URL               https://api.uplinkswitch.com/v1
proxy key               sk-uplink-live-...

Menu (top right) → Configuration
Prompt Structure        API: OpenAI, model: roleplay-uncensored
Generation Parameters   max tokens: 1000 or more
```

Start with the base URL ending in `/v1`. If Chub returns an empty reply, change it to the full address, `https://api.uplinkswitch.com/v1/chat/completions`; Chub's docs do not say which form the field takes (read 2026-10-19). The [Chub AI setup guide](https://uplinkswitch.ai/guides/chub-ai) has the panel labels and the empty response fix.

## Setup 3: SillyTavern on Android in Termux

SillyTavern is a Node app, and Termux runs Node on Android. The commands below are from [SillyTavern's Android (Termux) page](https://docs.sillytavern.app/installation/android-(termux)/) (read 2026-10-19). Install Termux from F-Droid, open it, and run them one at a time. The first opens a menu: choose Mirror group and a nearby server.

Termux

```
termux-change-repo
pkg update && pkg upgrade
pkg install git nodejs-lts nano
git clone https://github.com/SillyTavern/SillyTavern -b release
cd ~/SillyTavern
bash start.sh
```

The clone takes the `release` branch; the docs also list `staging`. On a 32-bit phone the docs add `pkg install esbuild` for the error Unsupported platform: android arm. When `bash start.sh` settles, open `http://127.0.0.1:8000` in the phone's browser. SillyTavern's remote connections page shows it listening on 127.0.0.1:8000 (read 2026-10-19). To update later:

Termux

```
cd ~/SillyTavern
git pull --rebase --autostash
```

In SillyTavern, open **API Connections**, set **API** to Chat Completion and **Chat Completion Source** to Custom (OpenAI-compatible):

SillyTavern · API Connections

```
Custom Endpoint (Base URL)   https://api.uplinkswitch.com/v1
Custom API Key               sk-uplink-live-...
Enter a Model ID             roleplay-uncensored
```

Stop the URL at `/v1`; SillyTavern adds `/chat/completions` and `/models` itself. Tap **Connect**, and **Available Models** fills with every id the key can call. **Test Message** confirms the key, the URL and the model id in one reply. The [SillyTavern setup](https://uplinkswitch.ai/guides/sillytavern) lists the settings that change the bill, such as Context and Max Response Length. Termux keeps running while SillyTavern is open; close it and the local server stops, and your chats stay in `~/SillyTavern`.

## On iPhone

Setups 1 and 2 are websites, so they work in Safari with the same fields and the same key. Termux is an Android app, so setup 3 is Android only. No local model is needed on either platform: the phone sends the chat and shows the reply, and the model runs on the API side.

## Uncensored LLM for mobile: what 100 messages cost

One roleplay message here is 4,000 tokens in (the character card, persona and recent chat) and 300 out, the size the Janitor AI guide costs too. Every message resends the chat, so the input price sets most of the bill. The table prices 100 messages at that size and again at 16,000 tokens in, deep into a long chat, from the live catalog on 2026-10-25.

| Model | In / out per 1M | 100 at 4,000 in | 100 at 16,000 in | Daily check |
| --- | --- | --- | --- | --- |
| [GLM-5.3 Flash Uncensored](https://uplinkswitch.ai/models/glm-5.3-flash-uncensored)glm-5.3-flash-uncensored | $0.1086 / $0.3802 | $0.0549 | $0.1852 | [Steady since Oct 12](https://uplinkswitch.ai/proof#glm-5.3-flash-uncensored) |
| [Roleplay Uncensored](https://uplinkswitch.ai/models/roleplay-uncensored)roleplay-uncensoredReplies at once, no thinking step | $0.30 / $0.60 | $0.138 | $0.498 | [Steady since Oct 12](https://uplinkswitch.ai/proof#roleplay-uncensored) |
| [DeepSeek V4.1 Flash Abliterated](https://uplinkswitch.ai/models/deepseek-v4.1-flash-abliterated)deepseek-v4.1-flash-abliterated | $0.8488 / $1.6975 | $0.3904 | $1.41 | [Steady since Oct 19](https://uplinkswitch.ai/proof#deepseek-v4.1-flash-abliterated) |
| [DeepSeek V4 Pro Uncensored](https://uplinkswitch.ai/models/deepseek-v4-pro-uncensored)deepseek-v4-pro-uncensoredThinks briefly, then answers | $1.00 / $2.00 | $0.46 | $1.66 | [Steady since Oct 12](https://uplinkswitch.ai/proof#deepseek-v4-pro-uncensored) |
| [Chat Uncensored](https://uplinkswitch.ai/models/chat-uncensored)chat-uncensored | $1.50 / $3.00 | $0.69 | $2.49 | [Steady since Oct 19](https://uplinkswitch.ai/proof#chat-uncensored) |
| [Gemma 31B Heretic Uncensored](https://uplinkswitch.ai/models/gemma-31b-heretic-uncensored)gemma-31b-heretic-uncensored | $1.50 / $8.25 | $0.8475 | $2.65 | [Steady since Oct 22](https://uplinkswitch.ai/proof#gemma-31b-heretic-uncensored) |
| [QwQ 32B Uncensored](https://uplinkswitch.ai/models/qwq-32b-uncensored)qwq-32b-uncensored | $2.64 / $4.00 | $1.18 | $4.34 | [Steady since Oct 20](https://uplinkswitch.ai/proof#qwq-32b-uncensored) |

USD per million tokens, then USD for 100 messages of 300 tokens out at 4,000 and 16,000 tokens in, from the live catalog on 2026-10-25. Daily check verdicts from /proof. Notes are from the SillyTavern run on 2026-10-18.

GLM-5.3 Flash Uncensored is the lowest-priced row at $0.0549 per 100 messages, so $10 covers about 18,227 of them. Roleplay Uncensored replied at once in SillyTavern on 2026-10-18, with no thinking step, which matters on a phone where you watch the reply arrive. A model that thinks before it answers needs Max tokens at 1,000 or more, or the reply stops mid-sentence. Which build fits which chat is in the [best AI for roleplay](https://uplinkswitch.ai/blog/best-ai-for-roleplay) post, and [Roleplay Uncensored](https://uplinkswitch.ai/models/roleplay-uncensored) has its own page.

Once a UTC day, every model on the key gets the same fixed test prompt. At the last check (Oct 25 UTC), all 7 builds it has reached were stable. The results are public on the [real-model check](https://uplinkswitch.ai/proof).

## Best uncensored LLM for Android mobile RP: which setup

-   **Janitor AI** if you want the character library and a one-field switch between models. Four fields, one refresh.
-   **Chub AI** if your cards are already there. Two fields in Secrets, the model id in Configuration.
-   **SillyTavern in Termux** if you want your own presets, lorebooks and chat files on the phone. Six commands once, then the same three connection fields as on a desktop.
-   **The model** is the same choice on all three: GLM-5.3 Flash Uncensored, Roleplay Uncensored, DeepSeek V4.1 Flash Abliterated, DeepSeek V4 Pro Uncensored, Chat Uncensored, Gemma 31B Heretic Uncensored and QwQ 32B Uncensored answer any of them by id.

## When a reply does not come through

-   **Janitor still reads using janitor.** The configuration was saved but the page was not refreshed. Refresh, then send again.
-   **401.** The key is missing, mistyped or revoked. Copy it again from the console. Pasting on a phone can pick up a trailing space; delete it.
-   **402.** The prepaid balance ran out. Replies work again after a top-up.
-   **403.** The key is narrowed to a list of models and the Model field names another one. Add the model to the key in the console, or change the field.
-   **429.** Too many requests in a short time for the key, or the model is busy. Wait a few seconds and send again.
-   **The reply stops mid-sentence.** A model that thinks first spent the Max tokens budget before it finished. Set it to 1,000 or more.
-   **Chub returns an empty reply.** Switch the proxy URL between the base form and the full form and save Secrets again.
-   **SillyTavern does not open at 127.0.0.1:8000.** Termux was closed or the phone put it to sleep. Reopen Termux and run `bash start.sh` from `~/SillyTavern` again.

## Questions

### 

Not the ones the ranking threads name. On 2026-10-19, Hugging Face listed Qwen 3.8 27B Uncensored at 16.8 GB and Gemma 4 31B Heretic at 18.7 GB for a Q4\_K\_M file, and the whole file has to sit in memory while the model runs. A phone runs the same builds through an app that talks to an API: Janitor AI or Chub AI in the browser, or SillyTavern in Termux on Android.

### 

The one with the lowest cost per message, since every message resends the chat. Of the 7 builds priced above, GLM-5.3 Flash Uncensored costs $0.0549 per 100 messages of 4,000 tokens in and 300 out today, and Roleplay Uncensored ($0.138) replies with no thinking step. The full ranking, with how three of them behaved in SillyTavern, is in the best AI for roleplay post. See [best AI for roleplay](https://uplinkswitch.ai/blog/best-ai-for-roleplay).

### 

The same models as on any other device, because the model runs on the API side. Android adds one option an iPhone does not have: SillyTavern itself, installed in Termux from F-Droid, with the base URL above as a Custom (OpenAI-compatible) source.

### 

Yes. SillyTavern's own docs install it in Termux with pkg install git nodejs-lts nano, a git clone of the release branch and bash start.sh (read 2026-10-19). It then listens at http://127.0.0.1:8000, which you open in the phone's browser.

### 

Janitor AI and Chub AI are websites, so both setups above work in Safari with the same fields. Termux is an Android app, so the SillyTavern route is Android only.

### 

An abliterated model, since the direction that makes it refuse is removed from the weights rather than argued around in a prompt. Among the builds here, DeepSeek V4.1 Flash Abliterated is abliterated; the uncensored builds were changed to answer instead of refuse, and Roleplay Uncensored is an independent model for character chat. See [the uncensored LLM API page](https://uplinkswitch.ai/uncensored).

### 

One that takes the full chat completions URL, https://api.uplinkswitch.com/v1/chat/completions, and bills per token with no subscription. Janitor only picks up a new proxy URL after a page refresh, on a phone as on a desktop.

### 

Not here: replies bill per token from prepaid credit from $10. On GLM-5.3 Flash Uncensored, $10 covers about 18,227 messages of 4,000 tokens in and 300 out.

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

[UplinkSwitch](https://uplinkswitch.ai/about)[Follow](https://x.com/uplinkswitch)

---

## Get the newsletter
