th ▾
2026-10-30OpenAI-compatible uncensored APIuncensoredollamamodels.com
Uncensored Ollama
Open account

Uncensored AI API Documentation

Connect your OpenAI-compatible client to our uncensored API in seconds. This quickstart guide covers authentication, your first request, and streaming output.

Authentication & Base URL

Your API key authenticates every request. Use the official base URL for the /v1 endpoints.

Chat Completions Endpoint

Send your prompt to the chat completions endpoint. The model id is uncensored. This simple text-in, text-out flow works with standard SDKs.

from openai import OpenAI

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

Streaming Responses (SSE)

Enable streaming to receive tokens as they generate. The final chunk includes total token usage. This approach reduces perceived latency for long responses.

import OpenAI from "openai";

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

JSON Mode & Structured Output

Force structured output by setting response_format to {"type": "json_object"}. The model will return valid JSON instead of free text, which is ideal for programmatic pipelines.

Function Calling & Tools

Define tools in your request to let the model call external functions. Pass the tool definitions and set tool_choice to auto or a specific function name.

Rate Limits & Quotas

You get 300 requests per minute and 8 concurrent requests per key. The context window is 100,000 tokens total. Errors and refusals do not consume your prepaid credit.

cURL

curl https://api.uncensoredollamamodels.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List all Python standard library modules for file handling"}]
  }'

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)

Frequently asked questions

How do I authenticate?

Pass your API key in the <code>Authorization: Bearer <key></code> header. You can generate a key immediately after signing up with Google or email.

What are the rate limits?

Limits are 300 requests per minute and 8 concurrent requests per key. The request body must be under 8 MB.

What errors should I expect?

A 401 indicates an invalid key. A 402 means your prepaid credit is exhausted. A 429 signals you hit the rate limit.

Get your API key

Sign up, copy the token, and update your base URL. That is all.