Switch your client in three lines
Connect your existing OpenAI SDK to our endpoint by updating the base URL and API key. You get a drop-in uncensored API with transparent pricing and no configuration required.
Base URL and Authentication
Our API is fully OpenAI-compatible. To use it, update your client's base URL to https://api.uncensoredgpt.cc/v1 and provide your API key. You generate this key instantly on the Get API key page by signing in with Google or an email password. No phone number is required, and the key is shown immediately. There is no need to manage subscriptions or monthly fees; you simply top up credit and pay for what you use.
First Request
Send a standard chat completion request to POST /v1/chat/completions. The model ID is uncensored. This is a single open-weight model tuned for lawful adult use, not a routing aggregator. You can send text inputs and receive text outputs. If you need streaming, set stream: true. The model handles function calling and JSON mode natively. Errors and refusals are free; you only pay for tokens used.
Python SDK Integration
Use the official OpenAI Python library to integrate quickly. Set the environment variable or pass the key directly. The client will route requests to our endpoint automatically. This works for both sync and async calls. You can control parameters like temperature, top_p, and stop. The response includes token usage details. This approach keeps your code compatible with OpenAI while using our uncensored model.
Node SDK Integration
The Node.js SDK works identically. Configure the base URL and API key in the client initialization. Send messages as an array of role-based content. The API supports the same parameters as the OpenAI standard. You can parse the response to extract text or function calls. This is a reliable way to add an uncensored LLM to your Node applications without rewriting your logic.
Streaming Responses
Enable streaming by setting stream: true in your request. The API returns Server-Sent Events (SSE). Each chunk contains partial text. The final chunk includes the total token usage for the request. This is useful for real-time UI updates. You can parse the stream to display tokens as they arrive. This reduces perceived latency for users waiting for long responses.
Limits, Errors, and Context
Your API key is limited to 300 requests per minute and 8 concurrent requests. The request body must be under 8 MB. The context window is 64,000 tokens total, with a max output of 16,000 tokens (2,048 if max_tokens is unset). You will receive a 401 if the key is invalid, a 402 if you have no credit, and a 429 if you exceed the rate limit. Credit never expires, so you can top up at your own pace.
cURL
curl https://api.uncensoredgpt.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredgpt.cc/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
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredgpt.cc/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
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)Questions and answers
Does the trial credit expire?
Yes, the $0.50 trial credit is valid for 7 days. Regular prepaid credit never expires, so you can use it whenever you need it.
What happens if I get a 402 error?
A 402 error means your account has no credit. You must top up using USDT (TRC20) or USDC (Base) to continue making requests. Errors and refusals are free, so you won't be charged for failed requests.
Is this the official OpenAI API?
No, we are an independent service. We are compatible with the OpenAI API format, but we serve our own uncensored model. Check the official OpenAI documentation for their specific prices and limits.
Your key is one form away
Create an account, copy the key, change the base URL. That is the whole setup.