fr ▾
Claim trial key
Claim trial key

API Documentation: OpenAI-Compatible Endpoints

Start generating uncensored text with our OpenAI-compatible API in seconds. This guide covers the endpoints, parameters, and constraints you need to integrate the no filter AI model into your workflow.

Authentication and Base URL

Use the provided API key to authenticate every request. Send your key in the Authorization header as a Bearer token. The base URL for all endpoints is https://api.aifilterno.com/v1. This URL works with standard OpenAI SDKs if you update the base URL configuration. Your key is visible immediately after signup. Keep it secure because it grants access to your prepaid credit.

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

Requests fail with a 401 error if the key is missing or invalid. You only need one active key per account. Generating a new key invalidates the previous one instantly. This ensures clean access control without complex permission hierarchies.

Chat Completions Endpoint

Send your prompt to the POST /v1/chat_completions endpoint. The model identifier is uncensored. This endpoint returns raw text responses without content refusals for lawful adult topics. You can send standard message arrays with system, user, and assistant roles. The API accepts standard parameters like temperature and top_p. Errors do not consume your credit. Refusals due to content limits are also free. This makes testing inexpensive. Check the response body for the generated text. Use the Python SDK for simpler integration.

from openai import OpenAI

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

The response includes token usage statistics. These help you track your prepaid balance accurately. You pay per token, so precise usage tracking matters.

Supported Parameters and Options

Control the model's behavior using standard parameters. Set temperature for randomness. Adjust top_p for nucleus sampling. Use stop sequences to halt generation. The seed parameter ensures reproducible outputs. You can set presence_penalty and frequency_penalty to manage repetition. These options work exactly as documented in the OpenAI spec. The model supports up to 100,000 tokens in the context window. This includes both the input prompt and the output completion. Set max_tokens to limit output length. The default is 2,048 tokens. Explicitly setting it prevents unexpected costs.

The model is open-weight and runs on our servers. It is not GPT or Claude. Verify the model name in the GET /v1/models endpoint. This endpoint lists available models. Currently, only the uncensored model is available.

Streaming Responses with SSE

Enable streaming by setting stream: true in your request. The API returns Server-Sent Events (SSE). Each chunk contains partial text. This reduces perceived latency for long responses. The final chunk includes the complete token usage statistics. Parse these chunks to display text in real-time. Streaming works with all standard parameters. It does not affect the model's behavior. Use the Node SDK for efficient streaming handling.

import OpenAI from "openai";

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

Errors during streaming still return the 401, 402, or 429 status codes. Handle these errors gracefully in your client. The stream may terminate early if the context window fills up. Monitor token usage to avoid hitting limits unexpectedly.

JSON Mode and Function Calling

Force structured output by setting response_format to {"type": "json_object"}. The model returns valid JSON instead of free text. This is useful for parsing data or configuring systems. Function calling is also supported. Define tools in the request body. The model selects the appropriate tool and arguments. Use tool_choice to control selection behavior. JSON mode and function calling work with streaming. Parse the JSON response carefully. Invalid JSON may cause parsing errors in your client. Validate the output before use. This ensures reliability in production environments.

Rate Limits and Constraints

Each API key is limited to 300 requests per minute. You can have up to 8 concurrent requests. The maximum request body size is 8 MB. These limits prevent abuse and ensure stability. Exceeding the rate limit returns a 429 error. Insufficient credit returns a 402 error. Invalid keys return a 401 error. The context window is 100,000 tokens total. Output is capped at 16,000 tokens per request. If you do not set max_tokens, the default is 2,048 tokens. These constraints are strict. Plan your prompts accordingly. Prepaid credit never expires. You only pay for what you use.

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)

Frequently asked questions

What is the no filter AI model?

It is an open-weight LLM tuned for uncensored responses. It does not refuse lawful adult, fictional, or controversial topics. The model is not GPT, Claude, or any other vendor's model. It runs on our servers and outputs raw text.

How do I get started with the API?

Sign up with Google or email. You receive an API key immediately. Use the base URL <code>https://api.aifilterno.com/v1</code> with any OpenAI-compatible SDK. Send a POST request to <code>/v1/chat_completions</code> with the model ID <code>uncensored</code>. Add your key to the Authorization header.

What happens if I run out of credit?

Requests return a 402 error indicating insufficient funds. You can top up with USDT or USDC. Credit never expires. Errors and refusals do not consume credit. This ensures you only pay for actual usage.

Access your key now

Sign up, retrieve your key, and update your API base URL. That is all you need.