EN ▾

Uncensored OpenAI-compatible API

Get API key
per 1M input tokens
$0.15
Output tokens / 1M
$0.50
token context
100,000
trial credit
$0.50
requests per minute
300

Dolphin LLM: Switch your client in three lines

Connect your existing OpenAI-compatible client to the uncensored llm API by updating the base URL and API key. Get started with a quick request to the dolphin llm endpoint and experience unrestricted text generation without managing local infrastructure.

Base URL and Authentication

Our API is designed as a drop-in replacement for standard OpenAI integrations. You do not need a new SDK or a complex configuration file. Simply update the base_url in your client to point to our endpoint and provide your API key in the standard Authorization header.

Sign up for a free account to receive your key immediately. There is no card required for the trial credit, making it easy to verify connectivity. The base URL for all requests is https://api.dolphinllm.com/v1. This ensures that any tool, library, or application already configured for OpenAI can route traffic to our uncensored ai model with minimal friction.

  • Base URL: https://api.dolphinllm.com/v1
  • Auth Header: Authorization: Bearer YOUR_API_KEY
  • Model ID: uncensored

First Request

Test your connection with a simple chat completion request. This confirms that your key is valid and the endpoint is responsive. The request body follows the standard OpenAI chat completions schema. Replace YOUR_API_KEY with your actual key.

  • Method: POST
  • Endpoint: /v1/chat/completions
  • Model: uncensored

This endpoint supports streaming and tool calling, but this basic request demonstrates the core text-in, text-out capability. If you receive a response, your client is successfully connected to the dolphin llm service.

curl https://api.dolphinllm.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."}]
  }'

Python SDK

Use the official openai Python library to interact with the API. Configure the client with the custom base URL and your API key. This approach works with any code already written for OpenAI, allowing you to switch providers without rewriting your logic.

The model ID is uncensored. Ensure you pass the correct arguments for the conversation history. This method is ideal for developers building applications that require unrestricted text generation without local GPU constraints.

from openai import OpenAI

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

Node SDK

For Node.js applications, the openai npm package handles the integration. Set the baseURL to our endpoint and provide your key. This ensures compatibility with existing Node.js projects that rely on OpenAI's structure.

The API supports standard parameters like max_tokens and temperature. Adjust these to control the creativity and length of the output. This uncensored coding llm is particularly useful for generating code snippets or technical documentation without content filters interfering with the output.

import OpenAI from "openai";

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

Enable streaming by setting the stream parameter to true in your request body. The API returns Server-Sent Events (SSE), allowing you to process tokens as they are generated. This reduces perceived latency for end-users.

Parse the SSE stream to handle partial responses. This is essential for chat interfaces where instant feedback is expected. The stream includes standard OpenAI event types, making it compatible with most SSE parsers.

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)

Rate Limits and Constraints

Understand the constraints to avoid errors in your application. The API enforces a limit of 300 requests per minute per key. The request body size is capped at 8 MB. If you exceed these limits, you will receive a 429 error.

Authentication errors return 401 if the key is invalid. Payment errors return 402 if you have insufficient credit. The context window is 100,000 tokens for both prompt and completion combined. Ensure your inputs fit within this limit to avoid truncation.

API facts in one table

Use this table to decide whether the API fits your project before you buy credit.

ItemValue
API formatOpenAI-compatible: any OpenAI SDK or client works — change the base URL and the key
Model IDuncensored
MethodsPOST /v1/chat/completions · GET /v1/models
API keyBearer token in the Authorization header
Base URLhttps://api.dolphinllm.com/v1
Tools / tool callsSupported: tools + tool_choice, tool_calls in the reply (streamed too), tool results as role: tool messages
Structured outputresponse_format: {"type": "json_object"}
Sampling parameterstemperature, top_p, stop, seed and the two penalties are passed through
Context window100,000 tokens (prompt + completion together)
SSE streamingSupported (stream: true), usage included at the end
Completion lengthup to the rest of the 100,000-token window; max_tokens optional (no separate cap)
Max bodyup to 8 MB per request
Concurrency8 requests at the same time per key
Response headersX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Requests per minute300 requests per minute per key
Priceinput $0.15 / 1M tokens, output $0.50 / 1M tokens
Billingpay as you go from prepaid credit; nothing is charged for failed or refused requests
Free trial$0.50 of credit valid 7 days, no card needed · Trial key: 2 parallel requests, 60 req/min; full limits (8 and 300) after first top-up
Top-upcrypto: USDT on TRON or USDC on Base, $20–$500, any whole sum
Credit expirypaid credit never expires, no subscription
Volume bonus+5% from $50, +10% from $100, +15% from $200
Content policyadult content allowed; sexual content involving minors is refused
Accountsign in with Google or with e-mail + password
Key managementone active key per account; a new key replaces the old one

HTTP errors

Every error is JSON with a type you can switch on. You are never charged for an error.

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_creditbalance is empty — top up, requests resume at once
403content_blockedrefused by the content policy
404not_foundunknown endpoint
413request_too_largerequest body larger than 8 MB
429rate_limited · concurrencyslow down: rate or parallel limit reached
503upstream_busymodel busy — retry in a few seconds

Questions and answers

Is the uncensored ai model the same as GPT-4?

No. The model served by dolphin llm is an open-weight model tuned for unrestricted content. It is not GPT, Claude, Gemini, or any other vendor's model. It is a distinct uncensored llm designed for lawful adult and creative use without content refusals.

How does the pricing work?

We use a pay-as-you-go prepaid credit system. The price is $0.15 per 1M input tokens and $0.50 per 1M output tokens. Credits never expire, and there are no monthly fees. You can top up starting from $20.

What is the context window size?

The context window is 100,000 tokens, which includes both the prompt and the completion. This allows for long conversations or large document processing. Ensure your total token count stays within this limit to avoid errors.

Your key is one form away

Create an account, copy the key, change the base URL. That is the whole setup.

Get API key