EN ▾
Try with trial credit

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 https://api.uncutlyai.com/v1

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.

  • Base URL: https://api.uncutlyai.com/v1
  • Header: Authorization: Bearer YOUR_API_KEY

First Request

Send your first message to the /v1/chat/completions endpoint using your preferred HTTP client.

The model identifier is simply uncensored. This open-weight model runs on our servers and answers without typical content refusals for lawful adult use.

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.

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

Use the official OpenAI Python package to interact with our API with minimal code.

Set the base_url and api_key parameters in your client initialization. This ensures requests route to our uncensored endpoint instead of OpenAI's servers.

The model name is uncensored. You can pass messages as a list of dictionaries. The response object contains the generated text in response.choices[0].message.content.

This approach works for simple scripts or complex application logic. It handles serialization automatically.

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

Integrate the API into your Node.js applications using the openai package.

Configure the client with our base URL and your API key. The SDK handles the HTTP requests and parses the JSON response.

Call the chat.completions.create method with the model uncensored. You can define system prompts or user messages as needed.

This method is reliable for server-side generation. It fits well into Express routes or background jobs.

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

Receive text token-by-token using Server-Sent Events (SSE) for lower perceived latency.

Set the stream parameter to true in your request. The API returns a stream of chunks instead of a single full response.

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.

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

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.

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.

Try with trial credit