OpenAI-compatible uncensored API

Create key
per 1M input tokens
$0.15
Output tokens / 1M
$0.50
token context
100,000

Least censored llm API documentation

Get started with the uncensored LLM API in under two minutes by pointing your existing OpenAI SDK to our base URL and swapping the model ID. This quickstart covers authentication, basic requests, and streaming so you can integrate the API immediately.

Quickstart: Connect your SDK

Start sending requests immediately by updating your base URL and API key. Our API accepts standard OpenAI-compatible clients, so you only need to change the endpoint configuration. Use the model ID "uncensored" for all requests to access the non-censored model. The base URL is HTTPS://api.leastcensoredllm.com/v1. You get a key instantly after signing up with Google or email. No phone number is required for signup.

curl https://api.leastcensoredllm.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Generate the system config file for the new server setup"}]
  }'

Supported endpoints and parameters

We provide two endpoints: POST /v1/chat/completions and GET /v1/models. There are no embeddings, image, or audio endpoints. You can use standard parameters like temperature, top_p, and stop sequences. The API supports function calling and JSON mode for structured outputs. Use the GET endpoint to verify available models. Our API key authenticates all requests.

from openai import OpenAI

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

Streaming and token usage

Enable streaming by setting stream to true in your request. You receive Server-Sent Events (SSE) chunks as the model generates text. Token usage details appear in the final chunk of the stream. This allows you to track costs in real time. Streaming works with all standard parameters. The API returns partial content immediately.

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)

JSON mode and function calling

Force structured output by setting response_format to {"type": "json_object"}. The model will return valid JSON instead of free text. Function calling works by passing tools and tool_choice parameters. The API supports standard tool definitions. This is useful for building agents or parsing data. Use the uncensored model for reliable structured responses.

Rate limits and concurrency

Each API key supports 300 requests per minute. You can run 8 concurrent requests simultaneously. The maximum request body size is 8 MB. If you exceed the limit, you receive a 429 error. Use a single key per account. You can generate a new key to replace the old one. Errors and refusals do not count against your rate limit.

Context window and max tokens

The context window is 100,000 tokens for prompt and completion combined. The default max output is 2,048 tokens. You can set max_tokens up to 16,000 per request. Longer contexts are supported within the window limit. Be mindful of the 8 MB body size. This allows for deep conversations or large documents.

Node.js

import OpenAI from "openai";

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

Frequently asked questions

What is the base URL for the least censored LLM API?

The base URL is HTTPS://api.leastcensoredllm.com/v1. Use this URL with any OpenAI-compatible SDK or HTTP client. You must provide your API key in the Authorization header.

How do I handle rate limits?

You are limited to 300 requests per minute per key. If you exceed this, the API returns a 429 status code. You can run 8 concurrent requests at once. Errors do not count toward the limit.

Is the uncensored LLM API compatible with OpenAI SDKs?

Yes, the API is fully OpenAI-compatible. You only need to change the base URL and model ID. The model ID is "uncensored". Standard parameters like temperature and top_p work as expected.

Get your API key now

Register, retrieve your key, and update your base URL. That is the entire process.

Create key