OpenAI-compatible uncensored API

Create key
unfilteredaichatgpt.com

API Documentation

Start generating unfiltered content with our open-weight LLM in minutes using standard OpenAI-compatible code.

Authentication and Base URL

Use your unique API key with the base URL https://api.unfilteredaichatgpt.com/v1 to authenticate requests. Your key is generated immediately after signup via Google or email.

  • Pass the key in the Authorization header as a Bearer token.
  • No subscription is required; credit is deducted per token.
curl https://api.unfilteredaichatgpt.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List available api endpoints and rate limits"}]
  }'

POST /v1/chat/completions

Send your prompt to the /v1/chat/completions endpoint to receive text responses. The model ID is always uncensored.

from openai import OpenAI

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

This endpoint accepts standard chat messages. It does not support embeddings, images, or audio.

GET /v1/models

Query /v1/models to verify available models. You will see the uncensored model listed.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.unfilteredaichatgpt.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 endpoint confirms your connection is active and authenticated correctly.

Parameters: Temperature, Top P, and Tools

Control creativity with temperature and top_p. Use tools for function calling.

Set response_format to {"type": "json_object"} for structured output. The model ignores content filters for lawful adult topics.

Streaming Responses (SSE)

Enable streaming by setting stream: true. Receive chunks via Server-Sent Events.

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)

Token usage data is included in the final chunk. This reduces perceived latency for long outputs.

Rate Limits and Quotas

You are limited to 300 requests per minute and 8 concurrent requests per key.

The request body must not exceed 8 MB. Errors like 401 (invalid key) or 402 (no credit) return immediately without consuming credit.

Frequently asked questions

Is this the official ChatGPT API?

No. We run our own open-weight uncensored LLM. It is compatible with the OpenAI SDK but is not GPT.

How much context does the model support?

The model supports a 100,000 token context window for input and output combined.

What happens if I hit the rate limit?

You will receive a 429 error. Wait before retrying, or upgrade your account if available.

Access your key instantly

Register, retrieve your key, update the base URL. That covers the entire configuration.

Create key