Uncensored API quickstart
Integrate our uncensored LLM into your stack with zero friction. Drop in our base URL and API key, then run standard OpenAI-compatible code to generate text without content refusals.
Install the official OpenAI SDK
Start by installing the library that powers your existing infrastructure. We support the standard client used across the industry, ensuring your code remains portable. This avoids vendor lock-in while giving you access to our uncensored model via the same interface.
from openai import OpenAI
client = OpenAI(base_url="https://api.kimicontextwindow.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)
Set your base URL and API key
Point your client to our dedicated endpoint to bypass standard filters. Configure your environment variables immediately to keep credentials secure. Our API expects a specific base URL and a valid key for authentication.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.kimicontextwindow.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);
Send your first request to /v1/chat/completions
Call the chat endpoint with your system and user messages. The model processes the input and returns a direct text response without unnecessary refusals. Use the uncensored model ID for unrestricted outputs.
curl https://api.kimicontextwindow.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Summarize the RFC 9001 document in 200 words"}]
}'
Handle streaming responses via SSE
Enable streaming to receive tokens as they generate, reducing perceived latency. The server sends Server-Sent Events, allowing your application to display output progressively. This is ideal for chat interfaces where users expect immediate feedback.
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)
Enable JSON mode or function calling
Structure your output for programmatic use by enabling JSON mode. You can also define tools for function calling to integrate with external systems. Both features work with our single uncensored model for reliable data extraction.
Check usage, limits, and errors
Monitor your token count and request limits to avoid service interruptions. Our API enforces a 100,000 token context window and a 300 requests per minute limit. If you see a 401, check your key; a 402 means you need to top up via crypto; and a 429 indicates you hit the rate limit.
FAQ
How do I get started with the uncensored API quickly?
Sign up with Google or email to get an API key instantly. Add your base URL and key to your OpenAI SDK, then send a request to the chat completions endpoint.
What is the context window limit for this uncensored LLM?
The model supports a 100,000 token context window for combined input and output. You can generate up to 16,000 tokens per request, or 2,048 if you do not specify a max_tokens value.
Why am I getting a 402 error on my uncensored AI API requests?
A 402 error indicates your prepaid credit is exhausted. You must top up using USDT (TRC20) or USDC (Base) to continue sending requests. Errors and refusals do not consume credit.
Get your API key
Register, copy the token, update base URL. That is all.