Documentation
Everything Uncens can do
Uncensored chat, image generation & editing, an AI website builder, private voice input, weekly bonus credits and a full OpenAI-compatible API - all documented here. Pick a category or scroll.
Chat
Models, files, vision, images, voice, research, ghost mode
⌗Projects
Describe a website or app - the agent builds it live
◆Credits & plans
Tiers, the weekly bonus pool, gift codes, crypto
⌘API
OpenAI-compatible: chat, vision, tools, images
# taste the API in 10 seconds
curl https://uncens.xyz/api/v1/chat/completions \
-H "Authorization: Bearer uk_..." \
-H "Content-Type: application/json" \
-d '{"model": "UncensRoleplay", "messages": [{"role": "user", "content": "hello"}]}'01What is Uncens?
Uncens is an uncensored AI workspace: chat with models that don't lecture you, generate and edit images, build whole websites by describing them, send files and pictures, search the web - all under one dark roof. No app to install: everything runs in your browser at uncens.xyz.
| Surface | Kind | What it does |
|---|---|---|
| Chat | text | Uncensored assistants for anything - writing, code, brainstorming, questions you can't ask elsewhere. |
| Images | visual | Generate pictures from text and edit existing ones in natural language. Also uncensored. |
| Vision | visual | Attach images to chat messages and ask about them. |
| Web research | research | The model can pull live facts from the web - pages, GitHub repos, search results - into its answer. |
| Projects | build | An AI agent that writes, previews, tests and iterates on complete websites from a chat prompt. |
| API | build | Every model also available through an OpenAI-compatible HTTP API with function calling (see the API reference). |
02Quickstart
From zero to your first answer in under a minute:
- 1Open uncens.xyz - the ask bar is right there. Type your question and hit send. No login needed to try it.
- 2The bar flips into a full chat. Pick a model from the dropdown at the top - each shows its cost. Free models cost nothing while you explore.
- 3Want history, premium models or the API? Sign up (email + password) - free accounts get daily credits to keep testing.
- 4Attach files with the paperclip button (left of the composer): text files merge into your prompt, images become vision attachments.
- 5Ask for a picture in plain words - “generate a red neon skull” - and the image model fires automatically, with a cost confirm for premium models.
- 6Want a whole website? Ask for one and hit Start coding on the offer card that appears - the builder agent takes over (see Projects).
03FAQ
| Question | Short | Answer |
|---|---|---|
| Is it really uncensored? | short answer | Yes - the models ship without the usual refusals, within the limits of the underlying tech. Illegal content is still off-limits. |
| Do I need an account? | no | You can try the chat immediately. An account adds history, premium models, credits, projects and API keys. |
| What does it cost? | credits | Free tier gets daily credits. Paid tiers add a monthly refill plus a weekly bonus pool and unlimited use of many models - see Plans & tiers. |
| Do you store my chats? | private | Your chats are private to your account - never shared, never used for anything else. Prefer zero traces? Ghost mode stores nothing at all (see Privacy & data). |
| Can I use it from my IDE? | yes | The API is OpenAI-compatible - Cursor, Continue, aider, OpenWebUI etc. all work, including function calling and vision (see API reference). |
| Payment methods? | crypto | Plans and credit packs are paid in crypto - no card, no personal data. Gift codes work too. |
| Who are the models? | uncens | All models run under the Uncens name. We don't expose third-party branding - what you get is the behaviour, prices and limits listed here. |
04Chat basics
The composer at the bottom is all you need: type, send. Each conversation keeps its own model choice; the sidebar lists your conversations and coding projects, lets you rename or delete them. Code in answers renders as proper widgets - filename header, line numbers, copy and download buttons.
| Control | Where | What it does |
|---|---|---|
| Model dropdown | top bar | Switch models any time - the choice is remembered per conversation. Prices are shown per model. |
| New conversation | sidebar | Conversations are separate threads; each has its own model and history. |
| Edit a message | hover ✎ | Hover one of your own sent messages and hit ✎ to edit it and re-run from there - everything after it is removed and resent with your new text. |
| Resend | hover ↻ | Hover your message and hit ↻ to re-run it as-is (regenerate mode). |
| Regenerate | message action | Pull a fresh answer for the last prompt without resending anything. |
| Export | sidebar | Download a whole conversation as Markdown - code blocks included. |
| Command palette | ⌘K / Ctrl+K | Jump between conversations and recall saved prompt snippets without touching the mouse. |
05Choosing models
The model picker groups everything by class so you always know what you're getting:
| Group | Badge | Meaning |
|---|---|---|
| Uncensored models | - | The default pool: abliterated / uncensored models with no refusals. This is what the platform is about. |
| Normal models | NORMAL | Mainstream, non-abliterated models - same quality, but they apply their own content filters and may refuse requests. While one is selected, a notice above the composer reminds you; switch back to any uncensored model to drop the filters. |
| Image models | IMAGE | Text-to-image generators, in their own submenu. Selected automatically when you ask for a picture. |
| Vision models | 👁 | Models that can read attached images. They're marked inline in the picker - a non-vision model can't see your images. |
06Files, images & vision
The paperclip button (left in the composer) uploads files. There is deliberately no "mode toggle" - what a file becomes depends on what it is:
| Input | Types | What happens |
|---|---|---|
| Text files | .txt, .md, code, csv… | Contents are merged into your prompt - the model reads them directly. |
| PDFs | Fully read: every page's text enters the context (up to 40 pages); scanned pages are sent as images for vision analysis. | |
| Images | .png, .jpg, .webp… | Sent as vision attachments - ask about them, or request an edit (see below). |
| Binary files | .zip, .exe, … | Can't be read as text - the model is told a file is attached and a note is left in the chat. |
07PDF editing
Attach a PDF and ask for structural changes in plain words - the assistant prepares an edit plan, shows it as a card, and the edited document downloads when you press Run & download. Everything executes in your browser against the stored original.
| Capability | You say | What happens |
|---|---|---|
| Page surgery | “remove pages 2 and 3” · “only keep page 1 and 4” | Pages deleted, or the document rebuilt in the order you listed. |
| Merge & rotate | “merge these two PDFs” · “rotate the first page” | Attachments combine in order; pages rotate 90/180/270°. |
| Stamping | “add a CONFIDENTIAL watermark” · “number the pages” | Every page gets the watermark and/or a page-number footer. |
| Text replace | “replace Acme Corp with NovaCorp everywhere” | Exact matches are found, blanked out and redrawn (single words, names, dates work best). |
08Image generation & editing
There are no image "modes" - you ask in natural language. Saying something like “generate a picture of a red neon skull, cyberpunk style” routes your prompt to the image model automatically; premium image models show their cost for confirmation before running.
- 1Type the request in normal words - “draw…”, “generate an image of…”, “make a picture of…”.
- 2Confirm the cost if the model is premium (free-tier image models just run).
- 3The picture appears inline, typically within 5-45 seconds. Regenerate for variations.
Editing: attach an image (paperclip or paste) and describe the change - “make the sky stormy red”, “put the character in a leather jacket”. Dedicated edit models handle it; edits bill the edit model's own price and failed generations or edits are always refunded automatically.
09Web search & research
Ask about something current - “what happened with X today”, “latest news on Y” - and the model can search the live web before answering, with sources baked into the reply. While it works, a live research panel shows each step: the query it ran, the pages it read, what it extracted.
| Capability | Trigger | What you get |
|---|---|---|
| Web search | current-events or fact questions | Fresh results pulled into the answer, with the query shown in the research panel. |
| Page reading | paste any URL | The model fetches and reads the page's actual content instead of guessing from memory. |
| GitHub repos | paste a repo link | Repo structure and key files are pulled via the GitHub API - great for “how does X work” questions. |
10Voice input
Tap the microphone in the composer and speak - your words are transcribed privately, in your browser, via a local Whisper model. Nothing is uploaded anywhere. The first use offers a one-time model download; if your browser can't run it, the standard Web Speech engine is used as a fallback.
11Completion sounds
A small bell pill in the chat and project headers toggles completion sounds: a soft chime plays when an answer finishes, a build arpeggio when a project build completes, and a falling tone on errors. Handy for long generations - switch tabs and come back when you hear it. Sounds are on by default and the preference is remembered per browser.
12Ghost mode
Toggle ghost mode (the ghost icon next to the composer) and nothing about the conversation is ever stored: no conversation record, no messages. The chat lives only in your browser session. Rate limits still apply - ghost mode is privacy, not a free pass.
13Shortcuts & tips
| Shortcut | Where | What it does |
|---|---|---|
| ⌘K / Ctrl+K | palette | Search conversations and saved prompt snippets. |
| Ctrl+Shift+O | sidebar | New chat. |
| Ctrl+V an image | composer | Paste images directly as vision attachments or edit sources. |
| Sidebar collapse | edge button | Collapse the sidebar for full-width reading; find it again via the panel icon. |
| Prompt snippets | ⌘K → save | Save reusable prompts from the composer and recall them anywhere. |
| ✎ / ↻ hover | your messages | Edit-and-resend or plain resend of any of your own messages. |
14Build websites & apps
Projects turn a chat model into a website builder - describe what you want, watch it appear in the live preview, refine by talking, then download the files and host them anywhere. No build tools, no servers, no lock-in. Open the ⌗ coding tab in the chat sidebar (or the standalone Projects page), create a project and go.
- 1Switch the sidebar to ⌗ coding and hit + - or just ask for something buildable in a normal chat: “build me a landing page for X”. The assistant answers with an offer card - press Start coding and a project is created with the perfected prompt and the build starts automatically.
- 2Describe what to build in the chat panel - “a dark landing page for a streetwear brand with a gallery and newsletter signup”. The agent plans, writes files one by one and streams progress into a step-by-step transcript.
- 3Iterate in plain words - “make the header sticky”, “add a pricing section”, “fix that error”. Each turn rewrites only the files that change; the builder always sees the current state of every file.
- 4Preview errors are fed back to the model automatically - if the generated code throws in the console, the next step includes the error so it can self-heal.
- 5Edit any file yourself in the Code tab (save applies instantly), inspect the project's real database, then download the whole project as a ZIP for hosting anywhere - Netlify, GitHub Pages, any static host.
Projects are plain websites: HTML, CSS and JavaScript with libraries loaded from CDNs. They run fully client-side, so anything a browser can do works - canvas games, dashboards, API-driven tools (fetch), persistence via a real per-project SQLite database. The preview runs in a hardened sandbox inside your own browser; project code never executes on Uncens servers.
15The agent's toolbox
The builder is an agent with real tools, not a single prompt. Everything it does shows up as expandable cards in the transcript, so you can audit every step:
| Tool | What it does | Notes |
|---|---|---|
| Todo planning | Emits a step-by-step plan that renders as a live progress bar while it works | You always know what's left in a build. |
| write_file / edit_file | Creates and rewrites project files, whole-file or targeted snippet replacements | Every write keeps a version history you can restore (see below). |
| File explorer | Browse, rename and delete project files in a tree | In the workspace next to the preview. |
| File versions | Each file keeps a journal of its last versions with diffs | Restore any earlier version with one click - builds are never a one-way street. |
| Screenshot + vision | Captures the current preview and looks at it | Vision models see the render directly; on text-only models a vision module describes it. The agent literally checks its own work. |
| Playtest | Drives the preview like a user and reports what happens | The agent can verify flows before telling you it's done. |
| Web research | web_search, read_url and GitHub repo reading during a build | Real docs and references go into the code. |
| generate_image | Generates pictures into the project (hero art, backgrounds…) | You pick the image model on an ask card; billed per picture like normal image use. |
| Real database | Each project gets its own SQLite database | The agent's code uses window.db; you inspect tables and run SQL in the DB panel. |
16Builder tips & limits
| Topic | Detail | Advice |
|---|---|---|
| Model choice | chat panel | Any builder-enabled model can build; stronger coding models produce better sites. The pick is remembered per project. |
| Good prompts | specific | Name pages, sections, colors, vibe, content. “5 sections, black/red, mono font, crypto marketing” beats “make a nice site”. |
| File limits | caps | 60 files per project, 200 KB per file, ~1.5 MB total. Downloaded ZIPs are unaffected. |
| Cost | credits | Builder prompts bill like chat - per 1M tokens on the model you picked, shown in the model dropdown. |
| Framework projects | CDN | React/Preact/Tailwind load from esm.sh / cdn.tailwindcss.com - no npm, no bundler, it just runs. |
| Mobile | 3 tabs | On phones the workspace switches to Build / Preview / Code tabs with a device-size preview toggle. |
| Long builds | keep going | Big builds run several steps and may take minutes - watch the todo bar. If a stream dies, the run continues server-side. |
| Hosting | yours | The ZIP is a complete static site: unzip, upload, done. We never host or execute your project. |
17Plans, tiers & the weekly bonus
Uncens has a free tier and paid tiers (Tier 1, Tier 2). Tiers unlock premium models, bigger monthly credit refills, unlimited use of many models, higher API rate limits and API access. Live prices and exactly what each tier includes are on the pricing page and manageable from your profile.
On top of the monthly refill, every paid tier gets a weekly plan bonus - an extra refillable pool of ◆ 50 (Tier 1) / ◆ 240 (Tier 2+) credits that lands every 7 days:
| Rule | What it means | Why it's good |
|---|---|---|
| Refills weekly | +50/+240 credits every 7 days, on top of the monthly grant | A fresh top-up four times a month, not once |
| Spent first | The bonus pool is always consumed before your normal balance | Your paid credits last longer - bonus takes the wear |
| Yearly boost | Yearly plans raise every weekly refill by 25% | Paying yearly pays twice: cheaper plan + bigger weekly pool |
| Visible live | Emerald “Weekly bonus” bar above your credit balance in the sidebar and profile | You always see what's in the pool and when it refills |
18Credits
Everything is priced in credits - ◆ 100 credits = $1. Chat models charge per million tokens by real usage (input and output separately), images and edits by the picture. Costs are only charged after a successful response; failures are refunded automatically.
| Source | How | Details |
|---|---|---|
| Where to see them | profile + sidebar | Live balance, per-model prices and full usage history in your profile; the sidebar always shows the current total. |
| Top-ups | credit packs | One-time credit packs bought with crypto - instant, no card, no personal data. Bigger packs give more credits per dollar. |
| Free tier | daily grant | Free accounts get a small daily credit grant - enough to keep testing. The grant lands while your balance is low; a stockpiled wallet doesn't farm free credits. |
| Monthly refill | paid tiers | Tier credits (◆ see pricingper plan) land automatically on each cycle rollover. |
| Weekly bonus | paid tiers | The extra weekly pool described above - refills every 7 days, spent before your normal balance. |
| Unlimited models | tier perk | Models marked “T1 ∞” / “T2 ∞” cost 0 credits on those tiers. |
19Gift codes
Redeem a gift code in your profile (wallet card → redeem) to instantly get its tier and/or credits. Codes stack: a tier code extends your plan pro-rata, credit codes add to your balance. One code, one redemption - after that it's spent.
20Privacy & data
| What | Status | Details |
|---|---|---|
| Conversations | private | Your chats belong to you and your account only - never shared, never sold, never used to train anything. Delete any conversation (or your whole account) whenever you want, and it's gone. |
| Ghost mode | not stored | No conversation, no messages - nothing hits the database. Use it whenever it matters. |
| Voice input | local | Transcription runs in your browser; audio never leaves your device. |
| Project files | private | Projects live in your account and the code only ever runs in your own sandboxed browser - downloadable and deletable at any time. |
| Inactivity cleanup | automatic | Without a login, chats and projects are deleted after 7 days of inactivity on free accounts - after 60 days if you've ever held Tier 1 or Tier 2 (one confirmed plan is enough). Your account and credit balance are never touched; simply log in to keep everything. |
| Payments | crypto | No card data, no personal billing info - transactions live on the blockchain, not with us. |
| API keys | hashed | Keys are stored hashed; a key is shown in full exactly once when created. |
| Account deletion | on request | Ask on Telegram and your account and data get wiped. |
21API overview
The Uncens API is an OpenAI-compatible HTTP API. Point any OpenAI SDK or tool at the base URL below, use one of your API keys as the Bearer token, and everything works - same models, same uncensored behaviour, same credit prices as the website. Agent-grade by design: function calling, vision input and streamed reasoning are first-class.
| Property | Type | Value |
|---|---|---|
| Base URL | string | https://uncens.xyz/api/v1 (all endpoints below are relative to this) |
| Protocol | - | HTTPS · JSON in / JSON out · SSE for streaming |
| Statelessness | - | Requests are independent - no conversations are stored on the API side |
| Compatibility | - | OpenAI chat completions shape, including tools, tool_choice and vision content parts |
22Authentication
All requests authenticate with a Bearer API key. Create one in your profile → Settings → API keys - the key is shown exactly once, so copy it immediately. Keys start with uk_….
subscription_required until a plan is active - the key then works instantly, no re-creation needed.# always send the key as a Bearer token
Authorization: Bearer uk_xxxxxxxxxxxxxxxxxxxxxxxxLost a key or afraid it leaked? Revoke it in your profile and create a new one - revocation is effective immediately.
23API quickstart
The fastest path: create a key in your profile, then run the curl above with your key. Python and Node examples:
from openai import OpenAI
client = OpenAI(base_url="https://uncens.xyz/api/v1", api_key="uk_...")
resp = client.chat.completions.create(
model="UncensRoleplay",
messages=[{"role": "user", "content": "tell me about yourself"}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://uncens.xyz/api/v1", apiKey: "uk_..." });
const resp = await client.chat.completions.create({
model: "UncensRoleplay",
messages: [{ role: "user", content: "tell me about yourself" }],
});
console.log(resp.choices[0].message.content);24Chat completions
POST /chat/completions - OpenAI-compatible. Sends up to the last 40 messages to the model and returns the reply. System messages are supported (content policies follow the website defaults).
| Parameter | Type | Description |
|---|---|---|
| model | string, required | The model ID - e.g. "UncensRoleplay". GET /models lists everything your key can use. |
| messages | array, required | OpenAI format: {role: system|user|assistant|tool, content: string | parts[]}. Supports assistant turns with tool_calls and tool results. Last 40 are sent. |
| stream | boolean | Set true for Server-Sent Events token streaming (see Streaming & reasoning). |
| tools | array | OpenAI-format function definitions - forwarded to the model, tool_calls come back (see Function calling). |
| tool_choice | string | object | Forwarded as-is: "auto", "none" or a pinned function. |
{
"id": "cmpl-...",
"object": "chat.completion",
"created": 1725000000,
"model": "UncensRoleplay",
"choices": [
{ "index": 0, "message": { "role": "assistant", "content": "..." }, "finish_reason": "stop" }
],
"usage": { "prompt_tokens": 12, "completion_tokens": 87, "total_tokens": 99 }
}25Vision (image input)
Vision-capable models accept OpenAI-style multipart content: text plus image_url parts with data: URLs (base64-encoded images). Send the picture inline with the question - no separate upload endpoint.
{
"model": "UncensRoleplay",
"messages": [{
"role": "user",
"content": [
{ "type": "text", "text": "what's in this picture?" },
{ "type": "image_url", "image_url": { "url": "data:image/png;base64,iVBORw0KGgo..." } }
]
}]
}data:image/… URLs are accepted on this endpoint - public https URLs are not fetched. Vision models are marked 👁 in the model picker and GET /models notes.26Function calling
Send OpenAI-format tools definitions and the model returns tool_calls you can execute and feed back - full agent loops work unchanged. Up to 64 tools per request; tool_choice is honored.
{
"model": "UncensRoleplay",
"messages": [{ "role": "user", "content": "weather in Berlin?" }],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"parameters": {
"type": "object",
"properties": { "city": { "type": "string" } },
"required": ["city"]
}
}
}],
"tool_choice": "auto"
}finish_reason: "tool_calls"; send the results as {role: "tool", tool_call_id: …} messages to continue the loop. If a model doesn't support function calling, the call is automatically retried without tools instead of failing.27Streaming & reasoning
Add "stream": true to receive the answer as SSE chunks - identical to OpenAI's streaming format, terminated by data: [DONE]. Thinking models additionally stream their reasoning in a delta.reasoning_content field, separate from the answer content.
curl https://uncens.xyz/api/v1/chat/completions \
-H "Authorization: Bearer uk_..." \
-H "Content-Type: application/json" \
-d '{"model": "UncensRoleplay", "stream": true,
"messages": [{"role": "user", "content": "count to five"}]}'data: {"choices":[{"delta":{"reasoning_content":"let me count…"}}]}
data: {"choices":[{"delta":{"content":"1"}}]}
data: {"choices":[{"delta":{"content":", 2"}}]}
...
data: [DONE]28Models & pricing
GET /models lists exactly what your key can use, including your live credit balance. The tables below are the live catalog - chat models bill per 1M tokens by actual usage, image models per picture.
Chat models - text, per 1k tokens
| Model name (use in the API) | Price | Min tier | Unlimited |
|---|---|---|---|
UncensRoleplay | ◆ 0.10 in · ◆ 0.20 out /1k | free* | T1 ∞T2 ∞ |
Uncens-code-31b-heretic | ◆ 0.10 in · ◆ 0.55 out /1k | free* | - |
Uncens-code-flash | ◆ 0.40 in · ◆ 0.40 out /1k | free* | - |
Kimi K2.6 | ◆ 0.00 in · ◆ 0.00 out /1k | T1 | T1 ∞T2 ∞ |
5.3 Flash | ◆ 0.70 in · ◆ 1.00 out /1k | T1 | - |
Uncens-2 | ◆ 0.10 in · ◆ 0.20 out /1k | free* | T2 ∞ |
Deepseek v4 flash | ◆ 0.00 in · ◆ 0.00 out /1k | T1 | T1 ∞T2 ∞ |
Uncens-code-flash | ◆ 0.04 in · ◆ 0.20 out /1k | free* | T1 ∞T2 ∞ |
Uncens-code-pro | ◆ 0.50 in · ◆ 0.80 out /1k | free* | - |
Uncens-code-3.6 | ◆ 0.19 in · ◆ 0.94 out /1k | free* | T2 ∞ |
Uncens-code-27b | ◆ 0.08 in · ◆ 0.44 out /1k | free* | T2 ∞ |
Image models - per generated picture
| Model name (use in the API) | Price | Min tier | Unlimited |
|---|---|---|---|
Uncens-MimiMax-H3-Text-to-Video | ◆ 100 / image | free* | - |
SDXL | ◆ 3 / image | free* | T2 ∞ |
Uncens Anime | ◆ 6 / image | free* | T2 ∞ |
Uncens Vision | ◆ 1 / image | T1 | T1 ∞T2 ∞ |
Uncens Vision Pro | ◆ 3 / image | T1 | - |
Uncens Chroma | ◆ 1 / image | free* | T1 ∞T2 ∞ |
Image-edit models - per edit
| Model name (use in the API) | Price | Min tier | Unlimited |
|---|---|---|---|
Uncens-Image-Edit | ◆ 6 / edit | free* | - |
curl https://uncens.xyz/api/v1/models -H "Authorization: Bearer uk_..."29Image generation
POST /images/generations - OpenAI-compatible. Generates a picture from a text prompt with the named IMAGE model and returns base64 PNG bytes. Statelessness: nothing is stored on our side.
| Parameter | Type | Description |
|---|---|---|
| model | string, required | An IMAGE-type model ID - e.g. "Uncens-MimiMax-H3-Text-to-Video". |
| prompt | string, required | What to draw, max 1000 characters. Uncensored. |
curl https://uncens.xyz/api/v1/images/generations \
-H "Authorization: Bearer uk_..." \
-H "Content-Type: application/json" \
-d '{"model": "Uncens-MimiMax-H3-Text-to-Video", "prompt": "a red neon skull, cyberpunk"}'{
"created": 1725000000,
"data": [{ "b64_json": "iVBORw0KGgo..." }],
"credits_charged": 1.5
}# decode and save
import base64
with open("out.png", "wb") as f:
f.write(base64.b64decode(resp["data"][0]["b64_json"]))30Image editing
POST /images/edits - edit an existing picture with natural language using a dedicated IMAGE_EDIT model. Give it any image and describe the change.
| Parameter | Type | Description |
|---|---|---|
| model | string, required | An IMAGE_EDIT-type model ID - e.g. "Uncens-Image-Edit". |
| prompt | string, required | The change to apply - e.g. “make the background black and add red lightning”. Max 4000 chars. |
| image | string, required | The source image: a base64 string, a data: URL, or a public https URL. Max 25 MB. |
# base64 or https URL both work
curl https://uncens.xyz/api/v1/images/edits \
-H "Authorization: Bearer uk_..." \
-H "Content-Type: application/json" \
-d '{"model": "Uncens-Image-Edit",
"prompt": "make the sky stormy red",
"image": "https://example.com/pic.png"}'31Credits & billing
Everything is billed in credits - ◆ 100 credits equal $1. Chat models charge per 1M tokens (in and out separately) based on actual usage reported by the model, charged after the response completes - a failed request never costs anything. Image generation and edits charge their fixed per-image / per-edit price. On paid tiers the weekly bonus pool is consumed first, then the normal balance. Your balance and every model's exact price are in GET /models and your profile.
32Errors
| Error | Class | Meaning & fix |
|---|---|---|
| 401 invalid_api_key | auth | Missing, malformed, unknown or revoked key. |
| 403 subscription_required | auth | Free-plan key - upgrade to Tier 1/2 to call the API. |
| 403 insufficient_tier | model | The model needs a higher tier than your key has. |
| 400 invalid_request_error | request | Missing/invalid parameters - the message says which. |
| 404 model_not_found | model | Unknown model, or not exposed via the API. |
| 402 insufficient_credits | billing | Balance too low for this request - top up at /pricing. |
| 429 rate_limit_exceeded | rate | Too many requests per minute on your tier. |
| 502 upstream errors | server | Provider hiccup - safe to retry; failed images are refunded. |
{ "error": { "message": "...", "type": "invalid_api_key", "code": "invalid_api_key" } }33Rate limits
| Scope | Limit | Notes |
|---|---|---|
| Tier 1 keys | 20 requests / minute | Per key, sliding window. |
| Tier 2 keys | 60 requests / minute | Per key, sliding window. |
| Images | shared queue | Generations take ~5-45s each; edits similar. Sequential calls are most reliable. |
34SDKs & tools
Any OpenAI-compatible client works - point it at the base URL with your key:
Base URL: https://uncens.xyz/api/v1
API key: uk_... (profile → Settings → API keys)
Works with: OpenAI Python/Node SDK · Cursor · Continue · OpenWebUI ·
LiteLLM · langchain · aider · anything with a "custom OpenAI provider"
