快速入门:第一次请求
发送到单个无审查端点的完成请求。API 接受标准的 chat-completions JSON 有效负载,并返回针对合法成人用途无内容拒绝的文本响应。
使用仪表板中提供的 base URL。在 authorization 头中包含您的 API 密钥。将模型 ID 设置为 uncensored. 这确保您连接到运行针对无限制输出进行微调的开放权重模型的正确服务器。
开始一个简单的提示以验证连接。系统将在响应正文中返回令牌使用情况和生成的文本。
认证与密钥
通过在 Authorization 页眉。您通过 Google 或电子邮件注册后立即生成 API 密钥。
妥善保管您的密钥。每个账户仅存在一个活跃密钥;生成新密钥将撤销前一个密钥。该密钥授予对您预存信用余额的完全访问权限。
如果密钥无效或已过期,API 将返回 401 错误。
聊天完成端点
使用标准的 POST /v1/chat/completions 端点。此端点处理所有文本生成任务。
将您的消息历史发送到 messages 数组。API 处理输入并返回模型的响应。你可以包含系统提示词来引导行为。
该端点支持 JSON 模式和函数调用。使用这些功能将 API 无缝集成到你的应用程序中。
确保您的负载保持在 8 MB 的请求体限制内。
流式传输与 SSE
通过将 stream: true 在您的请求中。API 返回服务器发送事件流。
每个块包含部分文本更新。最后一个块包含完整的 token 用量统计。
这种方法降低了最终用户的感知延迟。它允许你的应用程序在生成文本时显示文本。
优雅地处理流中断。如果连接保持稳定,API 保证所有 token 的交付。
参数和选项
使用标准参数控制生成行为。调整 temperature 用于创造力或确定性。使用 top_p 用于核采样。
设置 max_tokens 限制输出长度。默认值为 2,048 个令牌。每次请求允许的最大值为 16,000 个令牌。
使用 stop 序列以在特定标记处终止生成。 seed parameter ensures reproducible results for debugging.
这些选项在所有客户端中一致工作。
错误处理和限制
监控您的请求速率和余额。API 强制执行每个密钥每分钟 300 次请求的限制。
429 错误表示您已超过速率限制。402 错误表示您的预充值余额已耗尽。
上下文窗口总共支持 100,000 个 token。这包括提示词和补全部分。
处理过程中的错误不消耗信用。仅对成功的令牌生成计费。
cURL
curl https://api.mostuncensoredllm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a list of ten distinct Linux shell commands for system monitoring."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.mostuncensoredllm.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.mostuncensoredllm.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);流式传输
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)