EN ▾
Get your key

Unfiltered AI API Documentation

Get started with our uncensored LLM API in minutes using standard OpenAI-compatible SDKs. Send text, get text, and build your app without censorship or subscription gates.

Authentication and Base URL

Your API key is the only credential you need. Generate it instantly via Google or email on the dashboard with no phone number required. Use https://api.unfilteredai.cc/v1 as your base URL for all requests. The system returns a single key per account, replacing any previous active key automatically.

First Request

Send your first prompt to the uncensored model using standard HTTP calls. The endpoint accepts JSON payloads and returns text responses immediately. You can test connectivity and token usage with a simple completion request.

curl https://api.unfilteredai.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Summarize the API documentation provided above"}]
  }'

Python SDK Integration

Integrate directly into your Python applications using the official OpenAI client library. Point the client to our base URL and inject your key. This approach works for both synchronous and asynchronous workflows without custom parsing logic.

from openai import OpenAI

client = OpenAI(base_url="https://api.unfilteredai.cc/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)

Node SDK Integration

Use the Node.js SDK for server-side or edge computing deployments. Configure the base URL and API key to match our endpoint. The library handles serialization and response parsing, allowing you to focus on your application logic.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.unfilteredai.cc/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);

Streaming Responses and Usage

Enable real-time token generation by setting stream: true in your request. The API returns a Server-Sent Events (SSE) stream. Token usage statistics appear in the final chunk of the stream, allowing you to track costs accurately without waiting for the full response.

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 and Error Handling

You are limited to 300 requests per minute and 8 concurrent requests per key. If you exceed this limit, the API returns a 429 error. A 401 error indicates an invalid key, while a 402 error means your prepaid credit is exhausted. The model supports a 100,000-token context window for long conversations.

Common questions

What is the base URL for the unfiltered AI API?

Use HTTPS://api.unfilteredai.cc/v1 as your base URL. This endpoint is compatible with official OpenAI SDKs and any standard OpenAI-compatible client.

Why am I getting a 429 error?

You have exceeded the rate limit of 300 requests per minute or 8 concurrent requests per key. Wait a few seconds and retry, or optimize your client to handle concurrent connections efficiently.

How does the context window work?

The model supports a 100,000-token context window for both prompt and completion combined. You can send large inputs, but max output is capped at 16,000 tokens per request unless you specify a lower limit.

Get your API key

Register, grab the token, update the endpoint. That is it.

Get your key