API Documentation for developers
Get started with our uncensored LLM API in minutes using standard OpenAI-compatible clients. Send text, receive tokens, and bypass content filters with zero configuration.
Base URL and authentication setup
Use HTTPS://api.mistralkey.com/v1 as your base URL. Pass your API key in the Authorization header. Create your key via Google or email on the dashboard. No phone number required. Credit never expires.
curl https://api.mistralkey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the main configuration options for the server"}]
}'
First request
Send a POST request to the chat completions endpoint. Specify the model as "uncensored". The system processes your input and returns generated text. Errors and refusals do not consume credit. This ensures transparent token arithmetic.
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralkey.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 integration
Initialize the client with your base URL and key. Configure the model to use the uncensored variant. The SDK handles serialization automatically. This approach removes guesswork from your integration layer.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralkey.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 the stream parameter to true. Receive tokens via Server-Sent Events. Token usage details appear in the final chunk. This reduces perceived latency for long outputs.
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
Limit is 300 requests per minute per key. Concurrent requests cap at 8. Request body size cannot exceed 8 MB. The context window spans 100,000 tokens. Max output per request is 16,000 tokens.
Error handling and tokens
Handle 401 for invalid keys. Return 402 when credit is exhausted. Manage 429 for rate limit exceeded. Errors are free. Credit usage reflects actual token consumption only.
Common questions
Is the mistral API key from this provider the same as Mistral Vibe?
No. Mistral Vibe uses a different key and model routing. Our API is an independent uncensored endpoint compatible with the OpenAI SDK format. Check your specific client documentation for base URL configuration.
Does the API key expire?
Your API key remains valid indefinitely. Your prepaid credit also never expires. You can top up with crypto whenever needed without losing previous balance.
How do I handle the 402 error?
A 402 status indicates insufficient prepaid credit. Top up using USDT (TRC20) or USDC (Base). Add funds via the dashboard to resume requests immediately.
Generate your key now
Register, retrieve your key, and update the base URL. Complete configuration in minutes.