Quickstart for DeepSeek users
Migrate your code to our uncensored LLM endpoint by updating the base URL and API key. The API follows the OpenAI chat-completions specification, allowing you to swap in our model without changing your application logic.
- Base URL
https://api.deepseekapikey.com/v1- Model
uncensored
Authentication and Base URL
Our API is hosted at https://api.deepseekapikey.com/v1. To authenticate, include your API key in the Authorization header as a Bearer token. You can generate a key on the Get API key page using just an email and password. If you lose your key, you can regenerate it at any time, which immediately revokes the previous one. Unlike some vendors, we do not require a credit card for the initial trial account.
First Request
Send a standard POST request to /v1/chat/completions. Use the model ID uncensored to access our open-weight model. The request body follows the standard structure with a messages array containing your prompt. This endpoint supports text input and text output, making it a drop-in replacement for many existing integrations.
curl https://api.deepseekapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Python SDK Integration
If you are using the official OpenAI Python client, you can point it to our base URL by overriding the base_url parameter. Pass your key to the client initialization. This approach allows you to keep your existing Python code structure while routing requests through our uncensored endpoint. The client handles JSON serialization and response parsing automatically.
from openai import OpenAI
client = OpenAI(base_url="https://api.deepseekapikey.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)
Node.js SDK Integration
For Node.js applications, initialize the OpenAI client with the same configuration strategy. Set the baseURL to our API endpoint and provide your key. This ensures that all subsequent calls, including tool usage, route correctly to our servers. This method works with any OpenAI-compatible SDK that respects the baseURL override.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.deepseekapikey.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
Enable streaming by setting stream: true in your request payload. The API returns a Server-Sent Events (SSE) stream, allowing you to receive tokens as they are generated. This is ideal for user interfaces that benefit from real-time feedback. The stream format matches the standard OpenAI SSE specification, so your existing streaming handlers should work without modification.
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)
Limits, Errors, and Context
The context window supports 100,000 tokens for both prompt and completion combined. If you exceed the rate limit of 300 requests per minute, the API returns a 429 error. Authentication failures return a 401 status, while insufficient prepaid credit results in a 402 error. You can check available models via GET /v1/models, though the primary endpoint is designed for chat completions. Prompts are not used for training, and the model blocks sexual content involving minors.
API facts in one table
Everything the endpoint can and cannot do, in one place — check it before you top up.
| Feature | Support |
|---|---|
| API format | OpenAI-compatible: any OpenAI SDK or client works — change the base URL and the key |
| Model | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.deepseekapikey.com/v1 |
| API key | Authorization: Bearer YOUR_KEY |
| Tools / tool calls | Yes — tools, tool_choice; replies carry tool_calls, also when streaming; send results back as role: tool |
| Completion length | 16,000 tokens max; 2,048 if max_tokens is not set |
| Structured output | JSON object mode via response_format json_object |
| Sampling parameters | temperature, top_p, stop, seed and the two penalties are passed through |
| Max context | 100,000 tokens (prompt + completion together) |
| Streaming | Yes — server-sent events; the last chunk carries token usage |
| Headers | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concurrency | 8 requests at the same time per key |
| Requests per minute | 300 requests per minute per key |
| Request size | 8 MB request body |
| Billing | pay as you go from prepaid credit; nothing is charged for failed or refused requests |
| Price | input $0.25 / 1M tokens, output $1.00 / 1M tokens |
| Subscription | paid credit never expires, no subscription |
| Trial credit | $0.50 of credit valid 7 days, no card needed |
| Bonus credit | +5% from $50, +10% from $100 |
| Payment | crypto: USDT on TRON or USDC on Base, $10–$500, any whole sum |
| Content | adult content allowed; sexual content involving minors is refused |
| Sign-in | Google or e-mail and password |
| Keys | one active key per account; a new key replaces the old one |
Error codes
The type field is stable, the message is for humans. Errors cost nothing.
| Code | Type | Meaning |
|---|---|---|
400 | bad_request | malformed request or too long for the context window |
401 | missing_key · invalid_key · key_revoked | no key, wrong key, or a key replaced by a newer one |
402 | no_credit | out of credit; add credit and retry |
403 | content_blocked | refused by the content policy |
404 | not_found | unknown endpoint |
413 | request_too_large | request body larger than 8 MB |
429 | rate_limited · concurrency | over 300/min or 8 parallel — back off and retry |
503 | upstream_busy | temporary overload, retry shortly |
Questions and answers
Is this model the same as DeepSeek?
No, this is an independent open-weight model run on our own GPU servers. It is not GPT, Claude, Gemini, Grok, or DeepSeek. It is tuned to answer without content refusals for lawful adult use.
How does pricing work?
We use transparent pay-as-you-go pricing: $0.25 per 1M input tokens and $1.00 per 1M output tokens. There are no monthly fees or hidden tiers, and prepaid credit never expires.
Can I use this for tool/function calling?
Yes, the POST /v1/chat/completions endpoint supports standard tool and function calling payloads. The API accepts the same schema format used by OpenAI-compatible clients.
Your key is one form away
Create an account, copy the key, change the base URL. That is the whole setup.