Integrate Uncensored AI Models in Minutes
Connect your application to our uncensored AI models API using standard OpenAI-compatible endpoints. This guide covers authentication, request formats, and streaming for rapid integration.
- per 1M input tokens
- $0.15
- Output tokens / 1M
- $0.50
- token context
- 100,000
- trial credit
- $0.50
- requests per minute
- 300
Base URL & Authentication
Our API follows the OpenAI standard, requiring only a base URL adjustment and an API key. The base URL is https://api.uncensoredaimodels.cc/v1. You receive a single active API key upon signup. Include it in the Authorization header as a Bearer token. If the key is invalid, the API returns a 401 error. If you lack sufficient credit, you receive a 402 error. This design allows you to swap our service into existing OpenAI clients by updating just two configuration values.
Chat Completions Endpoint
Send text to the model using the POST /v1/chat/completions endpoint. The model identifier is uncensored. Requests must stay within an 8 MB body limit and a 100,000-token context window. The model returns generated text without standard content refusals for lawful adult topics. Use this endpoint for direct text generation tasks.
curl https://api.uncensoredaimodels.cc/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."}]
}'
Streaming Responses (SSE)
Enable real-time token delivery by setting stream: true. The API returns Server-Sent Events (SSE), allowing your application to process tokens as they generate. Token usage statistics appear only in the final chunk of the stream. This approach reduces perceived latency for users waiting for long-form content.
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)
Python SDK Integration
Use the official OpenAI Python library to integrate quickly. Set the base_url to our endpoint and provide your API key. The client handles serialization and error parsing automatically. This method is ideal for backend services or data processing scripts that require structured uncensored text output.
from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredaimodels.cc/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
For JavaScript environments, the OpenAI Node SDK works with our endpoint. Initialize the client with your base URL and key. This integration supports both synchronous and asynchronous requests, fitting well into Express servers or serverless functions. Ensure your environment supports the required Node version for the SDK.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredaimodels.cc/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);
Model Parameters & Limits
Control generation behavior using parameters like temperature, top_p, and seed. You can enforce JSON output via response_format or define tools for function calling. The API enforces a hard limit of 300 requests per minute and 8 concurrent requests per key. If you exceed these limits, the API returns a 429 error. Output is capped at 32,000 tokens per request.
Technical specifications
One table with every limit, feature and price that applies to your key.
| Feature | Support |
|---|---|
| Compatibility | OpenAI Chat Completions schema; official openai SDKs work unchanged |
| Model | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| API key | Bearer token in the Authorization header |
| Base URL | https://api.uncensoredaimodels.cc/v1 |
| Context window | 100,000 tokens (prompt + completion together) |
| Sampling parameters | temperature, top_p, stop, seed and the two penalties are passed through |
| JSON mode | JSON object mode via response_format json_object |
| Function calling | Yes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool |
| Completion length | prompt + completion fit within 100,000 tokens; max_tokens optional, no separate output cap |
| Streaming | Yes — server-sent events; the last chunk carries token usage |
| Request size | up to 8 MB per request |
| Parallel requests | 8 requests at the same time per key |
| Requests per minute | 300 requests per minute per key |
| Headers | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Price | input $0.15 / 1M tokens, output $0.50 / 1M tokens |
| Subscription | paid credit never expires, no subscription |
| How you pay | pay as you go from prepaid credit; nothing is charged for failed or refused requests |
| Free trial | $0.50 for 7 days, no card · Trial key: 2 parallel requests, 60 req/min; full limits (8 and 300) after first top-up |
| Top-up | crypto: USDT on TRON or USDC on Base, $20–$500, any whole sum |
| Bonus credit | +5% from $50, +10% from $100, +15% from $200 |
| Content policy | adult content allowed; sexual content involving minors is refused |
| Account | sign in with Google or with e-mail + password |
| Key management | one active key per account; a new key replaces the old one |
When a request fails
Errors come back as JSON with a stable type; failed and refused requests are not billed.
| HTTP | Type | What to do |
|---|---|---|
400 | bad_request | malformed request or too long for the context window |
401 | missing_key · invalid_key · key_revoked | check the Authorization header or use your current key |
402 | no_credit | out of credit; add credit and retry |
403 | content_blocked | sexual content involving minors — refused, not billed |
404 | not_found | only /v1/chat/completions and /v1/models exist |
413 | request_too_large | request body larger than 8 MB |
429 | rate_limited · concurrency | over 300/min or 8 parallel — back off and retry |
503 | upstream_busy | temporary overload, retry shortly |
Questions and answers
What is the context window size?
The model supports a 100,000-token context window, including both prompt and completion tokens. Each request can generate up to 32,000 tokens of output. If you do not specify max_tokens, the default output limit is 2,048 tokens.
How do I handle rate limits?
The API allows 300 requests per minute and 8 concurrent requests per API key. If you exceed these limits, you will receive a 429 status code. Implement exponential backoff in your client to handle retries gracefully.
Does the API support function calling?
Yes, the API supports tool definitions and tool_choice parameters. You can structure your requests to define functions, and the model will return structured tool calls in the response. This works with standard OpenAI-compatible clients.
Your key is one form away
Create an account, copy the key, change the base URL. That is the whole setup.