Developer Documentation for Uncensored LLMs
Drop your API key into any OpenAI-compatible client and start generating text without content filters. We provide a raw, uncensored model via a standard endpoint, letting you focus on building your application.
Authentication and Base URL
Your API key authenticates every request to our infrastructure. We require only an email address to create your account, and your key is generated immediately. Pass this key in the Authorization header using the Bearer scheme. Our base URL is HTTPS://api.unfilteredllms.com/v1, which works with the official OpenAI SDKs and any OpenAI-compatible client by simply changing the base_url configuration.
curl https://api.unfilteredllms.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return current server time in ISO format"}]
}'If you receive a 401 error, your key is either invalid or expired. If you see a 402 error, your prepaid credit is depleted. You can top up with USDT (TRC20) or USDC (Base) starting from $20, with bonus credit applied at higher tiers.
The Chat Completions Endpoint
We offer a single endpoint for text generation: POST /v1/chat/completions. This endpoint handles all your inference needs, accepting a list of messages and returning a completion. The model ID you must send is uncensored, an open-weight model tuned for raw output. It is not GPT, Claude, or any other vendor's model.
from openai import OpenAI
client = OpenAI(base_url="https://api.unfilteredllms.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)You can send up to 100,000 tokens in the prompt and completion combined. If you do not specify a max_tokens value, the model defaults to 2,048 tokens per request. This endpoint does not support embeddings, image generation, or fine-tuning.
Streaming Responses and Token Usage
Enable streaming by setting stream: true in your request. The API returns data via Server-Sent Events (SSE), allowing you to display tokens as they are generated. This reduces perceived latency for your users significantly.
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)Token usage details are included in the final chunk of the stream. This allows you to track consumption accurately without storing the entire response. Errors during streaming are free, so you only pay for successfully delivered tokens.
Function Calling and JSON Mode
Use the tools parameter to define function schemas, allowing the model to output structured data. You can also enforce strict JSON output by setting response_format to {"type": "json_object"}. This is essential for building reliable agents or parsing complex responses.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unfilteredllms.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 model supports tool_choice for forcing specific function calls. This ensures consistent behavior in production environments where deterministic output is critical. You can combine these features with standard parameters like temperature for precise control.
Parameters: Temperature, Top-P, and Constraints
Control creativity with temperature and diversity with top_p. Use stop sequences to halt generation at specific markers. You can also apply presence_penalty and frequency_penalty to reduce repetition.
Set a seed for reproducible results during testing. These parameters allow you to fine-tune the model's behavior without needing to retrain it. The model remains uncensored for lawful adult content, but will refuse sexual content involving minors.
Limits, Errors, and Context Window
Your API key is limited to 300 requests per minute and 8 concurrent requests. The maximum request body size is 8 MB. If you exceed these limits, you will receive a 429 Too Many Requests error. You can generate a new key to replace the old one if needed.
The context window is 100,000 tokens total. This allows for long documents or extensive conversation history. We do not offer an SLA, but our infrastructure is designed for high availability. Check the pricing page for current crypto top-up bonuses.
Common questions
Is the uncensored LLM API truly free from content filters?
Yes, the model does not refuse lawful adult, fictional, or controversial topics. However, we do enforce a hard limit on sexual content involving minors, which is refused consistently. This makes it ideal for NSFW applications without corporate guardrails.
How do I pay for the uncensored AI API?
We accept only cryptocurrency: USDT on the TRC20 network or USDC on the Base network. Top-ups range from $20 to $500, with bonus credit applied at higher tiers. Your prepaid credit never expires, and you only pay for tokens used.
Can I use this unfiltered LLM for local hosting?
This is a hosted API service, not a local model. You interact with it via our base URL using standard HTTP requests. If you need local hosting, you would need to download the open-weight model yourself, but our API provides convenience and scalability.
Get your API key now
Sign up, grab your key, point to the new base URL. You are ready to go.