EN ▾
Start now

Developer Quickstart Guide

This quickstart guide shows you how to connect your existing code to an openai uncensored API that requires zero changes. You get raw, unfiltered LLM outputs via standard OpenAI-compatible endpoints with transparent token pricing.

01

Authentication and Base URL Setup

Connect by pointing your SDK to our base URL and passing your API key. We provide a direct, protocol-compliant alternative that requires zero code changes. You only need to change the base_url and the API_KEY environment variable. Your key is generated instantly upon signup via Google or email. No phone number is required. Errors and refusals are free, so you only pay for real token usage. The model ID to send is always "uncensored".

Our API serves one dedicated uncensored large language model. It is not GPT, Claude, Gemini, Grok, DeepSeek, or any other vendor's model. We run an open-weight model tuned to answer without content refusals for lawful adult use. A hard content limit applies: we refuse requests involving sexual content with minors. All other lawful topics remain accessible.

First Request

Make your first call using the standard POST /v1/chat/completions endpoint. This uncensored model accepts text in and returns text out. You can use any OpenAI-compatible client by updating the base URL. The context window allows 100,000 tokens for prompt plus completion together. Max output is 16,000 tokens per request. If you do not set max_tokens, the limit drops to 2,048 tokens. Function calling and JSON mode are available. Streaming via SSE is supported for real-time token generation.

curl https://api.openaiuncensored.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List three common Unix commands for disk usage."}]
  }'

Python SDK Integration

Use the official Python SDK to integrate this uncensored AI API into your applications. Set the base_url to our endpoint and provide your key. The model name is "uncensored". You can configure parameters like temperature, top_p, and seed. Presence penalty and frequency penalty are also supported. Stop sequences work as expected. JSON mode ensures structured output when needed. The SDK handles retries and streaming automatically. This approach works for simple scripts or complex backend services. No extra dependencies are required beyond the standard library.

from openai import OpenAI

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

Node SDK Integration

Integrate with Node.js by setting the base URL in your configuration. The uncensored model responds to standard chat-completions requests. You can enable function calling for tool use. JSON mode is available for strict output formatting. The SDK supports streaming responses via server-sent events. Token usage is included in the last chunk. You can set temperature and top_p for creativity control. Stop sequences limit the output length. Presence and frequency penalties help reduce repetition. The model handles long contexts efficiently. Debugging is straightforward with standard error objects.

import OpenAI from "openai";

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

Streaming Responses via SSE

Enable streaming by setting stream: true in your request. Tokens arrive in real-time via server-sent events. Each chunk contains partial text and usage data. The final chunk includes the total token count for the request. This method reduces perceived latency for users. It works seamlessly with the Python and Node SDKs. You can parse the stream line by line. Error handling remains consistent with non-streaming requests. Rate limits apply per key, not per connection. You can have 8 simultaneous requests per key. Each request is limited to 8 MB in body size.

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)

Limits, Errors, and Context

Monitor your usage to avoid service interruptions. The rate limit is 300 requests per minute per key. You can have 8 concurrent requests active at once. The request body must not exceed 8 MB. If you send an invalid key, you receive a 401 error. A 402 error indicates insufficient prepaid credit. A 429 error means you hit the rate limit. Credit never expires, so you can top up later. Prepaid credit is charged by real token usage. Errors are free, so you only pay for successful completions. The context window is 100,000 tokens total. Max output is 16,000 tokens unless specified otherwise.

02

Frequently asked questions

Is this the official openai uncensored service?

No, we are an independent service providing an openai compatible API. We run our own uncensored model, not GPT or any other vendor's model. Check the official documentation for details on other providers.

What models does this uncensored LLM API support?

We serve one dedicated uncensored large language model. The model ID is "uncensored". It is an open-weight model tuned for no refusals on lawful topics. We do not route between multiple models.

How do I pay for the uncensored AI API?

We accept crypto only: USDT on TRC20 or USDC on Base. Top-ups range from $20 to $500. Bonus credit is added for larger amounts. Credit never expires and is charged by token usage.

Get your API key

Register, copy the key, and update your base URL. That is all the configuration required.

Start now