API Documentation for Developers
Drop-in uncensored inference for your existing code. Swap the base URL and API key to start sending prompts to an open-weight model tuned for adult content.
Base URL and Authentication
Use https://api.proxyaiopen.com/v1 as your endpoint. Send your unique API key in the Authorization header. You get one key per account, created instantly via Google or email. Errors and refusals incur no charge, so you can test safely. We do not store prompts for training.
First Request
Send a standard chat completion to generate text. The model ID is uncensored. You can stream results or wait for the full response. Context window is 100,000 tokens total. Max output is 16,000 tokens unless you specify a lower limit. No embeddings or image generation are available.
curl https://api.proxyaiopen.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Set model to uncensored adult variant"}]
}'
Python SDK Integration
Initialize the client with the new base URL. Pass your API key directly. The library handles retries and formatting automatically. You can adjust temperature or seed for reproducibility. This works with any OpenAI-compatible Python client. Streaming is supported via the async iterator.
from openai import OpenAI
client = OpenAI(base_url="https://api.proxyaiopen.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
Configure the client object with the proxy URL. Set the key in the headers or client config. Node clients handle the JSON parsing natively. You can limit the max tokens to control costs. The response object contains the generated text. Errors throw exceptions you can catch.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.proxyaiopen.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 and SSE
Set stream: true in your request. Receive tokens as they generate. The final chunk contains usage statistics. This reduces latency for long responses. You can stop the stream early if needed. Token counts help you track billing accurately.
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 Billing
Rate limit is 300 requests per minute. Concurrent requests cap at 8 per key. Request body must stay under 8 MB. A 401 error means invalid credentials. A 402 indicates insufficient credit. A 429 signals you hit the rate limit. Billing is transparent: $0.15 per 1M input tokens and $0.50 per 1M output tokens. Pay with crypto only.
Common questions
Is this an official open AI proxy?
No, it is an independent service. We host an open-weight model compatible with the OpenAI API format. Check vendor docs for other model details.
How do I pay for the uncensored LLM API?
Use crypto only. Accept USDT on TRC20 or USDC on Base. Minimum top-up is $20. Bonuses apply at higher tiers.
What is the context window for the NSFW API?
The window is 100,000 tokens for prompt and completion combined. You can output up to 16,000 tokens per request. Adjust settings to fit your needs.
Get your API key
Sign up, grab the key, update your base URL. That is it.