DOCUMENTATION
Blackpilled.ai is an unfiltered API endpoint compatible with standard OpenAI SDKs. Point your base URL to us, swap the API key, remove the guardrails.
Quickstart
import OpenAI from'openai'; const client = new OpenAI({ apiKey: 'sk_live_your_api_key', baseURL: 'https://www.blackpilled.ai/api/v1', }); const response = await client.chat.completions.create({ model: 'blackpilled-35b', messages: [{role: 'user', content: 'What's the most direct way...' }], }); console.log(response.choices[0].message.content);
OpenCode integration▣ Recommended
OpenCode is the smoothest way to use Blackpilled.ai from a terminal — it natively supports OpenAI-compatible providers, so there's no proxy daemon, no shim, and no transformer step. Setup is a config file plus an API key. Per-request token cost is also significantly lower than Claude Code (no 40k bootstrap prompt).
- Install OpenCode globally.
npm install -g opencode-ai - Generate an API key in the dashboard.
- Drop this into
~/.config/opencode/opencode.json:{ "$schema": "https://opencode.ai/config.json", "model": "blackpilled/blackpilled-35b", "provider": { "blackpilled": { "npm": "@ai-sdk/openai-compatible", "name": "Blackpilled.ai", "env": ["BLACKPILLED_API_KEY"], "options": { "baseURL": "https://www.blackpilled.ai/api/v1" }, "models": { "blackpilled-35b": { "name": "Blackpilled 35B" } } } } } - Authenticate. Run
opencode auth login, choose Other, enterblackpilledas the provider id, and paste your API key.Or skip the auth flow and export the key directly:export BLACKPILLED_API_KEY=sk_live_your_api_key - Run it.
opencode
www.blackpilled.ai for the baseURL, not the apex blackpilled.ai. The apex 307-redirects to www, and OpenCode's HTTP client drops the Authorization header across the redirect — surfacing as "Missing API key". Claude Code integrationAlternative
Claude Code only talks to Anthropic by default. To swap in Blackpilled, run it behind claude-code-router — a local proxy that intercepts Anthropic-shaped requests and forwards them to any OpenAI-compatible provider. Tool use, MCP servers, and streaming all work; the model never sees your file contents except what Claude Code itself pastes back. We recommend OpenCode over this path for most users — fewer moving parts and lower token cost — but if you're already in the Claude Code ecosystem, this works.
- Install the router globally.
npm install -g @musistudio/claude-code-router - Generate an API key in the dashboard.
- Drop this into
~/.claude-code-router/config.json:{ "LOG": true, "API_TIMEOUT_MS": 600000, "Providers": [ { "name": "blackpilled", "api_base_url": "https://www.blackpilled.ai/api/v1/chat/completions", "api_key": "sk_live_your_api_key", "models": ["blackpilled-35b"], "transformer": { "use": ["openrouter"] } } ], "Router": { "default": "blackpilled,blackpilled-35b", "background": "blackpilled,blackpilled-35b", "think": "blackpilled,blackpilled-35b", "longContext": "blackpilled,blackpilled-35b" } } - In Terminal #1 — start the router daemon and leave it running.
ccr start - In Terminal #2 — launch Claude Code through the router. Every Anthropic call is rewritten to hit Blackpilled instead.
ccr code
/mcp inside Claude Code.Image generation
OpenAI-compatible /v1/images/generations endpoint backed by enhanceaiteam/Flux-uncensored fused into FLUX.1-dev. Drop-in for openai.images.generate. Subject matter is unfiltered; CSAM is hard-blocked at the prompt and output layer.
curl https://www.blackpilled.ai/api/v1/images/generations \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk_live_***" \ -d '{ "model": "flux-uncensored", "prompt": "cyberpunk samurai, neon Tokyo alley, cinematic", "size": "1024x1024" }'
Returns the standard OpenAI shape:
{
"created": 1714867200,
"data": [
{ "url": "https://...vercel-blob.../images/.../abc.png" }
]
}Optional Flux-specific extensions to the body: steps (1-50, default 20), guidance (1-15, default 3.5), seed (integer for reproducibility), response_format ("url" or "b64_json").
Models available
| Model | Context / Output | Description |
|---|---|---|
| blackpilled-35b | 128k tokens | Qwen3.6-35B-A3B MoE (3B active, 8 of 256 experts routed), fully alignment-stripped, vision-capable, native tool use. |
| flux-uncensored | up to 1536×1536 | FLUX.1-dev base with the enhanceaiteam/Flux-uncensored LoRA fused. Text-to-image, ~6-10s warm. Square / portrait / landscape / 16:9 presets. |