id ▾
Get your key

Uncensored Chat Completions API

Start sending requests to our unmoderated AI endpoint using standard OpenAI-compatible libraries. You get a dedicated uncensored model without shared infrastructure unpredictability.

Authentication & Base URL

The base URL for all requests is https://api.aiunmoderated.com/v1. You must include your API key in the Authorization header for every call. This key is generated instantly when you sign up via Google or email. There are no phone numbers required. We do not charge for errors or refusals, but you must have prepaid credit to send tokens.

First Request

Send a standard chat completion request to test connectivity. The model ID is always uncensored. This model answers without content refusals for lawful adult use. It is not GPT or Claude. It is an open-weight model tuned for unrestricted output. You can send up to 16,000 tokens in the response.

curl https://api.aiunmoderated.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Summit meeting notes from today"}]
  }'

This request confirms your key works. The system returns a full text response. You can adjust the model ID if we add others later, but currently only one is available.

Python SDK Integration

Use the official OpenAI Python library to connect. Set the base URL to our endpoint. This allows you to use familiar methods like chat.completions.create. The library handles JSON serialization automatically. You do not need a custom client wrapper. Just pass your key and the base URL.

from openai import OpenAI

client = OpenAI(base_url="https://api.aiunmoderated.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

The response object contains the generated text. You can access it via response.choices[0].message.content. This works for simple prompts and complex systems. Streaming is also supported via the same client.

Node SDK Usage

The Node.js SDK works identically to the Python version. Initialize the client with your key and base URL. This ensures compatibility with existing codebases. You can use standard async/await patterns. The library handles retries and timeouts. Pass the model ID as uncensored. This is the only model we host. There is no routing logic. You get direct access to the server.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.aiunmoderated.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

Handle errors by checking the response status. The API returns standard HTTP codes. Use these to debug your integration. No extra configuration is needed for basic usage.

Streaming & Token Usage

Enable streaming by setting stream: true in your request. The API sends Server-Sent Events (SSE). Each chunk contains partial text. The final chunk includes the full token usage statistics. This helps you track costs accurately. You can process tokens in real time. This reduces perceived latency for users. Display text as it arrives. The model supports function calling and JSON mode. Use these features for structured data extraction.

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Check the usage field in the last chunk. It shows input and output token counts. These counts determine your prepaid credit deduction. Errors do not consume credit. Only successful token generation does.

Limits, Errors & Context

The context window is 100,000 tokens total. This includes prompt and completion. The max output is 16,000 tokens. You can send 300 requests per minute. Only 8 requests can run simultaneously per key. Request bodies must be under 8 MB. If your key is invalid, you get a 401 error. If you have no credit, you get a 402 error. If you exceed the rate limit, you get a 429 error. These errors are free. Your prepaid credit never expires. You only pay for tokens sent. This structure eliminates monthly locks. You control your spending directly.

FAQ

What is the unmoderated AI context window?

The context window is 100,000 tokens total. This includes both the prompt and the completion. The maximum output per request is 16,000 tokens. You can adjust the <code>max_tokens</code> parameter to control output length.

Why do I get a 402 error?

A 402 error means your prepaid credit is exhausted. You must top up using crypto to continue sending requests. Errors and refusals do not consume credit. Only successful token generation costs money.

Does this uncensored LLM support function calling?

Yes, the model supports function calling. You can use the <code>tools</code> and <code>tool_choice</code> parameters. The model will return structured tool calls in the response. This works with standard OpenAI-compatible clients.

Get your key now

Sign up, copy the key, update your endpoint. Done.

Get your key