The OpenAI API alternative where you change one line
UncensoredAI speaks the OpenAI Chat Completions schema — same endpoint shape, same request body, same SSE streaming, same tool_calls. Point your existing SDK at this gateway and every model in the catalog answers on the same wire.
Keep your SDK — openai-python, openai-node, LangChain, LlamaIndex, Vercel AI SDK
Keep your streaming — token-for-token SSE with the same delta format
Cheapest model from $0.04/1M input — no subscription, no seat fee
Migrate in 5 minutes
Before — OpenAI
const client = new OpenAI({
baseURL: "https://api.openai.com/v1",
apiKey: process.env.OPENAI_API_KEY,
});After — UncensoredAI (https://uncensoredai.dev/v1)
const client = new OpenAI({
baseURL: "https://uncensoredai.dev/v1",
apiKey: process.env.UNCENSOREDAI_KEY,
});Verify with curl
curl https://uncensoredai.dev/v1/chat/completions \
-H "Authorization: Bearer $UNCENSOREDAI_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4.1-flash","messages":[{"role":"user","content":"Hello"}]}'What changes, exactly
| Thing | OpenAI | UncensoredAI |
|---|---|---|
| Base URL | api.openai.com/v1 | uncensoredai.dev/v1 |
| Auth header | Authorization: Bearer … | Authorization: Bearer … (same) |
| Endpoint | /chat/completions | /chat/completions (same) |
| Streaming | SSE, delta.content | SSE, delta.content (same) |
| Tool calling | tool_calls | tool_calls (same) |
| Model ids | gpt-4o, … | 34 catalog ids — one per page under /models |
| Billing | prepaid credits | prepaid crypto balance, per token |
| KYC | account required | none — the key is the account |
Price check
Retail per-1M rates on this gateway. The full table with cached-input rates lives on the cost calculator.
Swap the base URL now
Generate a key, change one line, send a request. If anything fails, the error JSON names the fix.
