sv ▾
Get API key
per 1M input tokens$0.15
Output tokens / 1M$0.50
token context100,000
trial credit$0.50
requests per minute300

https://api.nsfwllmchat.com/v1uncensored

Quickstart: Integrate the NSFW LLM Chat API

Get the uncensored LLM API running in minutes. This guide covers authentication, requests, and streaming for your NSFW LLM Chat integration.

Base URL and Authentication

The NSFW LLM Chat API is an openai compatible API that follows standard conventions. You must send your API key in the Authorization header. Our base URL is HTTPS://api.nsfwllmchat.com/v1. This works with the official OpenAI SDKs and any OpenAI-compatible client by changing base_url and the API key. Get your key from the "Get API key" page. Sign in with Google or email and password. No phone number is required. The key appears immediately on screen.

Sending Your First Request

Make a POST request to /v1/chat/completions. Send the model ID "uncensored" and your messages array. The API returns text responses. Use the official SDKs for your language. Our API serves one uncensored large language model. It is not GPT, Claude, or any other vendor's model. It is an open-weight model tuned for no refusals.

curl https://api.nsfwllmchat.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Run my test suite and show the output"}]
  }'
from openai import OpenAI

client = OpenAI(base_url="https://api.nsfwllmchat.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)
import OpenAI from "openai";

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

Enable streaming by setting stream: true in your request. The API returns Server-Sent Events. You receive tokens as they generate. The final chunk contains the total token usage. This is ideal for real-time chat interfaces. It reduces perceived latency for users. You can start displaying text immediately.

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 the tools parameter for function calling. Set tool_choice to control invocation. Enable JSON mode with response_format: {"type": "json_object"}. This ensures structured outputs. You can define custom functions. The model adheres to your schema. This is useful for game logic or data extraction. It works alongside standard text generation.

Token Limits and Context Window

The context window is 100,000 tokens. This includes both prompt and completion. Max output is 16,000 tokens per request. Set max_tokens to control this. Default is 2,048 if not set. You can adjust temperature, top_p, and seed. Use stop sequences to halt generation. These parameters give you precise control over output quality and format.

Limits, Errors, and Pricing

You get 300 requests per minute per key. Limit 8 concurrent requests. Max request body is 8 MB. Errors like 401 invalid key or 402 no credit are common. 429 means rate limit exceeded. Errors and refusals are free. Price is $0.15 per 1M input tokens. Output is $0.50 per 1M tokens. Top up with crypto only. USDT (TRC20) or USDC (Base). Amounts from $20 to $500.

Technical FAQ

What is the NSFW LLM chat API?

It is a hosted, OpenAI-compatible chat-completions API serving one uncensored large language model. Text in, text out. It is not GPT, Claude, or any other vendor's model.

How do I debug missing citations in parallel chat API responses?

Ensure you are using the correct model ID "uncensored". Check your <code>response_format</code> if using JSON mode. Verify your API key is valid and has sufficient credit. Use streaming to see token-by-token progress.

Is the credit prepaid and when does it expire?

Credit is prepaid via crypto. It never expires. Mistakes like double charges are fixed through Support. Top up with USDT or USDC for bonus credit.

Get your API key now

Sign up, grab the token, point your client to the new endpoint. Done.

Get API key