API documentation
Connect your code to an uncensored LLM API that behaves like OpenAI but refuses fewer topics. Use the prepaid credit model to pay only for tokens you actually consume, with no monthly fees.
Authentication and base URL
The base URL for all requests is https://api.grokapiplatform.com/v1. Authenticate by passing your unique API key in the Authorization header. Every request must include this header to verify your account balance and apply rate limits.
Chat completions endpoint
Send text queries to POST /v1/chat/completions. The model ID to use is "uncensored". This endpoint handles standard text-in, text-out interactions without requiring extra configuration for basic usage.
curl https://api.grokapiplatform.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check my current token usage balance."}]
}'
The model operates with a 100,000 token context window. Input and output tokens share this limit. Requests exceeding the context window will fail immediately.
Streaming responses with SSE
Enable streaming by setting stream: true in your request body. The server returns Server-Sent Events (SSE) with incremental token updates. Use this for real-time displays or to reduce perceived latency.
from openai import OpenAI
client = OpenAI(base_url="https://api.grokapiplatform.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)
Token usage details appear in the final chunk of the stream. You can track total consumption per request without parsing every intermediate delta.
Function calling and tools
Define tools in the tools array and set tool_choice to trigger specific behaviors. The model supports standard tool use patterns compatible with OpenAI SDKs.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.grokapiplatform.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);
Use tool_choice: "auto" for automatic selection or specify a tool name for forced execution. This works seamlessly with the uncensored model for complex reasoning tasks.
JSON mode for structured output
Set response_format to {"type": "json_object"} to enforce strict JSON output. This reduces parsing errors when integrating with frontend applications or data pipelines.
Parameters and limits
Adjust temperature, top_p, and seed to control randomness. The maximum output per request is 16,000 tokens. Errors like 401 indicate invalid keys, 402 means insufficient prepaid credit, and 429 signals rate limits. The limit is 300 requests per minute per key. Credit never expires, so you can top up with USDT or USDC whenever needed.
Streaming
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)Common questions
How do I top up my prepaid credit?
Top up using only USDT on TRC20 or USDC on Base. Minimum amounts start at $20, and bonuses apply for larger deposits. Credit never expires, so you can accumulate balance over time without monthly fees.
Is the uncensored model the same as the official Grok API?
No, it is an independent open-weight model hosted on our servers. It is tuned for fewer refusals but uses the same OpenAI-compatible interface. You can switch client code easily without changing your integration logic.
What happens if I hit the rate limit?
Requests return a 429 status code when you exceed 300 requests per minute. The limit applies per API key. You can generate a new key to reset the counter, or wait for the window to clear. Prepaid credit remains untouched during these errors.
Get your API key
Sign up, copy the token, update your base URL. Simple setup.