Open account

Uncensored API Documentation

This uncensored API provides a direct OpenAI-compatible endpoint for high-volume text generation without content filters. Get started with prepaid tokens and crypto top-ups to bypass billing friction immediately.

Base URL and Authentication Setup

Connect to our uncensored LLM endpoint using the standard OpenAI SDK configuration. Point your client to HTTPS://api.openrouterabliterated.com/v1 and supply your generated API key in the Authorization header. This base URL works with any OpenAI-compatible client, allowing you to swap vendors without changing your integration code.

curl https://api.openrouterabliterated.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 linux commands for disk usage"}]
  }'

Authentication relies on a single active key per account. When you generate a new key, the previous one is instantly replaced.

First Request: Chat Completions

Send text input and receive text output using the standard chat-completions endpoint. Configure the model ID to "uncensored" for an open-weight model tuned to answer without refusals for lawful adult use. The model supports parameters like temperature, top_p, and stop sequences to control generation behavior.

from openai import OpenAI

client = OpenAI(base_url="https://api.openrouterabliterated.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)

Requests are charged based on real token usage. Errors and refusals do not consume your prepaid credit. The context window allows 100,000 tokens for both prompt and completion combined.

Node SDK Integration

Initialize the client with your API key and the specific base URL to ensure compatibility. Use the node SDK to handle asynchronous requests efficiently. This setup works for both local scripts and server-side applications requiring reliable uncensored AI outputs.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.openrouterabliterated.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);

The API returns structured JSON responses. You can parse the content directly into your application logic. No additional routing or model selection is required since we serve a single dedicated uncensored model.

Streaming Responses and Token Usage

Enable streaming by setting the stream parameter to true in your request payload. The API returns Server-Sent Events (SSE) chunks for real-time output. The final chunk contains the complete token usage statistics for billing accuracy.

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)

Streaming reduces perceived latency for long responses. Each token is counted toward your prepaid balance. You can monitor usage in real-time as the model generates text.

Rate Limits and Concurrency

Each API key is limited to 300 requests per minute and 8 simultaneous concurrent requests. The maximum request body size is 8 MB. These limits ensure stable performance for high-volume uncensored AI applications. Exceeding these limits triggers a 429 error.

Implement exponential backoff in your client to handle rate limits gracefully. The 16,000 token maximum output per request prevents excessive resource usage. Adjust your concurrency settings based on your application's needs.

Error Handling and Context Limits

Handle standard HTTP errors like 401 for invalid keys and 402 for insufficient credit. The 429 status indicates rate limit exhaustion. Context window errors occur when the combined prompt and completion exceed 100,000 tokens. Always check the response status code before parsing content.

Errors do not charge your prepaid credit. If you encounter a billing error, use the Support page for resolution. Credit never expires, so you can retry requests at your convenience.

Common questions

What is the openrouter abliterated model?

It is an open-weight uncensored large language model served by our API. It is not GPT, Claude, or any other vendor's model. It is tuned to answer without content refusals for lawful adult use.

How does the prepaid credit work?

Credit is charged by real token usage, with errors and refusals being free. You top up with USDT or USDC via crypto. No subscription or monthly fee is required.

Which payment methods do you accept?

Crypto only: USDT on TRC20 or USDC on Base, any whole amount from $20 to $500. Bonus credit applies from $50.

Get your API key

Sign up, copy the key, update your base URL. That is all.

Open account