API documentation
Get raw, uncensored inference via a drop-in OpenAI-compatible API. One model, no routing, prepaid crypto credit, and no monthly fees.
Quick start: Base URL and Auth
Use our hosted endpoint with your API key for immediate access. The base URL is HTTPS://api.unfilteredaichatbots.com/v1 and works with any OpenAI-compatible client. We require a single API key per account, and you can generate it instantly via Google or email login. No phone number is needed, and the key appears on screen right away.
Authentication relies on the standard Authorization: Bearer <api-key> header. Errors like 401 mean your key is invalid or missing. Credits are prepaid via crypto, so a 402 error signals that you need to top up. Your prompts are not used for training, and credit never expires.
curl https://api.unfilteredaichatbots.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top ten bugs in this python script"}]
}'
Model ID: 'uncensored'
Send all requests to the model ID uncensored. This is an open-weight model tuned to answer without content refusals for lawful adult use. It is not GPT, Claude, or any other vendor's model. We do not route between different providers, and the base URL remains consistent for every request.
The model supports a context window of 100,000 tokens for both prompt and completion combined. You can retrieve the model details via a GET /v1/models call. Text goes in, text comes out, with no embeddings or image generation capabilities included in this endpoint.
Streaming via SSE
Enable streaming by setting stream: true in your request. The API returns Server-Sent Events (SSE) for real-time token delivery. Token usage data is included in the final chunk of the stream, allowing you to track consumption accurately. This method reduces perceived latency for roleplay or creative writing sessions.
You must handle the stream protocol in your client code. If you stop the stream early, the server stops generating. The API key limits apply per stream as well, so monitor your concurrency to avoid hitting the rate limit. Streaming is ideal for applications that need immediate feedback to the user.
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)
Function calling and JSON mode
Use the tools parameter to enable function calling. You can also enforce JSON output by setting response_format to {"type": "json_object"}. This ensures structured data for your applications without extra parsing steps. The model is optimized to follow these constraints reliably.
When using tools, specify the function schema in the request body. The API will return the function call in the response if the model decides to use it. This feature works alongside streaming and standard parameters. It is perfect for building agents that need to interact with external systems or structured data formats.
from openai import OpenAI
client = OpenAI(base_url="https://api.unfilteredaichatbots.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)
Parameters: Temperature, Top-p, Stop
Control generation with standard parameters like temperature, top_p, and stop. These allow you to adjust creativity and control output length. The seed parameter ensures reproducibility for testing. You can also set presence_penalty and frequency_penalty to influence token diversity.
Default values are applied if you omit these fields. The model handles most common use cases out of the box. For specific tuning, adjust these values based on your content type. Streaming and function calling work seamlessly with these parameters. Use the max_tokens field to cap output at 16,000 tokens.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unfilteredaichatbots.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);
Limits, errors, and context window
The context window supports 100,000 tokens total. Max output is 16,000 tokens per request, or 2,048 if max_tokens is unset. You can send 300 requests per minute per key, with a concurrency limit of 8 requests at once. The request body size must not exceed 8 MB.
Common errors include 401 for invalid keys, 402 for insufficient credit, and 429 for rate limits. Errors and refusals do not consume your prepaid credit. If you double-charge, use the Support page for a fix. Credit never expires, so you can top up whenever needed.
Frequently asked questions
What is the base URL for the unfiltered AI API?
The base URL is HTTPS://api.unfilteredaichatbots.com/v1. It is compatible with official OpenAI SDKs and other OpenAI-compatible clients. You just need to update the base URL and provide your API key.
How do I pay for the uncensored LLM service?
Payments are crypto-only via USDT (TRC20) or USDC (Base). You can top up any whole amount from $20 to $500. Credit never expires, and you get bonus credits for larger amounts.
What are the rate limits for the unfiltered chatbot API?
You are limited to 300 requests per minute and 8 concurrent requests per key. The request body must be under 8 MB. These limits ensure stable performance for your applications.
Get your API key now
Sign up, copy the key, and update your base URL. That’s all.