API Documentation
Start using the uncensored LLM API in seconds. Our OpenAI-compatible endpoint delivers raw text generation without content refusals for lawful adult or unrestricted use.
Authentication & Keys
Authentication is simple and immediate. You get a single API key upon signup via Google or email. Pass this key in the Authorization header as a bearer token. This key identifies your prepaid credit and enforces your request limits. Rotate keys by generating a new one on the dashboard; the old key stops working instantly.
Chat Completions Endpoint
Send your first request to the /v1/chat/completions endpoint. The model ID is uncensored. It accepts standard OpenAI message structures and returns raw text responses. Errors like missing credit return 402, while invalid keys return 401. Use this endpoint for standard text generation tasks.
curl https://api.setituncensored.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the capital of France."}]
}'
Python SDK
Integrate directly with the official OpenAI Python library. Configure the base URL to point to our servers. Pass your API key and model ID. This approach works with existing client code that expects OpenAI compatibility. Adjust parameters like temperature to control randomness. Streaming is supported via the stream flag.
from openai import OpenAI
client = OpenAI(base_url="https://api.setituncensored.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)
Node SDK
Use the openai Node.js package for server-side integration. Set the baseURL to our API endpoint. Initialize the client with your API key. Send messages and handle the response object. This setup allows you to embed uncensored generation into your Node applications easily. Manage tokens and handle errors programmatically.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.setituncensored.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);
Streaming Responses
Enable streaming by setting stream: true in your request. You receive Server-Sent Events (SSE) chunks. Each chunk contains partial text tokens. The final chunk includes usage statistics for token counting. This method reduces perceived latency for long responses. It is ideal for real-time UI updates in web applications.
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 & Context
The context window supports 100,000 tokens total. Max output per request is 16,000 tokens. You are limited to 300 requests per minute. Concurrency is capped at 8 simultaneous requests per key. Requests exceeding 8 MB are rejected. Handle 429 errors by implementing exponential backoff. Credit is charged only for actual token usage.
Common questions
How does the uncensored AI API handle content?
The model does not refuse lawful adult, fictional, or controversial topics. It only blocks sexual content involving minors. Responses are direct without standard corporate filtering. This applies to all requests sent to the endpoint.
What happens if I hit the rate limit?
You receive a 429 Too Many Requests error. You can retry after a short delay. The limit is 300 requests per minute per key. Concurrency is restricted to 8 simultaneous connections. Adjust your client logic to handle these constraints gracefully.
Does the uncensored LLM online service store my prompts?
Prompts are not used for training your data. We store minimal data for billing purposes. Your account requires only an email address. No phone number or personal details are necessary for API access. Privacy is maintained by design.
Get your API key in seconds
Sign up, grab your key, update your base URL. That is all there is to it.