- GPT NoFilter
- Uncensored API Quickstart Guide
Uncensored API Quickstart Guide
Connect your existing client code to the nofilter GPT API. This guide covers authentication, endpoints, and streaming for unrestricted content generation.
Base URL and Authentication
The API endpoint lives at https://api.gptnofilter.com/v1. Update your client's base URL to this address. Authentication uses a standard API key passed in the Authorization header as a Bearer token. You get one key per account, which replaces any previous key immediately upon generation.
First Request
Send a POST request to /v1/chat/completions. The model ID is uncensored. This endpoint accepts text input and returns text output. It does not support images, audio, or video generation.
curl https://api.gptnofilter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What are the API limits for this model"}]
}'
The request body must include the model ID and your message content. The system processes the prompt and returns a completion token.
Python SDK Integration
Use the official OpenAI Python SDK. Point it to our base URL and provide your API key. The code remains identical to standard OpenAI usage, except for the endpoint.
from openai import OpenAI
client = OpenAI(base_url="https://api.gptnofilter.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)
This setup allows you to use familiar methods like client.chat.completions.create. The response structure matches the OpenAI standard format.
Node SDK Integration
Install the OpenAI Node.js package. Configure the apiKey and baseURL properties. This ensures compatibility with existing scripts.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gptnofilter.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);
Call the completions endpoint with the uncensored model. The SDK handles serialization and header injection automatically.
Streaming and JSON Mode
Enable streaming by setting stream to true. You receive Server-Sent Events (SSE) chunks. The final chunk contains the total token usage. You can also force JSON output using response_format: {type: "json_object"}. This is useful for structured data generation.
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)
Function calling is supported via the tools parameter. The model adheres to the specified tool definitions during execution.
Rate Limits and Context Window
You are allowed 300 requests per minute per key. Concurrency is limited to 8 simultaneous requests. The request body must not exceed 8 MB. The context window is 100,000 tokens total. This includes both the prompt and the completion. Max output is 16,000 tokens per request. If you do not set max_tokens, the limit defaults to 2,048 tokens. Errors and refusals do not consume credit. A 401 error means your key is invalid. A 402 error indicates insufficient credit. A 429 error signals that you hit the rate limit.
Common questions
Is this the same as ChatGPT?
No. We host our own uncensored large language model. It is not GPT, Claude, or any other vendor's model. It is an open-weight model tuned for unrestricted responses.
What happens if I run out of credit?
Requests will return a 402 error. You can top up using USDT (TRC20) or USDC (Base). Credit never expires. Bonus credits apply for larger top-ups.
Do you use my data for training?
No. Prompts are not used for training. We only require an email for your account. No phone number is needed for signup.
Secure your key
Register, retrieve the key, update the endpoint. Minimal configuration.
Get API key