EN ▾

API Documentation

This is a prepaid, uncensored LLM API compatible with OpenAI SDKs. It serves a single open-weight model tuned for unrestricted content generation without per-request refusals.

Base URL and Authentication

The API base URL is HTTPS://api.nsfwchatgbt.com/v1. This endpoint works with any official OpenAI SDK or compatible client. You authenticate by passing your API key in the Authorization header as a Bearer token. You receive one active key per account. A new key replaces the old one immediately upon generation. The key is shown on screen right after you sign up. Signup supports Google OAuth or standard email and password entry. No phone number is required. Your prompts are not used for training. Credit never expires. Errors do not consume your balance.

Chat Completions Endpoint

Send text requests to POST /v1/chat/completions. The endpoint accepts standard message arrays. You must specify the model ID as "uncensored". This model is an open-weight LLM run on our servers. It does not refuse lawful adult or controversial topics. It is not GPT, Claude, or any other vendor model. The context window holds 100,000 tokens combined. Max output is 16,000 tokens per request. Set max_tokens to 2048 if you omit it. The request body must stay under 8 MB.

Models Endpoint

Query GET /v1/models to list available endpoints. This returns a list of model objects. You will see the "uncensored" model ID. This confirms your connection and authentication are working. Use this to verify your client setup before sending heavy payloads. It helps debug network issues early. The response format matches standard OpenAI listings. This is useful for automated health checks. Check this endpoint if your SDK throws generic errors. It confirms the server is reachable and your key is valid.

Streaming and Function Calling

Enable streaming by setting stream to true. The API returns Server-Sent Events. Token usage appears only in the final chunk. This helps you track costs in real-time. You can also use function calling. Pass tools and tool_choice in your request. The model supports JSON mode via response_format. Set this to json_object for strict outputs. Use temperature, top_p, and seed for control. Stop sequences work as expected. Presence and frequency penalties are available. These features allow complex agent workflows. Combine streaming with tools for dynamic responses.

Parameters and Limits

You are limited to 300 requests per minute. Each key allows 8 concurrent requests. The base URL is HTTPS://api.nsfwchatgbt.com/v1. Authentication requires a valid Bearer token. The model ID is "uncensored". The context window is 100,000 tokens. Max output is 16,000 tokens. Errors like 401 mean your key is invalid. 402 indicates no credit. 429 means you hit the rate limit. Refusals for minor content are hard limits. These limits apply per key, not per account. Monitor your usage to avoid service interruptions. Adjust concurrency if you see frequent 429s.

Token Usage and Billing

Prices are $0.15 per 1M input tokens. Output tokens cost $0.50 per 1M. You pay only for what you generate. Errors are free. Refusals do not charge you. Credit is topped up via crypto. We accept USDT on TRC20 or USDC on Base. Minimum top-up is $20. Maximum is $500. Bonuses apply at $50 (+5%), $100 (+10%), and $200 (+15%). New accounts get $0.50 for 7 days. Credit never expires. Mistakes are fixed via Support. Check your dashboard for remaining balance. Usage is charged by real token count.

cURL

curl https://api.nsfwchatgbt.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List server uptime stats for March"}]
  }'

Python

from openai import OpenAI

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

Common questions

What is the context window and max output?

The context window is 100,000 tokens including prompt and completion. You can generate up to 16,000 tokens per request. If you do not set max_tokens, it defaults to 2,048.

How do I pay for the API?

You top up with USDT (TRC20) or USDC (Base). Any whole amount between $20 and $500 is accepted. You receive bonus credit based on your top-up amount. Credit never expires and errors are free.

Is this the official ChatGBT service?

No, this is an independent uncensored LLM API. It uses an open-weight model tuned for unrestricted content. It is not GPT, Claude, or any other vendor. It is compatible with OpenAI SDKs for easy integration.

Get your API key

Sign up, copy the token, update your base URL. That is all.

Claim trial key