Get API key

HomeDocs

LLM API Quickstart Guide | LLM API Source

Drop our uncensored LLM API into your existing stack with a single base_url change. This quickstart covers authentication, streaming, tool calling, and limits so you can go from zero to production in minutes.

Base URL
https://api.llmapisource.com/v1
Model
uncensored

Base URL and Authentication

To use the llm api, point your client to https://api.llmapisource.com/v1. Authentication uses a standard API key passed in the Authorization: Bearer <key> header. You can generate or rotate keys on the dashboard; revoking a key immediately invalidates the old one.

  • No phone number or credit card is required for the trial.
  • Each account holds exactly one active key at a time.
  • Prompts are not used for training.

First Request

Send a simple chat completion to verify connectivity. The endpoint supports standard OpenAI JSON structures. Replace the placeholder with your actual key.

curl https://api.llmapisource.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
  }'

If the key is invalid, you receive a 401 error. If you have no prepaid credit, you receive a 402 error. The model identifier is always uncensored.

Python SDK

Install the official OpenAI package and configure the base URL to route requests to our infrastructure. This works with any OpenAI-compatible Python client.

from openai import OpenAI

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

Ensure the base_url includes the full path to /v1. The model name must be set to uncensored to access the dedicated instance.

Node SDK

For Node.js environments, configure the client similarly. The structure mirrors the standard OpenAI interface, making migration straightforward.

import OpenAI from "openai";

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

Pass the apiKey and set the basePath to https://api.llmapisource.com/v1. This ensures all completions are routed to our uncensored model.

Enable Streaming

Set stream: true in your request to receive Server-Sent Events (SSE). This allows you to process tokens as they generate, reducing perceived latency for long responses.

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)

Handle the stream events to update your UI in real-time. Each chunk contains a partial delta of the completion.

Limits, Errors, and Context

Our infrastructure enforces specific limits to ensure stability. The context window supports up to 100,000 tokens for prompt plus completion combined.

  • Rate Limit: 300 requests per minute per key (returns 429).
  • Body Size: Maximum 8 MB per request.
  • Pricing: $0.25/1M input tokens, $1.00/1M output tokens.

Requests involving sexual content with minors are blocked. All other lawful adult content is permitted.

Technical reference

Before you integrate, here is exactly what you get with a key.

ItemValue
API formatOpenAI-compatible: any OpenAI SDK or client works — change the base URL and the key
AuthenticationBearer token in the Authorization header
Base URLhttps://api.llmapisource.com/v1
MethodsPOST /v1/chat/completions · GET /v1/models
Model IDuncensored
Sampling parameterstemperature, top_p, stop, seed and the two penalties are passed through
Tools / tool callsYes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool
Structured outputJSON object mode via response_format json_object
Context window100,000 tokens, input and output combined
StreamingYes — server-sent events; the last chunk carries token usage
Completion lengthup to 16,000 tokens per request (default 2,048)
Requests per minute300/min per key
Response headersX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Request size8 MB request body
Concurrencyup to 8 in parallel per key
Credit expiryno monthly fee; paid credit does not expire
Bonus credit+5% on $50+, +10% on $100+
Price$0.25 per 1M input tokens · $1.00 per 1M output tokens
Free trial$0.50 of credit valid 7 days, no card needed
Top-upUSDT (TRC20) or USDC (Base), any whole amount from $10 to $500
How you payprepaid credit, charged by real token usage; errors and refusals are free
Keysone key per account, regenerate any time (the old one stops working)
Sign-insign in with Google or with e-mail + password
Content policyuncensored for adults; the only hard rule: no sexual content involving minors

When a request fails

Errors come back as JSON with a stable type; failed and refused requests are not billed.

StatusTypeReason
400bad_requestinvalid JSON, empty messages, bad parameter, or prompt + max_tokens over the window — fix and resend
401missing_key · invalid_key · key_revokedcheck the Authorization header or use your current key
402no_creditout of credit; add credit and retry
403content_blockedsexual content involving minors — refused, not billed
404not_foundunknown endpoint
413request_too_largerequest body larger than 8 MB
429rate_limited · concurrencyover 300/min or 8 parallel — back off and retry
503upstream_busytemporary overload, retry shortly

Questions and answers

Is this an OpenAI model?

No. We run a dedicated open-weight model optimized for unrestricted generation. It is not GPT, Claude, or any other vendor's model, but it uses the same API format.

Do I need a credit card for the trial?

No. New accounts receive $0.50 of trial credit valid for 7 days using only an email and password. No card is required to start.

Can I use this for tool calling?

Yes. The API supports function and tool calling via the standard <code>tools</code> parameter in the chat completion endpoint.