NoFilter API Documentation
Get started with the NoFilter API by sending your first uncensored text generation request. This guide covers the base URL, authentication, SDK integration, streaming, and hard limits for the /v1/chat/completions endpoint.
- Base URL
- https://api.nofilterapi.com/v1
- Model
- uncensored
Authentication and Base URL
Start by registering at Get API key. No credit card is required to receive $0.50 in trial credit, valid for 7 days. Your API key is displayed immediately after signup. You can regenerate it at any time, which instantly revokes the old key.
The base URL for all requests is https://api.nofilterapi.com/v1. This endpoint is compatible with official OpenAI SDKs and any standard OpenAI-compatible client. Update your client configuration to point to this base URL and inject your key into the Authorization header as a Bearer token.
First Request
Send a standard chat completion request to generate text. The model ID is always uncensored. The API accepts text input and returns text output without content refusals for lawful adult, fictional, or controversial topics.
- Context window: 64,000 tokens (combined prompt and completion).
- Hard limit: sexual content involving minors is blocked.
Use this cURL command to test your key:
curl https://api.nofilterapi.com/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 SDK Integration
For Python developers, configure the official openai library to use our base URL. This ensures compatibility with the standard request-response cycle for text generation.
- Set
base_urltohttps://api.nofilterapi.com/v1. - Provide your API key via the
api_keyparameter.
Install the SDK via pip and initialize the client to start generating text.
from openai import OpenAI
client = OpenAI(base_url="https://api.nofilterapi.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 SDK Integration
Node.js developers can achieve the same result by configuring the OpenAI client instance. Pass the base URL and API key to ensure requests route correctly to our uncensored model.
- Use
new OpenAI({ baseURL: 'https://api.nofilterapi.com/v1', apiKey: 'YOUR_KEY' }). - Call
chat.completions.createwith modeluncensored.
This setup works for both synchronous calls and streaming, provided you configure the stream flag appropriately.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nofilterapi.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 Responses
To receive text token-by-token, enable streaming in your request payload. This is required for real-time output; it is not the default behavior.
- Set
stream: truein the request body. - Parse Server-Sent Events (SSE) from the response.
Streaming works with both the cURL, Python, and Node clients when the flag is explicitly set. This is ideal for chat interfaces where you want to display text as it is generated.
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)
Limits, Errors, and Context
Monitor these limits to avoid service interruptions:
- Rate Limit: 300 requests per minute per key. Exceeding this returns a
429error. - Request Size: Maximum body size is 8 MB.
- Context Window: 64,000 tokens total. If you exceed this, the model will truncate older content.
Common errors include 401 for invalid keys, 402 if you have insufficient prepaid credit, and 429 for rate limits. All pricing is usage-based; prepaid credit never expires.
Under the hood: specs
Everything the endpoint can and cannot do, in one place — check it before you top up.
| Spec | Value |
|---|---|
| Protocol | OpenAI Chat Completions schema; official openai SDKs work unchanged |
| Base URL | https://api.nofilterapi.com/v1 |
| Model | uncensored |
| Methods | POST /v1/chat/completions · GET /v1/models |
| Authentication | Bearer token in the Authorization header |
| JSON mode | JSON object mode via response_format json_object |
| Streaming | Supported (stream: true), usage included at the end |
| Sampling parameters | temperature, top_p, stop, seed and the two penalties are passed through |
| Context window | 64,000 tokens, input and output combined |
| Tools / tool calls | Yes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool |
| Completion length | 16,000 tokens max; 2,048 if max_tokens is not set |
| Rate limit | 300 requests per minute per key |
| Request size | up to 8 MB per request |
| Response headers | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concurrency | up to 8 in parallel per key |
| Bonus credit | +5% from $50, +10% from $100 |
| Top-up | crypto: USDT on TRON or USDC on Base, $10–$500, any whole sum |
| Token prices | $0.25 per 1M input tokens · $1.00 per 1M output tokens |
| Subscription | paid credit never expires, no subscription |
| Billing | prepaid credit, charged by real token usage; errors and refusals are free |
| Free trial | $0.50 for 7 days, no card |
| Sign-in | sign in with Google or with e-mail + password |
| Content | uncensored for adults; the only hard rule: no sexual content involving minors |
| Keys | one active key per account; a new key replaces the old one |
Errors and what to do
Every error is JSON with a type you can switch on. You are never charged for an error.
| HTTP | Type | What to do |
|---|---|---|
400 | bad_request | invalid JSON, empty messages, bad parameter, or prompt + max_tokens over the window — fix and resend |
401 | missing_key · invalid_key · key_revoked | check the Authorization header or use your current key |
402 | no_credit | out of credit; add credit and retry |
403 | content_blocked | sexual content involving minors — refused, not billed |
404 | not_found | unknown endpoint |
413 | request_too_large | request body larger than 8 MB |
429 | rate_limited · concurrency | slow down: rate or parallel limit reached |
503 | upstream_busy | temporary overload, retry shortly |
Questions and answers
Is the NoFilter API private?
Yes, we do not use your prompts for training. Your data is processed to generate the response but is not retained for model improvement purposes.
What is the context window size?
The context window is 64,000 tokens, which includes both the input prompt and the generated completion. If the total exceeds this limit, content may be truncated.
Do you charge for trial credits?
No. Every new account receives $0.50 in trial credit valid for 7 days. No credit card is needed to start. Standard pay-as-you-go rates apply after the trial balance is exhausted.
Your key is one form away
Create an account, copy the key, change the base URL. That is the whole setup.