Uncensored APIAPI Documentation and Quickstart
API Documentation and Quickstart
This is an OpenAI-compatible API for an uncensored LLM. You send text, get text back. No subscriptions. Just credits.
Authentication and Base URL
Start by setting your API key in the Authorization header. Use the base URL https://api.gptuncensoredapi.com/v1 for all requests. This works with standard SDKs. You get a key instantly after signup. No phone number required. Just Google or email login. Your key is the only thing you need to send.
Keep your key secure. It grants access to your prepaid credits. Errors do not cost credits. Refusals are free. Only successful completions charge tokens. The model ID is uncensored. It is not GPT. It is an independent open-weight model.
The Chat Completions Endpoint
Send a POST request to /v1/chat/completions. Include your messages array. Set the model to uncensored. The API returns text responses. It supports up to 100,000 tokens context. Max output is 16,000 tokens. Set max_tokens if you need less. This endpoint handles all your text generation needs.
Structure your prompt with system and user roles. The model responds directly. No extra formatting. Just raw text output. You can adjust parameters like temperature. This gives you control over creativity. Use this for stories or data extraction.
Streaming Responses and Usage Data
Enable streaming by setting stream: true. You receive chunks as they generate. This reduces perceived latency. The last chunk contains usage data. It shows input and output tokens. You can track costs in real time. This is crucial for billing accuracy.
Handle stream closures gracefully. Errors may interrupt the flow. Always check the final chunk for stats. This helps you debug token usage. Streaming works with all parameters. It is the recommended way for chat interfaces.
Function Calling and JSON Mode
Define tools in your request. The model can call functions. Use tool_choice to enforce behavior. JSON mode is available via response_format. Force strict JSON output. This is useful for structured data. Combine tools with JSON for reliability.
Pass tool definitions in the messages. The model responds with arguments. Parse these in your code. This enables complex workflows. Keep your function schemas simple. Avoid deep nesting. This improves success rates.
Parameters: Temperature, Top P, and Seeds
Adjust temperature for creativity. Lower values are more deterministic. Use top_p for nucleus sampling. Set seed for reproducible results. These parameters affect output quality. Experiment with different combinations. Find what works for your use case. Stop sequences are also supported.
Presence and frequency penalties help. They reduce repetition. Use them for long contexts. Fine-tune these for best results. The model responds well to clear instructions. Parameters are standard OpenAI format.
Rate Limits and Request Constraints
You get 300 requests per minute. Max 8 concurrent requests. Request body limit is 8 MB. Context window is 100,000 tokens. Errors are free. Refusals are free. Only valid completions charge credits. Keep an eye on your usage. The API key is unique per account. Replace it to reset limits if needed.
Handle 429 errors with backoff. 401 means invalid key. 402 means no credit. Top up via crypto. USDT or USDC. Credits never expire. Use bonus credits wisely. They last forever.
cURL
curl https://api.gptuncensoredapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list the top five linux terminal commands"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.gptuncensoredapi.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
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gptuncensoredapi.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
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
What is the uncensored GPT model?
It is an open-weight LLM run on our servers. It does not refuse lawful adult or controversial topics. It is not GPT, Claude, or any other vendor's model. It uses the same API format.
How do I pay for tokens?
Use crypto only. USDT on TRC20 or USDC on Base. Top-ups range from $20 to $500. You get bonus credits for larger amounts. Credits never expire. No monthly fees.
What are the rate limits?
300 requests per minute per key. Max 8 concurrent requests. Request body max 8 MB. Context window is 100,000 tokens. Errors do not count against limits.
Your key is ready
Sign up, copy the credential, and update your base URL. That is all.