EN ▾
Drop-in uncensored LLM APIhttps://api.grokaiuncensored.com/v1

OpenAI-Compatible API Documentation

Get your uncensored API key and start sending requests immediately. This documentation covers the single open-weight model, standard endpoints, and the crypto-only payment flow.

https://api.grokaiuncensored.com/v1uncensored

Base URL and Authentication

Send requests to our dedicated endpoint using standard headers. We host an uncensored model on our own servers, so you do not need to route traffic through third-party proxies or manage complex model selections.

Use the base URL HTTPS://api.grokaiuncensored.com/v1 and include your API key in the Authorization header. You get one active key per account, which you receive immediately after signing up with Google or email. You simply update the base_url and API key variables in your configuration.

Chat Completions Endpoint

Send text prompts and receive completions using the standard chat-completions endpoint. This is a text-only API with no embeddings, image generation, or audio processing capabilities.

Send a POST request to /v1/chat/completions with your messages array. The model identifier is "uncensored". This model is tuned to answer without content refusals for lawful adult use, though it always blocks sexual content involving minors.

You can send up to 8 MB per request body. The context window allows 100,000 tokens for the combined prompt and completion. If you do not specify max_tokens, the default output limit is 2,048 tokens.

curl https://api.grokaiuncensored.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "What is the capital of France?"}]
  }'

Python SDK Integration

Use the official OpenAI Python library to interact with our uncensored LLM API. This approach requires minimal code changes if you are already familiar with standard OpenAI integrations.

Initialize the client with our base URL and your API key. The library handles the request formatting and response parsing automatically. You can set parameters like temperature and top_p to control the randomness of the output.

Error handling works exactly as expected. If you run out of prepaid credits, the API returns a 402 error. If your key is invalid, you receive a 401 error. These errors are distinct from rate limits, which return a 429 status code.

from openai import OpenAI

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

Integrate the uncensored AI API into your Node.js applications using the standard SDK. This ensures compatibility with existing Node-based workflows and libraries.

Configure the client with the base URL and your API key. The SDK manages the HTTP requests and parses the JSON responses efficiently. You can pass messages directly to the chat.completions.create method.

The SDK supports streaming responses, which is useful for long outputs. You can also use function calling and JSON mode for structured data generation. The library handles the token usage reporting and error states reliably.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.grokaiuncensored.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 stream to true in your request. This returns Server-Sent Events (SSE) instead of a single JSON object. You receive chunks of text as they are generated, which reduces perceived latency for users.

Each chunk contains partial content. The final chunk includes the token usage statistics for the entire request. This allows you to track input and output tokens accurately without waiting for the full completion.

Streaming is ideal for chat interfaces and real-time applications. The uncensored model supports this feature without any additional configuration. You can combine streaming with function calling for dynamic interactions.

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)

Limits, Errors, and Context

Monitor your request limits and error codes to maintain smooth operation. You are allowed 300 requests per minute per key and up to 8 concurrent requests. The context window supports 100,000 tokens total.

Error 401 indicates an invalid or expired API key. Error 402 means your prepaid credit is exhausted; top up with USDT or USDC to continue. Error 429 signifies you have hit the rate limit; wait a few seconds and retry.

Errors and refusals are free, so you only pay for successful token generation. Your prepaid credit never expires, so you can top up whenever needed.

Frequently asked questions

Is Grok AI Uncensored the same as the official Grok model?

No, this is an independent service. We host a single uncensored open-weight model on our own servers. It is not GPT, Claude, Gemini, or the official Grok model from xAI. It is a distinct model tuned for fewer content refusals.

How do I top up my credit?

We accept only crypto: USDT (TRC20) or USDC (Base). You can top up any whole amount from $20 to $500. You receive bonus credit for larger amounts: +5% from $50, +10% from $100, and +15% from $200.

What is the context window limit?

The model supports a context window of 100,000 tokens for the combined prompt and completion. The maximum output per request is 16,000 tokens, or 2,048 tokens if you do not specify max_tokens.

Get your API key

Sign up, copy the key, update your base URL. That’s it.

Get your keyView documentation