Try with trial credit

OpenRouter dolphin API Quickstart Guide

Get started with our uncensored LLM API in minutes. Use standard OpenAI SDKs to send requests to our dedicated endpoint.

Base URL and Authentication

The base URL for all requests is https://api.openrouterdolphin.com/v1. You authenticate by passing your API key in the Authorization

curl https://api.openrouterdolphin.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 10 libraries for Python web scraping."}]
  }'

Authentication is strict. We do not support multiple keys per account. Generating a new key immediately invalidates the previous one. This ensures clean usage tracking for your prepaid credits.

Endpoint: POST /v1/chat/completions

Send text data to generate responses using the uncensored model. This endpoint handles all standard chat completions. You define the model, messages, and parameters in the request body.

from openai import OpenAI

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

The API returns a standard JSON object containing the generated text. It does not support embeddings, images, or audio. Focus on text generation workflows. The model responds to prompts without filtering lawful adult or controversial topics.

Endpoint: GET /v1/models

Retrieve available models via a simple GET request. This endpoint confirms the model ID you must use.

import OpenAI from "openai";

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

The response lists the uncensored model. Use this exact ID in your completion requests. The API serves only this single model. There is no routing or model selection logic. You interact directly with our dedicated uncensored LLM instance.

Streaming and Usage Data

Enable streaming by setting stream: true. The API returns chunks via Server-Sent Events (SSE). Each chunk contains a portion of the response text.

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)

The final chunk includes the full token usage statistics. You pay strictly for the output tokens generated. Errors and refusals do not incur charges. This structure allows real-time rendering of responses in your applications.

Parameters: Temperature, Top P, and Tools

Control generation behavior with standard parameters. Set temperature for randomness and top_p for nucleus sampling. Enable function calling by providing a tools array.

Use response_format with {"type": "json_object"} for strict JSON output. You can also set seed for reproducibility. The API supports presence_penalty and frequency_penalty for fine-tuning word usage. These parameters work exactly as they do in standard OpenAI clients.

Rate Limits and Request Size

Each API key allows 300 requests per minute. You can have up to 8 concurrent requests at any time. The maximum request body size is 8 MB. The context window supports 100,000 tokens for input and output combined.

Max output per request is 16,000 tokens. If you do not set max_tokens, the default is 2,048 tokens. Exceeding these limits returns a 429 error. Plan your batching strategy accordingly. Credits never expire, so you can accumulate usage over time without pressure.

Frequently asked questions

How do I get an API key for openrouter dolphin?

Sign up using Google or an email address on the Get API key page. Your key appears immediately. No phone number is required. You can generate a new key at any time, which replaces the old one instantly.

What happens if I get rate limited?

You receive a 429 error when exceeding 300 requests per minute or 8 concurrent requests. Wait briefly and retry. Consider batching your requests or reducing concurrency. The limits are per API key, so using multiple keys (by creating multiple accounts) can increase throughput.

Does the uncensored model filter content?

The model does not refuse lawful adult, fictional, or controversial topics. The only hard limit is on sexual content involving minors. Requests containing that specific content are refused. All other content passes through without standard AI refusals.

Get your API key now

Sign up, copy your key, and update the base URL. That is all you need to do.

Try with trial credit