EN ▾
Create key

Integrate the Uncensored Model in Minutes

Connect your standard OpenAI SDK to our uncensored model in minutes. Send requests, receive raw text, and scale without guardrails.

https://api.kiohnezensur.com/v1uncensored

Installation & Configuration

Start by pointing your client to the uncensored API base URL. You need a valid API key for authentication. Obtain one instantly via Google or email on the Get API key page. No phone number required. The endpoint accepts standard JSON payloads.

Set the base URL to HTTPS://api.kiohnezensur.com/v1. Use the model ID "uncensored" for all requests. This ensures compatibility with existing OpenAI SDKs. Your prompts go in, unfiltered text comes out.

Basic Chat Completion Request

Send a simple POST request to /v1/chat/completions. The model returns raw text without moral filtering. You control the context window up to 100,000 tokens. Adjust temperature and top_p for creativity.

curl https://api.kiohnezensur.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Calculate the total memory usage for these three processes"}]
  }'

Replace YOUR_API_KEY with your generated key. The response contains the assistant's message. Errors like 401 indicate invalid keys. 402 means no credit remains.

Streaming Responses with SSE

Enable streaming by setting stream to true. Receive tokens via Server-Sent Events. This reduces perceived latency for long outputs. Read the last chunk for total token usage.

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)

Process each chunk as it arrives. The model supports up to 16,000 tokens per request. Default max_tokens is 2,048. Streaming works with any compatible client library.

Enforcing JSON Mode

Force structured output for reliable parsing. Set response_format to {"type": "json_object"}. The model adheres to this constraint strictly. Useful for data extraction or config generation.

import OpenAI from "openai";

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

Parse the JSON response directly. This avoids regex hacks. Ensure your prompt specifies the schema clearly. The uncensored model handles complex structures well.

Function Calling & Tools

Define tools in your request body. The model returns tool calls instead of plain text. Use tool_choice for strict enforcement. This enables agent-like behavior.

from openai import OpenAI

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

Implement the tool execution in your code. Pass the results back to the model for further reasoning. Supports multiple tools. The uncensored model does not refuse tool usage based on content type.

Handling Rate Limits

Monitor your request limits carefully. You get 300 requests per minute per key. Concurrency is limited to 8 simultaneous requests. Request bodies must stay under 8 MB. Exceeding these triggers a 429 error.

One active key per account. Replace old keys if needed. Errors and refusals are free. Prepaid credit charges only real token usage. Credit never expires. Top up via crypto only.

Questions and answers

How do I integrate the uncensored API into my existing project?

Update your base URL to HTTPS://api.kiohnezensur.com/v1 and set your API key. The endpoint is fully compatible with standard OpenAI SDKs. Use the model ID "uncensored" for all calls. No code changes needed for basic text generation.

What happens if I hit the rate limit?

You receive a 429 status code. The limit is 300 requests per minute and 8 concurrent requests per key. Request bodies must be under 8 MB. Errors and refusals do not count against your limit or consume credit.

Can I use the uncensored model for JSON output?

Yes, set response_format to json_object. The model enforces this structure reliably. This is ideal for API integrations requiring strict data formats. It works alongside function calling tools for complex workflows.

Your key is one form away

Create an account, copy the key, change the base URL. That is the whole setup.

Create keyRead the docs