OpenAI-compatible API documentation
Start using our uncensored LLM API in under a minute with standard OpenAI-compatible endpoints. Send text, get text, and pay only for the tokens you actually consume.
Quickstart: Send your first request
Get your API key instantly by signing up with Google or email. Use the uncensored model ID to generate unrestricted text for creative writing, security research, or adult content. The API accepts standard requests via POST /v1/chat/completions.
curl https://api.ianoncensure.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top 5 libraries for async python"}]
}'Every new account gets immediate access. The base URL is HTTPS://api.ianoncensure.com/v1. You can test the endpoint to ensure connectivity before integrating into your production workflow.
Endpoints: chat/completions and models
Interact with the model using two simple endpoints: POST /v1/chat/completions for generation and GET /v1/models for metadata. This API serves one specific uncensored large language model, not a routing layer between multiple vendors. You do not need to manage complex model selections.
from openai import OpenAI
client = OpenAI(base_url="https://api.ianoncensure.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)Requests are processed as text-in, text-out. There are no embeddings, image generation, or audio endpoints. Keep your client library simple by sticking to these two paths. The model ID is always uncensored.
Parameters: temperature, top_p, and more
Control creativity with temperature and top_p parameters. Adjust presence_penalty and frequency_penalty to reduce repetition. Use seed for deterministic outputs during testing. The model supports stop sequences to halt generation at specific markers.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ianoncensure.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);These parameters allow fine-tuning of the output style. Higher temperatures produce more varied responses, while lower values ensure consistency. All parameters follow standard OpenAI conventions, making migration easy.
Streaming responses via SSE
Enable real-time output by setting stream: true. The API returns Server-Sent Events (SSE) for each token generated. This reduces perceived latency for users waiting for long-form content. The final chunk includes the total token usage for billing.
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)Streaming is essential for chat interfaces. It provides immediate feedback while the model continues processing. Handle the SSE stream in your client to display tokens as they arrive.
JSON mode and function calling
Enforce structured output with response_format: {"type": "json_object"}. This ensures the model returns valid JSON, which is critical for integrating with downstream systems. Function calling allows the model to execute tools defined in your schema.
Use tools and tool_choice to guide the model's actions. This capability enables complex workflows without post-processing. The API handles tool execution logic efficiently.
Rate limits and error handling
Each API key is limited to 300 requests per minute and 8 concurrent requests. The maximum request body size is 8 MB. Errors return standard HTTP codes: 401 for invalid keys, 402 for insufficient credit, and 429 for rate limits. Errors and refusals do not consume tokens.
The context window supports 100,000 tokens for prompt and completion combined. Max output is 16,000 tokens per request. Set max_tokens explicitly to avoid exceeding limits. Unused credit never expires.
FAQ
Is this ia non censure API suitable for NSFW content?
Yes, the model is tuned to answer without content refusals for lawful adult use. It does not refuse controversial or sexual topics, except for a hard limit on content involving minors. You can generate unrestricted text for creative or research purposes.
How does the pricing work compared to other uncensored LLM providers?
You pay $0.15 per 1M input tokens and $0.50 per 1M output tokens. Errors and refusals are free. There are no monthly subscriptions or hidden fees. Prepaid credit covers all usage, and you can top up via crypto with bonus credits.
What happens if I hit the rate limit?
You will receive a 429 status code. The limit is 300 requests per minute per key and 8 concurrent requests. You can generate a new API key to replace the old one if needed, as each account allows one active key at a time.