es ▾
Get API key

Uncensored LLM API Documentation

This uncensored LLM API provides a straightforward, open-weight chat-completions interface compatible with existing OpenAI SDKs. You can integrate the model immediately using standard parameters and get responses without content refusals for lawful adult use.

Base URL and Authentication

Connect to the API by updating your client's base URL to https://api.apimigration.com/v1. You authenticate every request by passing your API key in the Authorization header as a Bearer token. You receive this key immediately after signing up with Google or an email address, and no phone number is required. The key remains active until you generate a replacement, ensuring consistent access to the uncensored model.

  • Base URL: https://api.apimigration.com/v1
  • Header: Authorization: Bearer YOUR_API_KEY

Making Your First Request

Send a POST request to /v1/chat/completions with the model ID set to uncensored. This endpoint accepts standard JSON payloads containing your message history and generation parameters. The API processes the input and returns the generated text response in the same format used by major cloud providers. You can verify connectivity by sending a simple test prompt before integrating the model into your application logic.

curl https://api.apimigration.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Run the latest migration script for the user table"}]
  }'

Python SDK Integration

Use the official OpenAI Python library to interact with the endpoint by overriding the base URL. Set the base_url parameter to our API address and provide your key via the api_key argument. This approach allows you to reuse existing code structures while leveraging the uncensored model's capabilities. The SDK handles the HTTP transport and JSON serialization automatically.

from openai import OpenAI

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

Initialize the OpenAI client in Node.js by specifying the custom base URL and your authentication token. This configuration enables seamless switching between the standard OpenAI endpoint and our uncensored service. You can maintain your existing prompt templates and response parsing logic without modification. The library manages the request lifecycle and error handling efficiently.

import OpenAI from "openai";

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

Enable streaming by setting the stream parameter to true in your request. The API returns a Server-Sent Events (SSE) stream where each chunk contains a portion of the generated text. This method reduces perceived latency for long outputs and allows progressive rendering in your user interface. Token usage details are included in the final chunk of the stream.

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)

Rate Limits and Context Window

The API supports a context window of 100,000 tokens for combined prompt and completion input. You are limited to 300 requests per minute and 8 concurrent requests per key. If you exceed the rate limit, the API returns a 429 error. Authentication failures result in a 401 status, while insufficient credit triggers a 402 error. Errors and refusals do not consume your prepaid credit.

Common questions

What is the API migration process for switching to this uncensored LLM API?

Update your client's base URL to <code>https://api.apimigration.com/v1</code> and set the model ID to <code>uncensored</code>. You can use the standard OpenAI SDKs without changing your core logic, as the endpoint is fully compatible. Authentication requires a Bearer token from your account.

How does the context window work with the uncensored AI model?

The model supports a total context window of 100,000 tokens for both input and output combined. You can specify a maximum output length up to this limit, with a default of 2,048 tokens if <code>max_tokens</code> is unset. This allows for substantial data processing in a single request.

What happens if I hit the rate limits or get an error?

You are limited to 300 requests per minute and 8 concurrent requests. A 429 error indicates you have exceeded the rate limit. A 401 error means your key is invalid, while a 402 error indicates you need to add crypto credit. Errors do not consume your prepaid tokens.

Get your API key

Register, copy the key, update the base URL. Setup is complete.

Get API key