Uncensored api quickstart guide
The uncensored LLM API provides an openai compatible chat-completions endpoint that removes moderation filters for reliable tool calling and unrestricted text generation. This guide shows you how to authenticate, send requests, and handle streaming responses with the single uncensored model.
Base URL and authentication
Start by pointing your SDK or HTTP client to the base URL https://api.uncensoredllmmodels.com/v1. You need a valid API key sent in the Authorization header as a Bearer token. Create an account using Google or email, and the system displays your key immediately. One active key per account simplifies rotation without complex proxy setups.
curl https://api.uncensoredllmmodels.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a list of 5 Python libraries for async web scraping"}]
}'
First request via chat completions
Send a POST request to /v1/chat/completions with the model ID set to uncensored. The endpoint accepts standard OpenAI payload structures for text-in, text-out interaction. You can specify max_tokens to control output length, defaulting to 2,048 if omitted. The model responds with generated text without applying typical safety refusals for lawful adult content.
from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredllmmodels.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)
Verify your model endpoint
Use the GET /v1/models endpoint to confirm connectivity and list available models. This returns metadata about the uncensored model, ensuring your client is correctly configured. It is a quick sanity check before integrating the API into your automation pipelines. No other models are served by this specific endpoint.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredllmmodels.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);
Function calling and JSON mode
The API supports tool definitions and JSON mode via response_format. You can enforce structured output using {"type": "json_object"} for reliable parsing in your code. Function calling allows the model to return structured data for automation tasks. This eliminates the need for post-processing regex hacks on raw text outputs.
Streaming responses and token usage
Enable streaming by setting stream: true in your request. The API sends Server-Sent Events (SSE) chunks as the model generates text. Token usage statistics appear in the final chunk of the stream. This allows your application to track costs and context window consumption in real time.
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)
Rate limits, errors, and context window
Each key allows 300 requests per minute and eight concurrent requests. The context window supports 100,000 tokens total, with a maximum output of 16,000 tokens. Errors include 401 for invalid keys and 402 if prepaid credit is exhausted. Requests under 8 MB are accepted. Refusals due to content policy are rare but apply to minor sexual content.
Support Q&A
Is this uncensored LLM API compatible with standard OpenAI SDKs?
Yes, it uses the same request and response structures as the OpenAI API. You only need to update the base URL and API key in your client configuration. All standard parameters like temperature and top_p are supported.
What happens if I exceed the rate limits?
The API returns a 429 status code when you exceed 300 requests per minute or eight concurrent connections. You should implement exponential backoff in your client. Retry after the specified delay to avoid further throttling.
How does the prepaid credit model work?
Credit is charged based on real token usage with errors being free. You can top up using USDT or USDC with bonus credits for larger amounts. No subscription fees apply, and unused credit never expires.
Access via API key
Register, retrieve your key, and update your base URL. That is the complete configuration.