Start now

Quickstart: Uncensored API Integration

Integrate the uncensored LLM into your existing codebase with this OpenAI-compatible API. We provide a dedicated endpoint that accepts standard requests, allowing you to bypass content filters while maintaining familiar SDK workflows.

Base URL and Authentication Setup

Start by pointing your client to our base URL and using a Bearer token. The endpoint is https://api.howmuchisdeepseekapi.com/v1. You retrieve your key by clicking 'Get API key' on the signup page, where you can sign in with Google or use an email and password. No phone number is required, and the key appears immediately. You only need one active key per account; generating a new one replaces the old.

Authentication is standard. Pass the key in the Authorization header. This setup works with the official OpenAI Python or JS clients. You simply configure the base URL and API key in your client object. This ensures your existing code runs without major refactoring.

curl https://api.howmuchisdeepseekapi.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "What is the current pricing for the deepseek api endpoint"}]
  }'

Chat Completions Endpoint (/v1/chat/completions)

Send your prompts to the chat completions endpoint. This is where text in becomes text out. The model ID you must use is uncensored. It is an open-weight model tuned to answer without refusals for lawful adult use. It is not GPT, Claude, or DeepSeek. Send your messages as an array of role and content objects.

The API expects standard JSON structures. You can include system, user, and assistant roles. The response will contain the model's reply. Errors like missing credits return a 402 status. Invalid keys return 401. These standard codes help you handle failures gracefully in your application logic.

from openai import OpenAI

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

Model Listing Endpoint (/v1/models)

Query the models endpoint to verify connectivity. Send a GET request to /v1/models. The response lists available models. You will see the uncensored model ID listed here. This confirms your authentication is working correctly.

This endpoint is useful for debugging. If you get a 404 or 500 error, your base URL might be wrong. Use this call to ensure your client can reach our servers before sending heavy payloads. It returns a simple list object containing the model details.

import OpenAI from "openai";

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

Enable streaming by setting stream: true in your request. The API returns Server-Sent Events (SSE). Each chunk contains partial text. The final chunk includes the token usage statistics. This allows you to display text to users in real time.

Token counts are crucial for billing. You pay $0.15 per 1M input tokens and $0.50 per 1M output tokens. Errors are free. The usage data in the last chunk helps you track costs accurately. You can also set max_tokens to limit output. If unset, the max is 2,048 tokens.

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

Use function calling for structured outputs. Define tools in your request body. The model will respond with function calls when appropriate. You can also enforce JSON mode by setting response_format to {"type": "json_object"}. This ensures the output is valid JSON.

Parameters like temperature and top_p control randomness. Use stop sequences to halt generation. You can also set presence_penalty and frequency_penalty to reduce repetition. These tools give you fine-grained control over the model's behavior.

Parameters: Temperature, Top-p, and Stop Sequences

Adjust temperature for creativity. Higher values produce more diverse outputs. Set top_p to control nucleus sampling. Use stop sequences to terminate generation at specific strings. These parameters help you tune the model for your specific use case.

You can also set a seed for deterministic outputs. This is useful for debugging. The context window is 100,000 tokens for prompt and completion combined. Max output is 16,000 tokens per request. This allows for long conversations without losing context.

Common questions

How much is deepseek API for uncensored usage?

We charge $0.15 per 1M input tokens and $0.50 per 1M output tokens. There are no monthly fees. You pay only for what you use, with errors being free. Credit never expires.

What is the context window size?

The context window is 100,000 tokens, combining both prompt and completion. You can generate up to 16,000 tokens in a single response. This allows for extensive conversations or long document processing.

How do I handle rate limits?

You are limited to 300 requests per minute per key. You can also have 8 concurrent requests. If you exceed these limits, you will receive a 429 Too Many Requests error. Implement exponential backoff in your client to handle this gracefully.

Get your API key now

Register, copy the key, and point your client to the new base URL. Done.

Start now