API Documentation
Get an uncensored model responding to standard OpenAI requests without content filters. Send your first prompt in minutes using the base URL and your API key.
Quickstart: Your first request
Start by pointing your client to our base URL and attaching your key. The endpoint accepts standard chat completions and returns text from our uncensored model.
- Base URL: HTTPS://api.botchataiunrestricted.com/v1
- Model ID:
uncensored - Endpoint:
POST /v1/chat/completions
Verify connectivity with a minimal call.
curl https://api.botchataiunrestricted.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "return a list of ten open source llms"}]
}'
Authentication and Keys
Pass your key in the Authorization header as a bearer token. Generate credentials via the dashboard using Google or email.
Each account holds one active key at a time; requesting a new one replaces the previous key immediately.
from openai import OpenAI
client = OpenAI(base_url="https://api.botchataiunrestricted.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)
Supported Parameters
Control the output style using standard parameters. Set temperature for randomness, top_p for nucleus sampling, and stop sequences to halt generation.
Enable structured outputs with response_format set to {"type": "json_object"}. Function calling works by providing a tools array and setting tool_choice.
Streaming Responses
Enable streaming by setting stream: true in your request. The API returns Server-Sent Events for each token as it generates text.
Token usage statistics are included in the final chunk of the stream.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.botchataiunrestricted.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);
Error Codes and Limits
Handle errors by checking the HTTP status code. A 401 indicates an invalid or missing key. A 402 means your prepaid credit is exhausted. A 429 shows you hit the rate limit.
Each key allows 300 requests per minute and 8 concurrent requests. The request body must stay under 8 MB.
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)
Context Window and Constraints
The model supports a 100,000 token context window for the combined prompt and completion. The maximum output per request is 16,000 tokens.
If you do not specify max_tokens, the default output limit is 2,048 tokens. This ensures predictable costs and stable performance for long conversations.
Frequently asked questions
Is this an unrestricted AI chat bot for developers?
Yes, it is an unrestricted AI chat bot API designed for developers who need uncensored responses. It uses a single open-weight model tuned for adult and controversial topics without refusals.
How do I handle token limits in my application?
Monitor the context window of 100,000 tokens for your total input and output. Set the <code>max_tokens</code> parameter to control the output length, with a hard cap of 16,000 tokens per request.
What happens if I exceed the rate limit?
You will receive a 429 status code. The limit is 300 requests per minute per key. Pause your requests or distribute load across multiple keys if you need higher throughput.
Access your API key instantly
Sign up, grab your key, and update your base URL. Done.