Quickstart Guide
Start generating text with our uncensored LLM using standard OpenAI-compatible code. You only need a base URL and a single API key to integrate this model into your automation pipelines.
Base URL and Authentication
The API lives at https://api.mistralapipricing.com/v1. Pass your key in the Authorization header. Mistral API pricing logic applies per token, so keep headers clean. Verify connectivity with GET /v1/models.
- Header:
Authorization: Bearer YOUR_KEY - Base URL:
https://api.mistralapipricing.com/v1
curl https://api.mistralapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the cost per token for each model."}]
}'
Sending Your First Request
Call the chat/completions endpoint with your model ID. The uncensored model responds to standard prompts without refusals. Input tokens cost $0.15 per million. Output tokens cost $0.50 per million. Errors consume no credit.
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralapipricing.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 Integration
Use the official SDK or axios to send requests. Set the base URL correctly. The model ID is always uncensored. Headers must include your bearer token. Responses return JSON objects. Handle errors gracefully.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralapipricing.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: true. Receive tokens via Server-Sent Events. The final chunk contains usage data. This reduces perceived latency for long outputs. Buffer tokens on the client side. Display them as they arrive.
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)
Function Calling and JSON Mode
Define tools in the request body. The model returns structured JSON. Use response_format: {"type": "json_object"} for strict output. Parse the result in your application logic. This works for automation tasks. Validate the schema on your end.
Limits, Errors, and Context
The context window is 100,000 tokens total. Requests are limited to 300 per minute. You get 8 concurrent requests. A 401 error means an invalid key. A 402 error indicates insufficient credit. A 429 error signals rate limiting. The max output is 16,000 tokens.
Frequently asked questions
How do I set a maximum amount of money the API could cost me?
The API does not support hard spending caps directly. Monitor usage via the response headers or track tokens in your application logic. Prepaid credit never expires, so you control the limit by your top-up amount.
What happens if I hit the rate limit?
You receive a 429 status code. The request consumes no tokens. Wait a few seconds and retry. You are limited to 300 requests per minute per key. Adjust your concurrency to stay under 8 simultaneous requests.
Is the uncensored model the same as Mistral AI's models?
No. We host an open-weight model tuned for no refusals. It is not GPT, Claude, or the official Mistral models. It is compatible with the same API structure but has its own model ID. Check the pricing page for details.
Get your key in seconds
Sign up, copy your key, update the base URL. That is all the configuration required.