Get your key

Abliterating API Reference

Abliterating API Reference provides a straightforward path to our uncensored LLM service. Use standard OpenAI-compatible tools to integrate our model without content filters.

Base URL and Authentication

Start every request by pointing your client to https://api.abliterating.cc/v1. Pass your unique API key in the Authorization header as a Bearer token. This setup works with any official OpenAI SDK or compatible HTTP client. You receive this key immediately after signing up via Google or email on the dashboard. Keep it secure, as it grants full access to your prepaid credits. Errors and refusals do not consume your balance, so you can test freely. Our system handles the routing to our uncensored model behind the scenes.

First Request

Send a standard chat completion POST request to test connectivity. Your prompt enters the model, and you receive a direct text response. The system strips away typical refusals for lawful adult content. You control the output length with the max_tokens parameter. The model id is simply uncensored. This simple interface lets you integrate quickly into your existing projects. Check the response body for the generated text and token usage.

Python SDK Integration

Use the official OpenAI Python library to connect easily. Set the base URL and API key before initializing the client. This approach leverages existing code you may already have. The library handles JSON serialization and HTTP requests automatically. You can stream responses or fetch full completions. This method is ideal for backend services or data processing scripts. Configure your environment variables for clean deployment. The SDK abstracts the complexity of raw HTTP calls.

Node SDK Setup

Integrate using the JavaScript SDK for web applications. Initialize the client with your base URL and key. This setup supports both CommonJS and ES modules. You can send prompts and receive structured JSON or plain text. The SDK manages retries and error handling efficiently. This is perfect for real-time chat interfaces or serverless functions. Import the package and configure the environment. The syntax mirrors the Python library for consistency across stacks.

Streaming Responses

Enable streaming by setting stream: true in your request. You receive a Server-Sent Events (SSE) stream of tokens. This allows you to display text as it generates. The final chunk contains the complete token usage statistics. Streaming reduces perceived latency for your end-users. It works seamlessly with the OpenAI-compatible SDKs. You can stop the stream early if the user changes input. This feature is crucial for chat-like experiences.

Limits, Errors, and Context

Your context window spans 100,000 tokens for input and output combined. You can send up to 16,000 tokens in a single response. Rate limits allow 300 requests per minute per key. A 401 error means your API key is invalid. A 402 error indicates your prepaid credit is exhausted. A 429 error signals you hit the rate limit. Errors do not charge your credits. Request bodies must stay under 8 MB. Manage your keys carefully since replacing one invalidates the previous.

cURL

curl https://api.abliterating.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "list three benefits of the abliterating feature"}]
  }'

Python

from openai import OpenAI

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

import OpenAI from "openai";

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

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)

FAQ

Does the Abliterating API support function calling?

Yes, you can use tools and tool_choice parameters just like with OpenAI. The model supports structured outputs and JSON mode for reliable integration. You define the function schema, and the model returns the appropriate arguments.

How do I top up my credit?

Top up using USDT on TRC20 or USDC on Base. Payments range from $20 to $500 with bonus credits for larger amounts. Credit never expires, and you can top up anytime via the dashboard.

Is the API key shared across devices?

Yes, one active key per account works on any device. If you generate a new key, the old one becomes invalid immediately. You can replace your key directly from the dashboard without losing your credit balance.

Generate your API key

Register, copy the key, and point to the new base URL. Done.

Get your key