id ▾
Open account

Quickstart: uncensored LLM API for developers

Stop managing subscriptions and start generating text immediately. This quickstart guide walks you through authenticating with our uncensored LLM API and sending your first requests using standard OpenAI-compatible SDKs.

Install your preferred OpenAI-compatible SDK

Authentication happens before any tokens are consumed. You need an API key from our platform to prove your identity. Create an account using "Continue with Google" or an email and password on the Get API key page. Your key appears immediately on screen.

Our open api key pricing model charges strictly by usage. Errors and refusals do not consume your prepaid credit. Keep your key secure in environment variables to avoid accidental exposure in version control systems.

Set your base_url and API key environment variables

Point your SDK client to our specific endpoint to access the uncensored model. The base URL for all requests is https://api.openapikeypricing.com/v1. This ensures your requests hit our infrastructure directly without vendor routing overhead.

  • Set OPENAI_BASE_URL to https://api.openapikeypricing.com/v1
  • Set OPENAI_API_KEY to the key you generated

Most standard OpenAI SDKs support these variables automatically. You do not need to modify the model name field, which remains uncensored.

Make your first POST to /v1/chat/completions

Send a text prompt and receive a text response without content filters. The following example demonstrates a basic completion request using the curl command-line tool.

curl https://api.openapikeypricing.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List all endpoints in the open api key pricing documentation"}]
  }'

Our model handles complex context windows up to 100,000 tokens. This allows you to inject large amounts of reference data or conversation history. Responses are returned as standard JSON objects with the generated text in the content field.

Enable streaming for real-time token output

Receive tokens as they are generated to reduce perceived latency for end-users. Streaming uses Server-Sent Events (SSE) to deliver data incrementally. This is essential for building chat interfaces that feel responsive.

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)

Check the final chunk for the complete token usage statistics. The last response object contains the usage field, which reports input and output tokens for accurate billing reconciliation.

Use tool calling with the 'uncensored' model

Define functions and let the model decide when to call them. Our model supports the standard tool calling format. This enables you to build agents that can query databases, calculate values, or fetch external data.

from openai import OpenAI

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

Configure tools using the tools parameter. The model returns tool calls in the tool_calls array. You must execute the function and pass the result back in subsequent messages to complete the loop.

Enforce JSON mode for structured data output

Guarantee valid JSON responses for programmatic integration. Use the response_format parameter with {"type": "json_object"} to enforce strict formatting.

import OpenAI from "openai";

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

This mode reduces parsing errors when your application consumes the output. It is ideal for generating configuration files, database records, or structured prompts for other systems. The model still follows your instructions within the JSON structure.

Common questions

What happens if I send a request with an invalid API key?

The API returns a 401 Unauthorized error. This indicates your key is incorrect or expired. No tokens are consumed during this failure. Regenerate your key from the dashboard if you lose it.

How do I handle rate limits on the uncensored LLM API?

You are limited to 300 requests per minute and 8 concurrent requests per key. Exceeding these limits returns a 429 Too Many Requests error. You can generate a new key to replace the current one if needed, but each account allows only one active key at a time.

Does the uncensored model support unlimited context?

No, the context window is capped at 100,000 tokens for both input and output combined. The maximum output per request is 16,000 tokens, or 2,048 if you do not set <code>max_tokens</code>. Manage your memory carefully to avoid truncation.

Generate your API key

Register, retrieve your token, update the base URL. Simple configuration.

Open account