Uncutly AI API Documentation
Get started with Uncutly AI in minutes using standard OpenAI-compatible endpoints. Authenticate with your API key, send a request, and receive uncensored text output instantly.
- Base URL
https://api.uncutlyai.com/v1- Model
uncensored
Authentication & Base URL
Start every request by pointing your client to our base URL and passing your key in the Authorization header.
The base URL is Each account holds one active key at a time. If you generate a new one, the old key stops working immediately. This keeps your access clean and secure. Our service is designed for developers who want direct control. You do not need to manage complex routing or multiple models. Just use your key and go. Send your first message to the The model identifier is simply You can send standard prompt structures. The API accepts text input and returns text output. It is compatible with any OpenAI SDK or client that supports the chat-completions format. Here is a basic example using cURL to get a response. Use the official OpenAI Python package to interact with our API with minimal code. Set the The model name is This approach works for simple scripts or complex application logic. It handles serialization automatically. Integrate the API into your Node.js applications using the Configure the client with our base URL and your API key. The SDK handles the HTTP requests and parses the JSON response. Call the This method is reliable for server-side generation. It fits well into Express routes or background jobs. Receive text token-by-token using Server-Sent Events (SSE) for lower perceived latency. Set the Each chunk contains partial text. You can concatenate these chunks to build the final message. This is useful for chat interfaces that update in real time. The last chunk includes usage statistics. You can track token consumption directly from the stream. Understand the constraints and error codes to debug your integration quickly. Your context window is 100,000 tokens total. This includes both the input prompt and the generated output. You can set a maximum output of 16,000 tokens per request. Rate limits are set to 300 requests per minute per key. You can run 8 concurrent requests simultaneously. The request body limit is 8 MB. Common errors include 401 for an invalid key and 402 when you run out of prepaid credit. A 429 error means you hit the rate limit. Errors do not consume your credit balance. Pricing is transparent: $0.15 per 1M input tokens and $0.50 per 1M output tokens. Credit is prepaid and never expires.https://api.uncutlyai.com/v1https://api.uncutlyai.com/v1Authorization: Bearer YOUR_API_KEYFirst Request
/v1/chat/completions endpoint using your preferred HTTP client.uncensored. This open-weight model runs on our servers and answers without typical content refusals for lawful adult use.curl https://api.uncutlyai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Show me the API endpoint for text generation"}]
}'Python SDK
base_url and api_key parameters in your client initialization. This ensures requests route to our uncensored endpoint instead of OpenAI's servers.uncensored. You can pass messages as a list of dictionaries. The response object contains the generated text in response.choices[0].message.content.from openai import OpenAI
client = OpenAI(base_url="https://api.uncutlyai.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
openai package.chat.completions.create method with the model uncensored. You can define system prompts or user messages as needed.import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncutlyai.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 Responses
stream parameter to true in your request. The API returns a stream of chunks instead of a single full response.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 & Context
Common questions
What is Uncutly AI?
Uncutly AI is a hosted, OpenAI-compatible API that serves a single uncensored large language model. It focuses on text generation without content refusals for lawful adult use. You pay only for the tokens you use.
How do I pay for the API?
We accept crypto only. You can top up with USDT (TRC20) or USDC (Base) in amounts between $20 and $500. Credit never expires, and errors are free. There are no monthly fees or subscriptions.
Which payment methods do you accept?
Crypto only: USDT on TRC20 or USDC on Base, any whole amount from $20 to $500. Bonus credit applies from $50.
Get your API key
Register, copy the key, update the base URL. That is all you need.