Base URL 与身份验证
API 运行于 https://api.nsfwchatbot.cc/v1。它使用标准的 Bearer token 身份验证。你可通过 获取 API 密钥 页面获取单个 API 密钥,支持 Google 或电子邮件登录。密钥必须通过 Authorization 标头发送。每个账户仅有一个活跃密钥;生成新密钥将撤销旧密钥。没有月度订阅——额度为预付且永不过期。
确保你的客户端库指向上述 base URL。模型标识符始终为 uncensored。这是一个针对最小内容拒绝进行微调的开放权重模型,不同于 GPT 或 Claude。它为合法成人内容提供不带通用护栏的原始文本响应。
首次请求
基本请求镜像 OpenAI chat-completions 接口。你指定模型、消息和可选参数。API 返回文本响应。如果省略 max_tokens,默认输出限制为 2,048 token。上下文窗口支持提示词和补全总共最多 100,000 token。
以下示例演示使用 curl 的标准文本补全请求。
curl https://api.nsfwchatbot.cc/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."}]
}'这将返回包含生成文本的 JSON 对象。错误将返回标准 HTTP 状态码,并在正文中包含错误对象。
Python SDK
使用官方 OpenAI Python 库,配置其指向我们的 base URL。这允许你以最小改动利用现有客户端代码。将 API 密钥作为 api_key 传递,并将 base_url 设置为我们的接口。模型名称仍为 uncensored。
初始化和补全调用示例:
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwchatbot.cc/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)此方法适用于简单的文本生成或构建链。请记住该模型不是 GPT-4;请相应调整提示词工程。通过 stream=True 参数支持流式输出,详见下一节。
Node SDK
Node.js OpenAI SDK 遵循相同的配置模式。导入库,设置 base URL 和 API 密钥,并调用补全接口。这非常适合服务器端集成或基于 Node 的聊天应用。
初始化示例:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwchatbot.cc/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);响应对象在 response.choices[0].message.content 中包含生成内容。确保适当处理错误,因为网络问题或无效密钥将抛出异常。无审查模型响应标准系统提示,允许你通过消息历史定义语气和行为。
流式响应
通过在请求中设置 stream: true 启用流式输出。API 返回服务器发送事件 (SSE) 流。每个块包含部分文本。最后一个块包含 token 使用统计。流式输出可减少 NSFW 聊天机器人应用中用户的感知延迟。
流式请求示例:
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 定价为每百万输入 token $0.25,每百万输出 token $1.00。错误和拒绝不收费。
限制、错误与上下文窗口
每个 API 密钥允许每分钟 300 个请求和 8 个并发请求。请求正文必须小于 8 MB。如果密钥无效,你将收到 401 错误。402 错误表示额度不足。429 错误表示速率限制。上下文窗口总共 100,000 token。如果指定,输出最大值为 32,000 token。涉及未成年人的内容始终被拒绝。额度通过加密货币预付且永不过期。使用这些限制为你的无审查 AI API 集成设计重试逻辑和队列管理。