Get API key

Uncensored Chat API Quickstart

Get started with the uncensored chat API by configuring your base URL and sending your first request. This guide covers authentication, SDK integration, streaming, and critical limits for building reliable AI applications.

https://api.uncensoredchat.cc/v1uncensored

Authentication and Base URL

Our API is fully compatible with the OpenAI SDK ecosystem. To use it, you only need to change the base_url and provide your API key. Sign up to get your key immediately; no phone number is required. Use the uncensored model ID for all requests. The base URL is https://api.uncensoredchat.cc/v1.

  • Authentication: Pass your key via the Authorization header.
  • Model ID: Always use uncensored.
  • Compatibility: Works with any OpenAI-compatible client by overriding the base URL.

Your First Request

Send a standard POST request to the chat completions endpoint. This returns a text response based on your prompt. The model does not refuse lawful adult, fictional, or controversial topics, making it ideal for content generation and creative writing. Errors and refusals (except for the hard minor content limit) do not consume tokens.

curl https://api.uncensoredchat.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

The response includes token usage details in the final chunk when streaming, or in the standard completion object for non-streaming requests.

Python SDK Integration

Use the official OpenAI Python library to interact with our API. Set the base URL to point to our endpoint and provide your API key. This approach ensures you can leverage existing tooling and SDK features without writing custom HTTP clients. The code snippet below demonstrates a simple completion call.

from openai import OpenAI

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

Ensure your Python environment has the openai package installed. The library handles serialization and retries automatically.

Node.js SDK Integration

For JavaScript developers, the OpenAI Node.js SDK works out of the box. Configure the basePath to our API URL and set the API key. This allows you to integrate uncensored generation directly into your Node applications, web services, or bots. The SDK manages the HTTP requests and parses the JSON responses.

import OpenAI from "openai";

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

You can install the package via npm or yarn. The configuration object mirrors the standard OpenAI setup, making migration from other providers straightforward.

Streaming Responses

Enable streaming by setting stream: true in your request. The API returns a Server-Sent Events (SSE) stream. Each chunk contains partial content, allowing you to display text in real-time. Token usage information is included in the last chunk of the stream. This is useful for chat interfaces where latency matters.

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)

Handle the stream events in your client code to process each token as it arrives. This reduces perceived latency significantly compared to waiting for the full completion.

Limits, Errors, and Context

Each API key is limited to 300 requests per minute and 8 concurrent requests. The request body must not exceed 8 MB. If the key is invalid, you will receive a 401 error. If you have no credit, you will receive a 402 error. Rate limits return a 429. The context window is 64,000 tokens total, with a default max output of 2,048 tokens unless you specify a higher max_tokens value (up to 16,000). Credit never expires, and errors are free.

Questions and answers

How do I pay for the API?

We accept only crypto: USDT (TRC20) or USDC (Base). You can top up any whole amount from $10 to $500. There are no monthly fees or subscriptions, and prepaid credit never expires.

Is there a free trial?

Yes, every new account gets $0.50 of trial credit valid for 7 days. No credit card is needed to sign up. Mistakes like double charges are handled via the Support page, but credit is non-refundable.

What content is blocked?

The model is uncensored for lawful adult, fictional, and controversial topics. The only hard limit is sexual content involving minors, which is always refused. Requests containing this content will be blocked.

Your key is one form away

Create an account, copy the key, change the base URL. That is the whole setup.

Get API key