Get API key

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_url to https://api.nofilterapi.com/v1.
  • Provide your API key via the api_key parameter.

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.create with model uncensored.

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: true in 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 429 error.
  • 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.

SpecValue
ProtocolOpenAI Chat Completions schema; official openai SDKs work unchanged
Base URLhttps://api.nofilterapi.com/v1
Modeluncensored
MethodsPOST /v1/chat/completions · GET /v1/models
AuthenticationBearer token in the Authorization header
JSON modeJSON object mode via response_format json_object
StreamingSupported (stream: true), usage included at the end
Sampling parameterstemperature, top_p, stop, seed and the two penalties are passed through
Context window64,000 tokens, input and output combined
Tools / tool callsYes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool
Completion length16,000 tokens max; 2,048 if max_tokens is not set
Rate limit300 requests per minute per key
Request sizeup to 8 MB per request
Response headersX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Concurrencyup to 8 in parallel per key
Bonus credit+5% from $50, +10% from $100
Top-upcrypto: 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
Subscriptionpaid credit never expires, no subscription
Billingprepaid credit, charged by real token usage; errors and refusals are free
Free trial$0.50 for 7 days, no card
Sign-insign in with Google or with e-mail + password
Contentuncensored for adults; the only hard rule: no sexual content involving minors
Keysone 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.

HTTPTypeWhat to do
400bad_requestinvalid JSON, empty messages, bad parameter, or prompt + max_tokens over the window — fix and resend
401missing_key · invalid_key · key_revokedcheck the Authorization header or use your current key
402no_creditout of credit; add credit and retry
403content_blockedsexual content involving minors — refused, not billed
404not_foundunknown endpoint
413request_too_largerequest body larger than 8 MB
429rate_limited · concurrencyslow down: rate or parallel limit reached
503upstream_busytemporary 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.