EN ▾

Unfiltered coding AI API: Quickstart Guide

Start building with our uncensored coding AI API in seconds. Drop your key into the official OpenAI SDK and send text to get text without the usual refusals.

Get API key

Base URL and Authentication

Our API lives at https://api.unfilteredcodingai.com/v1. Pass your key as the Authorization: Bearer <key> header in every request. You get one active key per account and can regenerate it instantly. Errors and refusals do not consume credit, so you can test freely.

  • Base URL: https://api.unfilteredcodingai.com/v1
  • Auth header: Authorization: Bearer YOUR_KEY
  • Model ID: uncensored
curl https://api.unfilteredcodingai.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Fix the null pointer error in this Java method"}]
  }'

POST /v1/chat/completions: The Core Endpoint

Send a standard chat completion request to generate text. The endpoint accepts a messages array with system, user, and assistant roles. It returns a completion with choices, usage stats, and optional metadata. This is the only endpoint for text generation.

  • Method: POST
  • Path: /v1/chat/completions
  • Model: uncensored
from openai import OpenAI

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

GET /v1/models: Verify Your Access

Call GET /v1/models to confirm your credentials and see available models. The response lists the model ID and pricing tiers. Use this to validate your setup before sending heavy payloads. It returns a list with one item for our single uncensored model.

  • Method: GET
  • Path: /v1/models
  • Response: JSON list of models
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.unfilteredcodingai.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 (SSE) and Token Usage

Enable streaming by setting stream: true in your request. The API returns Server-Sent Events (SSE) for each token generated. Usage data appears in the final chunk, including input and output token counts. This is ideal for real-time UI updates.

  • Stream flag: true
  • Event type: delta chunks
  • Usage: final chunk only
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)

Parameters: Temperature, Top P, and Stop Sequences

Control creativity with temperature and diversity with top_p. Set stop sequences to halt generation early. You can also set seed for reproducible outputs. Adjust these to fit your NSFW roleplay or coding tasks. The model respects all standard OpenAI parameters.

  • Temperature: 0.7 to 1.5
  • Top P: 0.9 to 1.0
  • Stop: ["\n\n"]

Example: {"temperature": 0.9, "stop": ["\n\n"]}

Function Calling and JSON Mode

Use tools for function calling or response_format: {"type": "json_object"} for strict JSON. The model supports both structured output and tool use. This is useful for automated workflows or data extraction. Ensure your JSON schema matches the expected format.

  • JSON Mode: response_format
  • Tools: tools array
  • Output: Structured data

Example: {"response_format": {"type": "json_object"}}

Questions and answers

What is the context window and rate limit?

The context window is 100,000 tokens for prompt and completion combined. You are limited to 300 requests per minute and 8 concurrent requests per key. Errors are free, so you can test limits without cost.

How do I handle 401, 402, and 429 errors?

A 401 error means your key is invalid or expired. A 402 error indicates insufficient credit; top up with crypto to resume. A 429 error signals you have hit the rate limit; wait a moment before retrying. Credits never expire once added.

Is this uncensored coding AI compatible with OpenAI SDKs?

Yes, it is fully OpenAI compatible. Use the same SDKs and change the base URL to our API endpoint. The model ID is <code>uncensored</code>. It supports all standard parameters and streaming features for a seamless developer experience.

Your key is one form away

Create an account, copy the key, change the base URL. That is the whole setup.

Get API key