Developer documentation for the uncensored API
Start generating unrestricted content immediately with our OpenAI-compatible API. This quickstart guide covers authentication, your first request, and streaming setup in minutes.
Authentication and base URL
Connect using a single API key and the designated base URL. Sign up via Google or email to receive your key instantly. Send requests to https://api.unrestrictedllmmodels.com/v1 with your key in the Authorization header. This setup works with any standard OpenAI-compatible client without custom adapters.
curl https://api.unrestrictedllmmodels.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a JSON object with keys for user_id and role."}]
}'Your key grants access to one active model. If you generate a new key, the old one becomes invalid immediately. No phone number is required for registration.
Chat completions endpoint
Send messages to the chat endpoint to receive text responses. Use POST /v1/chat/completions with your model ID set to uncensored. The model processes input and returns generated text without filtering lawful adult or creative topics.
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestrictedllmmodels.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)Each request consumes tokens from your prepaid credit. Errors do not charge your balance. You can adjust parameters like temperature to control randomness.
Streaming responses and token usage
Receive responses in real-time using Server-Sent Events (SSE). Streaming allows you to display text as it generates rather than waiting for the full response. The final chunk of the stream contains the total token usage for the request.
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)This feature is ideal for long-form creative writing or roleplay scenarios where latency matters. Set the stream parameter to true in your request body.
Function calling and JSON mode
Integrate structured data extraction or tool usage directly into your workflow. Enable JSON mode by setting response_format to {"type": "json_object"} for consistent outputs. Function calling supports tools and tool_choice parameters for complex agent behaviors.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unrestrictedllmmodels.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);This flexibility allows you to build applications that parse responses programmatically. Use it for data extraction or controlling external systems via API calls.
Parameters: temperature, top_p, and seed
Control the creativity and reproducibility of your outputs. Adjust temperature for randomness, top_p for nucleus sampling, and stop sequences to halt generation. The seed parameter ensures deterministic results for testing.
These parameters allow fine-tuning of the model's behavior without changing the underlying weights. Use presence_penalty and frequency_penalty to manage repetition.
Rate limits and quotas
Monitor your usage to avoid interruptions. You are limited to 300 requests per minute and 8 concurrent requests per key. The maximum request body size is 8 MB. Each account holds one active key at a time.
The context window supports 100,000 tokens for prompt and completion combined. Errors return appropriate HTTP status codes: 401 for invalid keys, 402 for insufficient credit, and 429 for rate limits. Refusals due to content policy are free and do not consume credits.
Common questions
How do I get started with the unrestricted LLM models API?
Sign up via Google or email to receive your API key instantly. No phone number is needed. Add your key to your OpenAI-compatible client and start sending requests to the chat endpoint.
Does the model refuse content?
The model is uncensored and does not refuse lawful adult, creative, or controversial topics. The only hard limit is sexual content involving minors, which is always refused.
What happens if I hit the rate limit?
You will receive a 429 HTTP status code. You can retry after the window resets. Concurrent requests are limited to 8 per key, and total requests are capped at 300 per minute.
Generate your key now
Sign up, copy the token, update your endpoint. Done.