Get API key

Integrate the uncensored llm API quickly

Connect your agent to the uncensored AI engine in minutes. This guide covers the OpenAI compatible API setup, from base URL configuration to handling streaming responses and JSON mode.

Prerequisites and base URL configuration

The API endpoint is HTTPS://api.llmabliterated.cc/v1. This base URL works with any OpenAI-compatible client. You do not need to manage model routing or complex gateways. Just point your SDK to this address. The model ID you will send is "uncensored". It is an open-weight model tuned to answer without content refusals for lawful adult use. It is not GPT, Claude, or any other vendor model.

Authentication and setting the API key

Generate your key on the dashboard. Use the "Continue with Google" or email + password option. The key appears immediately. Set it as the Authorization header or the api_key variable in your SDK. Keep it secure. Invalid keys return a 401 error. No phone number is required for signup.

curl https://api.llmabliterated.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Fix the syntax error in this python snippet"}]
  }'

Sending your first chat completion request

Send a POST request to /v1/chat/completions. Include your API key and the model ID. The system processes text in and text out. You can set parameters like temperature or top_p. The default context window is 100,000 tokens. This includes both prompt and completion. Max output is 16,000 tokens unless you specify otherwise. Errors and refusals are free. You only pay for successful token usage.

from openai import OpenAI

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

Configuring streaming responses for real-time output

Enable streaming by setting stream: true. The API returns Server-Sent Events (SSE). Each chunk contains partial text. The final chunk includes token usage data. This is ideal for real-time applications. You can parse the stream on the client or server side. Streaming does not affect pricing. You pay for the total tokens used, regardless of streaming.

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)

Enabling JSON mode and function calling

Use response_format: {"type": "json_object"} for strict JSON output. Enable function calling by providing a tools array. The model supports tool_choice for automatic or specific function selection. This allows your agent to execute actions based on user input. JSON mode ensures predictable parsing. Function calling enables complex workflows without manual regex extraction.

import OpenAI from "openai";

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

Understanding rate limits and request constraints

You are limited to 300 requests per minute per key. You can have 8 concurrent requests at the same time. The maximum request body size is 8 MB. If you exceed the rate limit, you receive a 429 error. If you have no credit, you get a 402 error. Invalid keys return 401. Credit never expires. You can top up with crypto anytime. No monthly fees apply. Pay only for what you use.

Support Q&A

What is the best uncensored LLM for developers?

The uncensored model on our API is optimized for direct, unfiltered outputs. It supports function calling and JSON mode. It is not a generic wrapper but a tuned open-weight model. Use it for agents that need high compliance without refusals.

How do I handle rate limits in my application?

Implement exponential backoff for 429 responses. You are allowed 300 requests per minute. Monitor your usage to avoid throttling. The API returns clear error codes for rate limits and authentication issues.

Is the context window large enough for long documents?

Yes, the context window is 100,000 tokens. This includes both the prompt and the completion. You can send long documents and receive detailed responses. The max output is 16,000 tokens per request.

Obtain your key

Register, retrieve the token, and point your client to the new endpoint. That covers the entire configuration.

Get API key