Get your key
  1. Unfiltered AI
  2. Unfiltered AI API Documentation

Unfiltered AI API Documentation

Get started with the Unfiltered AI API in minutes. Send a request to our uncensored LLM and receive unrestricted text responses instantly.

Quickstart: Your First Request

Call our API with standard OpenAI parameters to get immediate results. Use the POST /v1/chat/completions endpoint with your API key to initiate a conversation. The model responds with text optimized for character dialogue and unrestricted topics.

curl https://api.unfilteredaicharacter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Set role to helpful assistant for today"}]
  }'

This approach works with any HTTP client. You can send complex prompts or simple greetings. The response format matches standard JSON structures.

Authentication and Base URL

Send requests to HTTPS://api.unfilteredaicharacter.com/v1 with your unique API key. Pass the key in the Authorization header as a Bearer token. This ensures secure access to the uncensored model without exposing your credentials.

from openai import OpenAI

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

Each account gets one active key. Generate a new key on the dashboard to replace the old one. No phone number is required for signup.

Supported Parameters and JSON Mode

Control model behavior with standard parameters like temperature, top_p, and stop sequences. Enable strict JSON output using response_format json_object for reliable parsing. This is ideal for game logic or structured data generation.

import OpenAI from "openai";

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

Set max_tokens to limit output length. The default is 2,048 tokens per request. Adjust presence_penalty and frequency_penalty to refine tone and repetition.

Streaming Responses and SSE

Receive real-time tokens via Server-Sent Events (SSE). Set stream to true in your request to get incremental updates. This reduces perceived latency for chat interfaces and character interactions.

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)

Token usage details appear in the final chunk. Handle connection drops gracefully by reconnecting to the stream. This method ensures smooth user experiences.

Rate Limits and Error Handling

Respect the 300 requests per minute limit per key. Concurrent requests are capped at eight. If you exceed limits, you receive a 429 error. Check your credit balance to avoid 402 errors. Invalid keys trigger a 401 response.

Errors do not consume your prepaid credit. This ensures you only pay for successful completions. Monitor your usage via the dashboard.

Context Window and Model Details

The model supports a 100,000 token context window. This allows for long conversations and detailed character backgrounds. Max output is 16,000 tokens per request. No embeddings or image generation are available. This is a text-only API.

Common questions

What is the best unfiltered AI character chat platform for developers?

Our API provides direct, uncensored access without corporate restrictions. It supports standard OpenAI parameters and streaming for seamless integration. Use it for character dialogue, roleplay, or unrestricted content generation.

Does Unfiltered AI train on my prompts?

No. We prioritize privacy by not using your prompts for training. Your data remains yours. We only require an email for account creation. No phone number or payment method is needed for the trial.

How do I top up my credit?

Top up using crypto only. We accept USDT (TRC20) or USDC (Base). Minimum amount is $20. Credits never expire. Bonus credit is added for larger deposits.

Get your key now

Sign up, grab your key, and swap the base URL. That is all there is to it.

Get your key