EN ▾
Uncensored API. Prepaid. No nonsense.https://api.nsfwdeep.com/v1
Create key

Start hereBuild

API Reference

Start integrating our uncensored LLM with a single API call. This reference covers authentication, payloads, streaming, and limits for the openai compatible API.

Authentication and keys

Authenticate using a bearer token passed in the Authorization header. Get your key instantly via Google or email on the signup page. No phone number is required. The token remains valid until you revoke it. Use it exactly like an OpenAI key. This works with any standard SDK or HTTP client.

Keep your key secure. One key per account. Generating a new key invalidates the previous one immediately. Mistakes are fixed through support. Credit never expires. There are no monthly fees. Only real tokens count.

Chat Completions endpoint

Send messages to POST /v1/chat/completions. The base URL is https://api.nsfwdeep.com/v1. Pass the model id uncensored. Input goes in as messages. Output comes as text. That is the entire interface. No embeddings exist here. No image generation occurs. No audio or video paths are available. You get raw text responses.

  • Supports function calling.
  • Supports JSON mode.
  • Supports streaming.

Errors are free. Refusals cost nothing. You only pay for generated tokens. The system handles the billing transparently.

Streaming responses

Enable streaming by setting stream: true. The server sends Server-Sent Events. You receive chunks incrementally. This reduces perceived latency significantly. The final chunk contains the total token usage. Parse the JSON carefully. Handle partial tokens gracefully. Buffer the output locally if needed. Display tokens as they arrive.

Streaming works with all standard parameters. Temperature and top_p apply normally. Stop sequences still trigger properly. The API behaves predictably under load.

Parameters and options

Control generation with standard fields. Use temperature for randomness. Set top_p for nucleus sampling. Define max_tokens strictly. Output defaults to 2,048 tokens if unspecified. The limit is 16,000 tokens per request. Seed values ensure reproducibility. Presence and frequency penalties adjust token distribution. Stop sequences halt generation early. JSON mode forces valid syntax. Tools enable function calling. Everything follows the OpenAI schema.

Error codes and limits

Handle errors with clear codes. A 401 means your key is invalid. A 402 indicates insufficient credit. Top up with crypto instantly. A 429 signals rate limiting. You get 300 requests per minute. Only eight requests run simultaneously. The body limit is 8 MB. Exceed these and the request fails. Refusals do not consume tokens. Mistakes are free. Support resolves billing issues.

Model details

The model is uncensored. It is an open-weight model. It runs on our dedicated servers. It answers without content refusals. Lawful adult content is allowed. Minors in sexual contexts are refused. The context window is 100,000 tokens. This covers prompt plus completion. It is not GPT or Claude. It is not Grok or DeepSeek. It is a single, focused engine. No routing noise exists here. Just direct responses.

cURL

curl https://api.nsfwdeep.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Process this raw image data for classification."}]
  }'

Python

from openai import OpenAI

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

import OpenAI from "openai";

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

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)

Frequently asked questions

What is the base URL for the NSFW API?

The base URL is HTTPS://api.nsfwdeep.com/v1. This works with any OpenAI-compatible client. Change the base_url in your SDK config. Point it to our endpoint. Use your API key for auth.

How much does the uncensored LLM cost?

Input tokens cost $0.15 per million. Output tokens cost $0.50 per million. You pay only for real usage. Errors are free. Credit never expires. Top up with USDT or USDC. Bonuses apply for larger deposits.

Can I stream responses with the uncensored AI?

Yes, set stream to true. You receive Server-Sent Events. Token usage appears in the final chunk. This reduces latency effectively. Buffer the output as needed. All parameters work normally during streaming. The API remains stable under load.

Get your API key now

Sign up, copy the key, update your base URL. Setup is instant.

Create key