Start now

Uncensored AI API Quickstart Guide

This quickstart guide helps you integrate the uncensored Dolphin API using standard OpenAI-compatible SDKs, bypassing third-party rate limits and censorship layers.

Authentication and base URL setup

Configure your client with the provided base URL and API key to connect directly to our hosted endpoint. You receive a single active key immediately after signing up via Google or email, with no phone number required. The base URL is HTTPS://api.uncensoreddolphinopenrouter.com/v1 and the model identifier is "uncensored". This setup works with any OpenAI-compatible client by simply changing the base_url and providing your API key in the Authorization header. No monthly subscriptions or complex routing are involved, just direct access to the model.

Sending your first chat completion

Make a POST request to the chat completions endpoint to generate text responses from the uncensored model. You can send simple prompts or structured messages using the standard OpenAI format. The API returns a direct text response without additional safety refusals for lawful adult content. Ensure you include the model field set to "uncensored" in your request body. This endpoint supports only chat completions, not embeddings or image generation. You can start testing immediately with your trial credit or paid balance.

Using Python SDK

Initialize the OpenAI client with your base URL and API key to send requests programmatically. This approach allows you to integrate the uncensored LLM into your existing Python applications with minimal code changes. Set the base URL to our hosted endpoint and pass your API key for authentication. The client will handle the HTTP requests and return the response object for further processing. You can adjust parameters like temperature and top_p to control the output style. This method is ideal for building custom interfaces or automating workflows.

Using Node SDK

Configure the OpenAI Node client with the specific base URL and your API key to interact with the API. This enables seamless integration into Node.js applications using familiar SDK patterns. Point the client to HTTPS://api.uncensoreddolphinopenrouter.com/v1 and provide your key for authentication. You can then call the chat completions method with your desired parameters. The response includes the generated text and token usage statistics. This setup is perfect for server-side applications or backend services requiring uncensored text generation.

Handling streaming responses

Enable streaming by setting the stream parameter to true in your request to receive real-time token updates. The API returns Server-Sent Events (SSE) for immediate feedback as tokens are generated. Each chunk contains partial text and usage data in the final chunk. This approach reduces perceived latency for users by displaying output progressively. You can parse the SSE stream to update your UI in real time. Streaming is supported for all chat completion requests, including those with function calling or JSON mode.

Understanding token limits and costs

The context window supports up to 100,000 tokens for prompt and completion combined, with a maximum output of 16,000 tokens per request. Pricing is $0.15 per 1M input tokens and $0.50 per 1M output tokens, charged only for actual usage. Errors and refusals incur no cost, ensuring you pay only for successful completions. Prepaid credit never expires, and you can top up with crypto starting at $20. This transparent pricing model helps you manage costs effectively without hidden fees.

Rate limits and concurrency

Each API key is limited to 300 requests per minute and 8 concurrent requests to ensure stable performance. The maximum request body size is 8 MB, which accommodates large context windows. If you exceed these limits, you will receive a 429 error indicating rate limit exceeded. You can generate a new key to replace an existing one, as only one key is active per account. These limits prevent abuse while maintaining high availability. Monitor your usage to stay within these bounds for optimal performance.

cURL

curl https://api.uncensoreddolphinopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List five key differences between python and rust"}]
  }'

Python

from openai import OpenAI

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

import OpenAI from "openai";

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

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)

Common questions

Is the uncensored Dolphin API compatible with OpenRouter models?

Yes, our API is fully OpenAI-compatible, meaning it works with standard SDKs used for OpenRouter models. However, we are an independent service and do not serve the same model or infrastructure as OpenRouter. You can use the same client code but point it to our base URL for direct access without third-party rate limits.

What happens if I get a 402 error?

A 402 error indicates that your account has insufficient credit to process the request. You can top up your balance using USDT on TRC20 or USDC on Base, with amounts ranging from $20 to $500. Bonus credit is added for larger top-ups, and your credit never expires. Errors like 401 (invalid key) require checking your API key, while 429 (rate limit) means you have exceeded the 300 requests per minute limit.

Can I use this API for function calling and JSON mode?

Yes, the API supports function calling (tools) and JSON mode via the response_format parameter. You can define tools in your request and receive structured JSON responses. This allows for advanced integration with applications requiring structured data or dynamic tool usage. The uncensored model handles these formats reliably, making it suitable for complex workflows.

Get your key now

Sign up, grab the key, update the base URL. That is all there is to it.

Start now