Get API key

OpenAI Compatible API Documentation

Get started with our uncensored LLM API by connecting your existing OpenAI-compatible SDKs to our hosted endpoint.

Base URL and Authentication

Start every request by pointing your SDK to our base URL and providing your API key in the authorization header.

The endpoint is https://api.openrouterabliteratedmodels.com/v1. You authenticate using a Bearer token generated on your account dashboard. This key is the only credential required for all subsequent calls, ensuring your requests are routed directly to our uncensored model infrastructure without intermediate routing layers.

First Request

Send your first completion by posting a message to the chat completions endpoint using your preferred HTTP client.

The model identifier is strictly uncensored. You can send text prompts with standard parameters like temperature or top_p. The API returns a text response without content refusals for lawful adult topics, maintaining the abliterated behavior you expect from open-weight models tuned for unrestricted output.

curl https://api.openrouterabliteratedmodels.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Calculate the factorial of 5."}]
  }'

Python SDK

Integrate the API into your Python projects by setting the base URL and model name in your OpenAI client configuration.

This approach lets you reuse existing code that expects an OpenAI-compatible endpoint. Pass your API key via environment variables or direct initialization. The client handles serialization and error parsing automatically, delivering raw text tokens or structured JSON depending on your response format settings.

from openai import OpenAI

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

Node SDK

Connect your Node.js applications by configuring the OpenAI package to point at our specific base URL instead of the default.

Set the apiKey and baseURL properties before making any calls. This ensures that your function calls, streaming responses, and JSON mode requests are directed to our uncensored infrastructure. You can continue using familiar methods like chat.completions.create with full compatibility.

import OpenAI from "openai";

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

Streaming with SSE

Receive real-time text generation by enabling streaming mode, which delivers tokens as they become available via Server-Sent Events.

Set the stream parameter to true in your request. The API returns a series of chunks, allowing you to render text incrementally in your UI. Token usage statistics are included in the final chunk, so you can track consumption accurately without waiting for the entire response to finish generating.

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

Enforce structured output or enable tool usage by configuring the request format and tool definitions in your payload.

Use response_format set to json_object to ensure the model returns valid JSON without markdown wrappers. For function calling, define your tools in the request body and let the model decide when to invoke them. This supports complex workflows where the uncensored model must return structured data for downstream processing.

Common questions

What is the context window size for requests?

The model supports a total context window of 100,000 tokens, combining both input prompt and output completion. This allows for extensive conversations or large document processing in a single request without truncation issues.

Which payment methods do you accept?

Crypto only: USDT on TRC20 or USDC on Base, any whole amount from $20 to $500. Bonus credit applies from $50.

What are the rate limits per API key?

You are limited to 300 requests per minute and 8 concurrent requests at any given time per key. If you exceed these limits, the API returns a 429 status code. Ensure your application handles retries gracefully to avoid disrupting your workflow.

Get your API key

Sign up, copy your key, update the base URL. Simple integration.