EN ▾

Uncensored ChatGPT: Production Checklist

Drop an uncensored chatgpt model into your existing stack by swapping the base URL and API key. This guide walks you through the exact steps to verify compatibility, handle streaming, and manage costs without the usual content refusals.

Updated

Key points

  • Swap your base URL to api.chatgptsenzafiltri.com/v1 to keep all existing SDK code identical.
  • Streaming uses SSE with token counts in the final chunk for accurate cost tracking.
  • Rate limits are strict at 300 requests per minute per key with an 8MB body cap.
  • Crypto top-ups offer bonus credit starting at the $50 tier with no monthly fees.

1. Verify OpenAI Compatibility

Yes, it works with your current code. The primary advantage of this openai compatible API is that you do not need to rewrite your application logic. You simply change the base URL and the API key in your client configuration. The endpoint structure matches the standard ChatGPT API exactly.

When you send a request to POST /v1/chat/completions, the response format remains identical to what you expect from major providers. You can use the official OpenAI SDKs for Python, Node.js, or Go without modification. The only difference is the model id you send: use "uncensored" instead of gpt-4 or gpt-3.5-turbo. This ensures you get raw text output without the standard corporate refusals.

  • Base URL: HTTPS://api.chatgptsenzafiltri.com/v1
  • Model ID: "uncensored"
  • Endpoints: /v1/chat/completions and /v1/models
from openai import OpenAI

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

2. Configure Streaming for Real-Time Output

Enable streaming by setting stream=true in your request. This allows you to receive tokens as they are generated, which is critical for user experience in chat interfaces. The server sends Server-Sent Events (SSE) for each token. You must parse the final chunk to get the total token usage for billing purposes.

Without streaming, you wait for the entire response to arrive. With streaming, you can display text instantly. This reduces perceived latency significantly. Remember that the uncensored model can generate up to 16,000 tokens per request. If you do not set max_tokens, it defaults to 2,048. Adjust this based on your specific use case to avoid unexpected cutoffs.

import OpenAI from "openai";

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

3. Handle JSON Mode Constraints

Force structured output by using the JSON mode parameter. If your application requires a specific schema, set response_format to {"type": "json_object"}. This constrains the model to output valid JSON. It is useful for parsing data, generating code structures, or feeding responses into downstream systems.

While the model is uncensored, it still adheres to structural constraints when requested. This means you can get direct, unfiltered answers in a format your code can immediately parse. Ensure your prompt clearly defines the JSON structure. The model will attempt to follow it, but complex nested objects may occasionally require retries. This is a standard trade-off with LLMs.

curl https://api.chatgptsenzafiltri.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"}]
  }'

4. Monitor Rate Limits (300 RPM)

Respect the 300 requests per minute limit per API key. If you exceed this limit, the server will return a 429 Too Many Requests error. You must implement exponential backoff in your client code. Additionally, there is a limit of 8 concurrent requests per key. Do not open more parallel connections than allowed.

The request body size is capped at 8 MB. If your prompts are very long, ensure they fit within this limit. The context window is 100,000 tokens, but the physical payload must stay under 8 MB. Plan your concurrency carefully. If you need more throughput, generate a new key, as each account can only have one active key at a time. A new key replaces the old one.

  • Limit: 300 RPM
  • Concurrency: 8 requests
  • Max Body: 8 MB

5. Implement Token Cost Tracking

Track costs by monitoring input and output token counts. The pricing is straightforward: $0.15 per 1M input tokens and $0.50 per 1M output tokens. You only pay for tokens used in successful requests. Errors and refusals are free. This means you can experiment without worrying about unexpected bills for failed attempts.

Since prepaid credit is charged by real usage, you can track your balance accurately. The trial credit of $0.50 is also charged based on actual consumption. Errors do not consume tokens. This is a significant advantage over providers who charge for every API call regardless of outcome. Keep an eye on the token usage in the final streaming chunk to update your UI.

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)

6. Test Function Calling Tools

Enable function calling by defining tools in your request. The model supports function calling, allowing you to define external tools. The model can decide when to call a tool and pass arguments. This is essential for building agents or interactive applications.

Set the tool_choice parameter to control how the model uses functions. You can force it to call a specific tool or let it decide. The uncensored model handles function definitions well, providing reliable JSON arguments. Test your tool schemas thoroughly. The model is tuned for clarity, so it rarely hallucinates function names if they are well-defined. This makes it a powerful alternative for NSFW chatbot applications or complex data retrieval tasks.

from openai import OpenAI

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

7. Validate Uncensored Behavior

Expect direct answers without moral filtering for lawful content. The model does not refuse controversial, adult, or security-research topics. It will answer questions directly, even if they are considered sensitive by other providers. This is the core value proposition of an uncensored LLM.

However, there is one hard limit: no sexual content involving minors. This rule always applies. Everything else is fair game. You can generate raw, unfiltered text for creative writing, data analysis, or coding assistance. The model is an open-weight model run on our servers. It is not GPT, Claude, or any other vendor's model. It is a distinct model tuned for this purpose.

curl https://api.chatgptsenzafiltri.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"}]
  }'

8. Set Up Crypto Payment Flow

Top up your account using crypto only. We accept USDT on the TRC20 network or USDC on the Base network. You can top up any whole amount from $20 to $500. There are no monthly fees or subscriptions. Your credit never expires.

You also get bonus credit on your top-up. A $50 top-up gives you +5% bonus. A $100 top-up gives you +10% bonus. A $200 top-up gives you +15% bonus. This makes the cheap LLM API even more cost-effective. Sign up is simple: use "Continue with Google" or email and password. No phone number is required. The trial credit of $0.50 is available for new accounts.

  • Payment: Crypto only (USDT/TRC20, USDC/Base)
  • Range: $20 - $500
  • Bonus: +5% to +15%

9. Review Privacy and Data Usage

Your prompts are not used for training. We value privacy. When you sign up, you only need an email address. No phone number is required. Your data is stored securely, and we do not sell or share your prompt data.

This is important for developers who handle sensitive information. You can use the uncensored AI for proprietary projects without worrying about your data being used to train a competing model. The API is designed for developers who need reliability and privacy. Refunds are not issued for credit, but errors like double charges are fixed via the Support page. This ensures you get what you pay for.

import OpenAI from "openai";

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

Common questions

Is this the official ChatGPT API?

No, it is an independent, open-weight model that is compatible with the ChatGPT API format. It uses the same endpoints and response structure, so you can swap it in by changing the base URL. It is not GPT, Claude, or any other vendor's model.

What is the pricing for the uncensored chatgpt API?

The pricing is $0.15 per 1M input tokens and $0.50 per 1M output tokens. You only pay for tokens used in successful requests. Errors and refusals are free. There are no monthly fees or subscriptions.

How do I pay for the API?

You can top up your account with crypto only: USDT on TRC20 or USDC on Base. The minimum top-up is $20 and the maximum is $500. You receive bonus credit based on the amount: +5% from $50, +10% from $100, and +15% from $200.

What are the rate limits?

You are limited to 300 requests per minute per API key. You can have up to 8 concurrent requests per key. The maximum request body size is 8 MB. If you exceed these limits, you will receive a 429 error.

Retrieve your key now

Register, grab the token, update the endpoint. That is it.

Try with trial credit