Skip to content

Uncensored AI Chat and Roleplay API

Uncensored chat and roleplay: play characters, write stories together or just talk, and share images for it to understand. Per 1M tokens: 50 credits ($0.50) input, 200 credits ($2.00) output.

ChatText and image inputOpenAI-compatibleInput 50 credits ($0.50) · Output 200 credits ($2.00) / 1M tokens
vellria-uncensored-chat
Playground

Write a first message, or send one of the example prompts further down the page.

Sign in to chat

Sign in to chat with the model. Replies are paid per token from your credits.

The same raw model as the API. Nothing is saved: the conversation lives in this tab until you start a new one.

About Uncensored AI Chat

Also known as: Uncensored Chat · NSFW AI chat API · AI roleplay chat

Uncensored AI Chat is Vellria's conversational model: you write, it answers, and it stays in whatever role you hand it. It is made for roleplay, collaborative fiction and open-ended adult conversation, and it is served raw, the same way in the playground on this page as through the API. If you came looking for an uncensored ChatGPT for stories and characters, this is the part of Vellria that does that job, paid from credits rather than a monthly subscription.

Roleplay runs through the system prompt. Describe the character, the setting and how the scene should feel, then talk to it as the user; the model keeps that voice from turn to turn as long as the earlier messages travel with each request. Nothing persists on our side between requests, so the conversation, the character sheet and any memory you want stay in your own app. That is how it serves as a character AI alternative you control instead of a persona someone else hosts.

The API speaks the OpenAI chat format. Point an OpenAI SDK at the Vellria base URL, use a vll_ key from the console and the model id from the quickstart; streaming, usage counts and the usual message roles behave the way existing code expects. Every response also reports what it cost in credits and dollars, so an app can keep a running total without a second call.

It reads pictures as well as text. Upload an image, pass its address as an image_url part in a user message and ask about it: describe a character from a portrait, continue a scene from a frame, write a caption. When the picture itself is the goal, Seedream 5.0 Pro makes stills and Wan 3.0 Pro makes clips, on the same credits and the same keys.

Pricing

Each reply is charged per token from your credits. Fractions of a credit add up on your account and are taken from the balance as whole credits.

TokensPrice per 1M tokens
Input50 credits ($0.50)
Cached input5 credits ($0.05)
Output200 credits ($2.00)

Limits

Context window:1,048,576 tokens
Longest reply:4,096 tokens (max_tokens, default 1,024)
Messages per request:Up to 200
Image input:4 per message, 8 per request, up to 20 MB each

Quickstart

Any OpenAI SDK works. Set the base URL to https://vellria.com/v1, use your vll_ key, and pass the model id vellria-uncensored-chat.

curl
curl https://vellria.com/v1/chat/completions \
  -H "Authorization: Bearer vll_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "vellria-uncensored-chat",
    "messages": [
      {"role": "system", "content": "You are Mira, a sarcastic space pirate. Stay in character."},
      {"role": "user", "content": "Mira, where are we headed tonight?"}
    ]
  }'
python
from openai import OpenAI

client = OpenAI(api_key="vll_...", base_url="https://vellria.com/v1")

stream = client.chat.completions.create(
    model="vellria-uncensored-chat",
    messages=[
        {"role": "system", "content": "You are Mira, a sarcastic space pirate. Stay in character."},
        {"role": "user", "content": "Mira, where are we headed tonight?"},
    ],
    stream=True,
)
for chunk in stream:
    if chunk.choices:
        print(chunk.choices[0].delta.content or "", end="")
javascript
import OpenAI from "openai"

const client = new OpenAI({ apiKey: "vll_...", baseURL: "https://vellria.com/v1" })

const stream = await client.chat.completions.create({
  model: "vellria-uncensored-chat",
  messages: [
    { role: "system", content: "You are Mira, a sarcastic space pirate. Stay in character." },
    { role: "user", content: "Mira, where are we headed tonight?" },
  ],
  stream: true,
})
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "")
}

Every field, the streaming format and the error codes are in the chat section of the API docs. Keys are created on the API keys page.

Example prompts

  • You are Captain Mira Voss, a sarcastic adult smuggler with a soft spot for strays. I am your new first mate and we are stuck on your ship through a long night jump. Stay in character and open the scene.

    Try this prompt
  • Write the opening of a slow-burn romance between two adult rivals forced to share a mountain cabin during a snowstorm. Third person, past tense, about three hundred words.

    Try this prompt
  • Let's play a noir detective story. You narrate and voice everyone else; I play the detective. Begin in a rain-soaked bar at midnight, with a stranger who knows my name.

    Try this prompt
  • Stay in character as Lord Aurel, a vampire noble who has ruled his court for centuries, and answer my questions about his rivals with dry wit.

    Try this prompt
  • Give me five flirtatious opening lines for an adult character in a dating sim, each in a different tone, from shy to bold.

    Try this prompt

Tips

  • Put the character, the setting and the rules of the scene in the system prompt and keep the user messages for what happens next; a role holds longer when its brief does not move.
  • Send the earlier turns back with every request. The API keeps no history, so anything you leave out is something the model has never seen.
  • Set max_tokens to the length you actually want. Shorter limits come back faster and cost less, and the balance check before each request is based on that number.
  • Input served from the cache is billed at the lower cached rate. A long system prompt that stays the same at the start of every request is the part most likely to be cached, so keep it stable instead of rewriting it each turn.

When to pick Uncensored AI Chat

Pick it when

  • You want an uncensored roleplay or story partner that keeps a character's voice across a long conversation.
  • You are building a chat or character app and need an OpenAI-compatible endpoint you can switch to by changing the base URL.
  • You would rather pay per token from prepaid credits than for a monthly chat subscription.

Pick another model when

  • You want a picture rather than words; Seedream 5.0 Flash drafts stills at a flat price.
  • You want a moving scene; Wan 3.0 Pro turns a prompt or a still into a clip.

FAQ

Is Uncensored AI Chat really uncensored?

Yes. It is offered as a raw model: your messages and system prompt reach it as you wrote them, nothing is rewritten on the way, and replies come back unedited. The playground on this page and the API behave the same.

Is Uncensored AI Chat free?

Free to start: a new account created with Google gets 20 free credits, valid for 7 days, which you can spend here at 50 credits ($0.50) per 1M input tokens and 200 credits ($2.00) per 1M output tokens. After that, replies are paid from prepaid credits.

Can it do roleplay and stay in character?

Yes. Give it a character, a setting and a tone in the system prompt and it answers in that voice turn after turn. Because each request carries the whole conversation, the character stays consistent as long as you send the earlier messages back, and you can change the rules mid-story by editing the system prompt.

How much does Uncensored AI Chat cost?

It is billed per token. Input, cached input and output each have a price per 1M tokens, shown in the pricing table on this page from the live catalog. Every reply returns credits_charged and cost_usd, and fractions of a credit add up on your account instead of being rounded up per message.

Is it compatible with the OpenAI API?

Yes. POST /v1/chat/completions takes the OpenAI chat format (model, messages, stream, max_tokens, temperature, top_p) and returns OpenAI-shaped responses and stream chunks. The official OpenAI SDKs work once the base URL points at Vellria and the key is a vll_ key; the API docs list every field.

Can I send images to the chat?

Yes. Upload the image with POST /v1/uploads, then pass the returned address as an image_url part in a user message; data URLs are not accepted. How many images fit in one message and one request is in the limits table on this page.

Are my conversations stored?

No. Chat requests sent through the API, the playground on this page included, are not stored; only the token counts and the charge are recorded for billing. To keep a conversation, save it in your own app and send it back with the next request.