ro ▾

Begin with trial credit

Use email and password to get your key instantly.

https://api.llmanonymous.com/v1

Anonymous llm API Quickstart

Get started with the uncensored LLM API in minutes. This quickstart guide covers authentication, basic requests, streaming, and parameter tuning for your OpenAI-compatible endpoint.

Base URL and Authentication

Your API key authenticates every request to the https://api.llmanonymous.com/v1 base URL. Generate a key via the dashboard using Google or email, then pass it in the Authorization header. This works with any OpenAI-compatible client by updating the base URL and key configuration.

curl https://api.llmanonymous.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "What is the root cause of 503 errors in this log?"}]
  }'

Keep your key secure. The dashboard shows your single active key, and generating a new one replaces the old immediately.

Chat Completions Endpoint

Send text prompts to the uncensored model via POST /v1/chat/completions. Use the model ID uncensored for responses without content refusals on lawful adult topics. The API accepts standard message arrays with role and content fields.

from openai import OpenAI

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

Errors and refusals are free, so you only pay for actual token usage. The model handles complex instructions and long contexts effectively.

Model Listing Endpoint

Retrieve available models using GET /v1/models. This returns the uncensored model ID, confirming your connection to the correct service. Use this to verify your API key permissions before sending heavy workloads.

import OpenAI from "openai";

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

Unlike multi-vendor gateways, we serve one tuned open-weight model. Check the pricing page for token rates, as this endpoint does not return billing details.

Streaming and Token Usage

Enable streaming by setting stream: true to receive Server-Sent Events (SSE). Token usage metrics appear in the final chunk of the stream, allowing you to track costs in real-time. This reduces perceived latency for long outputs.

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)

Parse the SSE data carefully to reconstruct the full response. The API returns partial tokens as they are generated, providing immediate feedback for interactive applications.

Parameters: Temperature, Top-P, and Seed

Control creativity with temperature and top_p. Set seed for reproducible outputs during debugging. These parameters adjust how the model selects tokens from its probability distribution. Higher temperatures increase randomness for diverse content.

curl https://api.llmanonymous.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "What is the root cause of 503 errors in this log?"}]
  }'

Use stop sequences to truncate responses early. The model respects these constraints, allowing precise control over output length and format without extra processing.

JSON Mode and Function Calling

Force structured output using response_format: {"type": "json_object"} for reliable JSON parsing. Enable function calling with tools and tool_choice to integrate external services. The model supports tool definitions with function names, descriptions, and parameter schemas.

from openai import OpenAI

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

Combine JSON mode with streaming for real-time structured data ingestion. This approach works well for data extraction tasks requiring consistent formatting across multiple requests.

Frequently asked questions

What is the context window and token limit for the uncensored LLM API?

The context window is 100,000 tokens for prompt and completion combined. Maximum output is 16,000 tokens per request, or 2,048 tokens if you do not specify <code>max_tokens</code>.

How do rate limits and errors work with this API?

You get 300 requests per minute and 8 concurrent requests per key. Errors like 401 (invalid key), 402 (no credit), and 429 (rate limit) are handled via standard HTTP status codes. Use the Support page for billing issues like double charges.

Is the anonymous LLM service truly uncensored for adult content?

Yes, the model does not refuse lawful adult, fictional, or controversial topics. The only hard limit is content involving minors, which is always refused. Prompts are not used for training your data.

Your API key is one step away

Register, copy your key, and update the base URL. That is the entire configuration.

Try with trial credit

https://api.llmanonymous.com/v1