Hermes uncensored uncensored ai API docs
Hermes uncensored provides an openai compatible API for developers who need raw throughput without content refusals. This quickstart guide helps you send your first request to the uncensored LLM API in under two minutes.
- Base URL
- https://api.hermesuncensored.com/v1
- Model
- uncensored
Base URL and authentication
The base URL for all requests is https://api.hermesuncensored.com/v1. You obtain an API key by clicking "Get API key" on the dashboard and authenticating with Google or an email password. The key is displayed immediately and acts as the Authorization header value. No phone number is required for signup.
Make your first request
Send a POST request to /v1/chat/completions with the model ID "uncensored". The model responds to lawful adult, fictional, or controversial topics without standard refusals. You can verify connectivity by checking the response status code and content.
curl https://api.hermesuncensored.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the capital of France?"}]
}'
Integrate with Python
Use the official OpenAI Python SDK to interact with the endpoint. Set the base_url to our service and provide your API key. The client handles JSON serialization and streaming automatically. This approach works for any OpenAI-compatible client library.
from openai import OpenAI
client = OpenAI(base_url="https://api.hermesuncensored.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)
Integrate with Node.js
The Node.js SDK follows the same configuration pattern. Initialize the client with your base URL and key. You can then call chat.completions.create() with standard parameters. This ensures compatibility with existing codebases that target OpenAI.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.hermesuncensored.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
Enable streaming by setting stream to true. The API returns Server-Sent Events (SSE) containing partial tokens. The final chunk includes the complete token usage statistics. This method reduces perceived latency for long-form generation tasks.
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)
Limits, errors, and context
The context window supports 100,000 tokens for the prompt and completion combined. You are limited to 300 requests per minute and 8 concurrent requests per key. Common errors include 401 for invalid keys and 402 when prepaid credit is exhausted. Requests that exceed the 8 MB body limit also fail immediately.
FAQ
Is the Hermes uncensored model GPT or Claude?
No. It is an open-weight model tuned for uncensored output, not GPT, Claude, Gemini, or any other vendor's model. It runs on our own servers and does not route through third-party providers.
How does prepaid billing work?
You top up with crypto (USDT or USDC) and receive credit that never expires. Errors and refusals are free. You are charged only for real token usage based on the input and output rates.
What is the maximum output length?
The maximum output is 16,000 tokens per request. If you do not set <code>max_tokens</code>, the default limit is 2,048 tokens. The total context window including the prompt is 100,000 tokens.
Get your API key
Sign up, copy the token, and update your endpoint. Done.