fi ▾
ApiRouterOpen

Drop-in uncensored LLM API

OpenAI Compatible API Docs

Drop-in OpenAI compatibility for your uncensored LLM needs. Change the base URL and key, keep your code, and start generating text immediately.

Authentication and Base URL

Use the provided API key with the base URL https://api.apirouteropen.com/v1. Pass the key in the Authorization header as a bearer token. No subscription or monthly fee applies. Credit is prepaid via crypto and never expires. Errors do not consume tokens. Refusals for unlawful adult content are free. Sign up with Google or email to get your key instantly.

First Request

Send a POST request to /v1/chat/completions with the model set to uncensored. This is a text-only API. It does not support images, audio, or embeddings. The model responds to prompts without content refusals for lawful adult use. You must include the system and user messages in the request body. The response contains the generated text token by token.

Here is how to make your first call using curl:

curl https://api.apirouteropen.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Show me the current status of the api endpoint"}]
  }'

This simple command verifies your key and returns the first token. Use this to debug connectivity before integrating into your application.

Python SDK Integration

Initialize the client with your key and the custom base URL. The official OpenAI Python SDK works directly with this endpoint. Set the model to uncensored in your requests. This approach requires minimal code changes. You can use the same libraries you already know. The SDK handles retries and JSON parsing automatically. Streaming is supported for real-time output.

Install the library and configure the client:

from openai import OpenAI

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

This setup ensures compatibility with existing workflows. You can pass additional parameters like temperature or top_p as needed.

Node SDK Setup

Import the OpenAI package and configure the base URL. Use the fetch implementation if you are in a Node environment. The SDK accepts the same parameters as the standard OpenAI API. Pass the uncensored model ID to get results. This method works well for server-side applications. It supports both synchronous and asynchronous calls. You can integrate it into Express or Fastify routes easily.

Configure the Node.js client:

import OpenAI from "openai";

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

This configuration ensures that your requests are routed correctly. The SDK handles the HTTP details for you.

Streaming Responses

Enable streaming by setting stream: true in your request. The API returns Server-Sent Events (SSE). Each chunk contains partial text updates. Token usage information is included in the final chunk. This feature is ideal for user-facing chat interfaces. It reduces perceived latency significantly. The client must handle the SSE stream correctly. Buffering issues can occur if the consumer is slow.

Implement streaming in your code:

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)

Process each chunk to update the UI in real time. The final chunk provides the total token count.

Rate Limits and Errors

The API enforces strict limits to ensure stability. You are allowed 300 requests per minute per key. Only 8 requests can be active simultaneously. The request body size must not exceed 8 MB. A 401 error indicates an invalid or missing API key. A 402 error means your prepaid credit is exhausted. A 429 error signals that you have exceeded the rate limit. Credit is charged only for successful token generation. Errors are free. Your prepaid credit never expires.

Frequently asked questions

Is this the official OpenAI API?

No. This is an independent, OpenAI-compatible endpoint. It uses the same protocol but serves a different uncensored model. You must change the base URL and API key in your client configuration. It is not affiliated with OpenAI, Microsoft, or any other vendor.

What is the context window size?

The context window is 100,000 tokens for both prompt and completion combined. The maximum output per request is 16,000 tokens. If you do not set <code>max_tokens</code>, the default is 2,048 tokens. This limit applies to the total tokens processed in a single request.

How do I top up my credit?

Top up using cryptocurrency, specifically USDT on the TRC20 network or USDC on the Base network. Payments range from $20 to $500 per transaction. Bonus credit is added for higher amounts: +5% from $50, +10% from $100, and +15% from $200. Credit never expires and is charged based on real token usage.

Access your API key

Register, retrieve your key, and update your base URL. That is all you need to do.

Create key