EN ▾
Get your key

Uncensored OpenAI-compatible API

API Documentation

Get started with the uncensored LLM API by pointing your standard OpenAI-compatible client to our base URL and swapping in your API key. This quickstart covers authentication, your first request, streaming, and the technical limits you need to know.

Base URL and Authentication

Start by authenticating with the base URL https://api.googlegeminiuncensored.com/v1. You receive a single active API key immediately after signing up via Google or email. Use this key in the Authorization header as a Bearer token for all subsequent requests.

  • Base URL: https://api.googlegeminiuncensored.com/v1
  • Header: Authorization: Bearer YOUR_API_KEY
curl https://api.googlegeminiuncensored.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top five open source LLMs for local deployment"}]
  }'

Chat Completions Endpoint

Send text generation requests to POST /v1/chat/completions. This endpoint accepts standard message arrays and returns raw text responses without content filters for lawful adult use.

from openai import OpenAI

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

The model ID is uncensored. It is an open-weight model running on our servers, distinct from GPT or Gemini. It does not route between vendors or offer embeddings.

Streaming Responses (SSE)

Enable streaming by setting stream: true in your request body. The API returns Server-Sent Events (SSE) where token usage data appears in the final chunk.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.googlegeminiuncensored.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 reduces perceived latency for long outputs. Each chunk contains partial text deltas. Parse the last event to get the total token consumption for billing transparency.

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)

Generate your key

Register, copy the key, update the endpoint URL. Full setup in seconds.

Get your key