EN ▾
Get your key

Quickstart: Integrate with Python & JS

Drop an uncensored LLM API into your existing stack with zero friction. This guide shows how to route Python and JS clients to our OpenAI-compatible endpoint immediately.

Prerequisites and base URL setup

Connect your client to the correct endpoint first. We host an OpenAI-compatible API at https://api.grokuncensoredversion.com/v1. You need one active API key, obtained via Google or email signup. The model identifier you must send is "uncensored". This is a single open-weight model, not a routing layer to GPT or Grok. Set your base URL and key in your environment variables before writing code.

Installing the official OpenAI SDK

Use the official libraries to handle authentication automatically. Install the package via your standard package manager. The client will read the environment variables you configured earlier. This approach works for both Python and Node.js ecosystems without extra configuration steps.

from openai import OpenAI

client = OpenAI(base_url="https://api.grokuncensoredversion.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)
import OpenAI from "openai";

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

Making your first chat completion request

Send a standard chat.completions request to get text output. The model answers without content refusals for lawful adult topics. Input costs $0.15 per 1M tokens, while output costs $0.50 per 1M tokens. Errors and refusals do not charge your credit. You can test connectivity with a simple prompt.

curl https://api.grokuncensoredversion.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Summit the current server latency metrics."}]
  }'

Enabling streaming for real-time output

Enable streaming by setting stream: true. You will receive Server-Sent Events (SSE) as tokens arrive. This is critical for building chat interfaces that feel responsive. The final chunk includes the total token usage for billing verification. Streaming works exactly like the standard OpenAI protocol.

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)

Configuring JSON mode and function calling

Structure your outputs reliably using JSON mode. Set response_format to {"type": "json_object"}. You can also define tools for function calling. Use parameters like temperature and top_p to control randomness. The model supports these standard features without extra configuration.

Handling rates and limits (300 RPM)

Monitor your usage against strict limits. You get 300 requests per minute per key and 8 concurrent requests. The request body must stay under 8 MB. If you exceed the rate, you receive a 429 error. Authentication failures return 401, and insufficient credit returns 402. Your context window supports 100,000 tokens total, with a max output of 16,000 tokens.

Common questions

How do I top up my uncensored AI API credit?

Top up using crypto only. We accept USDT (TRC20) or USDC (Base) for amounts between $20 and $500. You get bonus credit for larger deposits, and the credit never expires.

Is this the official Grok uncensored version model?

No, we are an independent provider. We serve our own open-weight uncensored model, not the official Grok, GPT, or Llama models. Our API is compatible with the same client code you would use for those vendors.

What happens if I get a 402 error?

A 402 error means your prepaid credit is exhausted. Upload more USDT or USDC to your account to resume service immediately. Your existing credit balance is preserved and does not expire.

Access your key

Register, retrieve your token, and update your endpoint. That is all.