Base URL and Authentication
Your API key authenticates every request. Pass it in the Authorization header as a bearer token. The base URL for all endpoints is https://api.nsfwgrokprompt.com/v1. This URL works with the official OpenAI SDKs and any compatible client. You only need one active key per account. If you generate a new key, the old one becomes invalid immediately. No phone number is required for signup. Use Google or email and password to get your key instantly.
Sending Your First NSFW Prompt
Send a standard chat completion request to generate text. The model ID is always uncensored. This open-weight model is tuned to answer without content refusals for lawful adult use. It is not GPT, Claude, or Grok. You can ask for specific styles or uncensored narratives. The API returns text only. There are no image or video endpoints here. Use the following cURL command to test your key.
curl https://api.nsfwgrokprompt.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate the current UTC timestamp in ISO 8601 format"}]
}'
Python SDK Integration
Initialize the client in Python using the standard library. Set the base URL to our endpoint and your API key. The model name is uncensored. You can pass messages in the standard roles format. The response contains the generated text. Errors are returned as standard HTTP status codes. This setup works with any OpenAI-compatible SDK. You do not need to install vendor-specific packages. Just use the standard client. Configure the base URL correctly. The rest follows standard patterns.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwgrokprompt.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 SDK Integration
Import the client from your preferred Node library. Set the base URL to https://api.nsfwgrokprompt.com/v1. Pass your API key in the header. Call the chat completion endpoint with the model uncensored. The response is a standard object. You can handle errors using try-catch blocks. This works with any OpenAI-compatible client. The structure is identical to other providers. Just change the base URL. The model behaves consistently. Use this for server-side generation.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwgrokprompt.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 for Real-time Output
Enable streaming by setting stream to true. The API returns data chunks via Server-Sent Events. Each chunk contains partial text. You can display tokens as they arrive. This reduces perceived latency for long outputs. The final chunk includes token usage details. Streaming is useful for chat interfaces. It provides a better user experience. You must handle the event stream correctly. Close the connection when done. This feature is standard in the SDK.
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)
Token Limits and Context Window
The context window is 100,000 tokens total. This includes both prompt and completion. The maximum output per request is 16,000 tokens. If you do not set max_tokens, it defaults to 2,048. You are charged only for real token usage. Errors and refusals are free. The rate limit is 300 requests per minute. You can have 8 concurrent requests per key. The request body must be under 8 MB. Use these limits to plan your volume.