EN ▾
Open account

Uncensored ai API Documentation

Get started with the uncensored AI API in minutes. Send text, get text, and skip the filters.

Base URL and authentication

Start every request to our uncensored LLM by pointing your client at our base URL. Use HTTPS://api.uncensensoredai.com/v1 as the endpoint. Authenticate with your API key in the Authorization header. You get one key per account. Swap it out if you need a fresh one. The key appears right after you sign up with Google or email. No phone number required. Keep your key secret. Treat it like a password. It grants access to your prepaid credit. Errors and refusals do not charge you. Only real tokens count. This setup works with any OpenAI-compatible SDK. Just update the base URL string. Your requests go straight to our servers. No middlemen. No extra routing logic to debug. It is straightforward. You control the input. You own the output. Privacy matters. We do not train on your prompts. Your data stays yours. The uncensored model responds to lawful adult content without hesitation. That is the core promise. Set your header. Point your client. Begin chatting.

First request

Make your first call with a simple POST request. Use the uncensored model ID. Send a user message. Receive a completion. This is the fastest way to verify your key works. Try this command in your terminal. Replace YOUR_API_KEY with your actual key. Keep the system prompt minimal. Focus on the task. The model will generate text immediately. Check the response body. Look for the content field. It contains the AI's answer. If you get a 401, your key is wrong. If you get a 402, you need credit. If you get a 429, you hit the rate limit. This curl example shows the basic structure. It is clean. It is direct. It proves the API works. You can now build your app. The uncensored AI API key is ready. Start integrating today.

Python SDK integration

Use the official OpenAI Python library to interact with our endpoint. Set the base URL to our API address. Inject your key. Call chat.completions.create. Pass the model name as uncensored. Send your messages in a list. The library handles the JSON serialization. You get a structured response object. Access the assistant's reply via .choices[0].message.content. This approach is reliable. It matches the standard SDK behavior. You do not need custom parsing code. The uncensored AI models follow the same protocol. Adjust the parameters as needed. Set temperature for creativity. Use stop sequences for control. The Python SDK makes integration trivial. Your chatbot logic remains simple. Focus on your app's features. Let the SDK handle the HTTP details. This is the recommended path for Python developers. It is robust. It is well-documented. Start coding now.

Node.js SDK usage

Integrate with Node.js using the openai npm package. Configure the base URL to point to our server. Pass your API key in the options. Call chat.completions.create with the uncensored model. Provide your message array. The SDK returns a Promise. Await the result. Extract the content from the response. This works seamlessly with existing OpenAI code. You swap the URL. You keep the logic. The uncensored AI API key ensures authentication. Handle errors with try-catch blocks. Check for rate limits. Manage retries if needed. The Node ecosystem is mature. This integration leverages that maturity. Your server can handle high throughput. Stream responses if you prefer real-time output. Use the standard parameters. Temperature, top_p, and stop work as expected. This is the fastest way to get started in Node. Write less code. Ship faster. The uncensored model is ready for your app.

Streaming responses

Stream tokens for a better user experience. Enable streaming in your SDK call. Set stream to true. The API returns a stream of chunks. Each chunk contains partial content. Update your UI in real time. This reduces perceived latency. Users see text appearing instantly. The uncensored AI API supports this natively. Track usage in the final chunk. The last chunk includes token counts. Sum them up for billing accuracy. Errors during streaming are rare. Handle them gracefully. Close the stream when done. This method works with all OpenAI-compatible clients. It is ideal for chat interfaces. Your users appreciate the speed. The uncensored model responds quickly. Stream the output. Keep the conversation flowing. This is how modern AI apps should work. Fast. Fluid. Responsive. Implement streaming today.

Limits, errors, and context

Know your constraints before you scale. The context window is 100,000 tokens total. This includes prompt and completion. Max output is 16,000 tokens. Default max tokens is 2,048. Rate limit is 300 requests per minute. Concurrency is 8 requests at once. Request body size is 8 MB. Handle 401 errors by checking your key. Fix 402 errors by topping up credit. Manage 429 errors by slowing down. These limits are firm. They ensure stability. The uncensored AI API is transparent about these rules. No hidden caps. No surprise throttling. Plan your architecture accordingly. Batch requests if needed. Monitor your usage. The prepaid credit model keeps costs predictable. Errors do not charge tokens. Refusals do not charge tokens. You only pay for valid completions. This is fair. This is clear. Build with confidence. Know the limits. Avoid the errors. Scale smoothly.

cURL

curl https://api.uncensensoredai.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "list the top 3 python libraries for web scraping"}]
  }'

Python

from openai import OpenAI

client = OpenAI(base_url="https://api.uncensensoredai.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.js

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.uncensensoredai.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

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)

Common questions

Is the uncensored AI API compatible with OpenAI SDKs?

Yes. It follows the OpenAI chat-completions protocol. Use the standard libraries. Change the base URL. Inject your key. It works immediately.

What happens if I exceed the rate limit?

You receive a 429 status code. Your request fails. No tokens are charged. Wait a few seconds. Retry with exponential backoff. The limit is 300 requests per minute per key.

Does the uncensored model refuse adult content?

It allows lawful adult content. It does not refuse based on standard filters. Minors in sexual content are still refused. Everything else is fair game. You get unfiltered text.

Get your API key

Register, copy the key, and update your base URL. That is all you need to do.