Create key

Uncensored API, your way.

https://api.mistralapikeys.com/v1

Integration Guide for Developers

Drop our uncensored LLM into your existing stack by swapping the base URL. This guide covers the exact steps to authenticate, stream responses, and manage token costs with our OpenAI compatible API.

Authentication & Base URL

Start by generating a key on the dashboard. Our service requires a base URL of HTTPS://api.mistralapikeys.com/v1. Pass your key in the Authorization header as a Bearer token. We support Google or email sign-up without phone verification.

curl https://api.mistralapikeys.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Convert the python loop to rust syntax"}]
  }'

The Chat Completions Endpoint

Send POST requests to /v1/chat/completions. Use model id "uncensored" for text generation. The system accepts standard message arrays with role and content fields. Input tokens cost $0.15 per 1M, while output tokens are $0.50 per 1M.

from openai import OpenAI

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

Streaming Responses & Token Counts

Enable streaming by setting stream to true. The API returns Server-Sent Events containing partial chunks. The final chunk includes the full token usage statistics for accurate billing. This approach reduces perceived latency for long outputs.

import OpenAI from "openai";

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

Get your key in seconds

Sign up, copy the key, update the base URL. Done.

Create keyView documentation