前提条件
要使用 apertus API,你需要一个账户和一个 API 密钥。在获取 API 密钥页面通过 Google 或电子邮件注册。你会立即获得一个密钥,无需电话号码。如果你想先进行测试,每个新账户都会获得 7 天内有效的 $0.50 试用额度。试用无需绑定银行卡。用于生产环境时,可通过加密货币充值(TRC20 网络上的 USDT 或 Base 网络上的 USDC)。额度永不过期,错误不会消耗余额。每个账户只能有一个活跃密钥;生成新密钥会替换旧密钥。请妥善保管你的密钥,并将其作为 Bearer token 放入 Authorization 请求头中。该 API 严格基于文本,提供专为无内容审查回答而优化的无审查模型。
Base URL 和认证
将所有请求指向 https://api.apertus.cc/v1。此 base URL 可与官方 OpenAI SDK 和任何兼容客户端一起使用,只需更改接口即可。在头中包含你的 API 密钥:Authorization: Bearer YOUR_API_KEY。唯一支持的接口是 POST /v1/chat/completions。还提供 GET /v1/models 接口以验证连接。要使用的模型 ID 是 uncensored。这是一个运行在我们服务器上的开放权重模型,不同于 GPT、Claude 或其他供应商。它处理文本输入并返回文本输出。不要期望嵌入、图像或音频。API 专为希望进行简单集成而无需模型路由复杂性的开发者设计。
首次请求
发送基本的补全请求以验证你的设置。使用 curl 命令向聊天补全接口 POST。将模型设置为 uncensored 并包含一条简单消息。这将确认你的 API 密钥有效且 base URL 正确。你可以根据需要调整 temperature 或 max_tokens 等参数。响应将包含模型的文本输出。如果收到 401 错误,请检查你的密钥。402 错误表示额度不足。429 错误表示你已达到速率限制。此简单请求展示了没有中间件的原始 API 访问。这是在构建更复杂逻辑之前验证集成的最快方法。
Python 集成
使用官方 openai Python SDK 与 API 交互。使用 base URL https://api.apertus.cc/v1 和你的 API 密钥初始化客户端。将模型设置为 uncensored。将消息作为字典列表发送。SDK 自动处理序列化和错误解析。这种方法非常适合后端服务或数据处理脚本。你可以流式传输响应或获取完整块。客户端代码与你用于 OpenAI 的代码相同,只是 base URL 不同。这减少了从其他供应商切换时的摩擦。确保使用最新版本的 SDK 以获得最佳兼容性。集成非常简洁,只需更改现有客户端设置的配置即可。
Node.js 集成
对于 JavaScript 或 TypeScript 环境,使用 openai npm 包。使用与 Python 中相同的 base URL 和密钥配置客户端。使用 uncensored 模型调用 chat.completions.create()。以标准格式传递你的消息。这非常适合无服务器函数或 Node.js 后端。SDK 管理 HTTP 请求和响应解析。你可以通过检查响应状态来优雅地处理错误。代码在不同 OpenAI 兼容服务之间保持可移植性。这使得在需要时轻松更换供应商变得容易。Node.js 集成支持同步和异步模式。使用它来构建需要无审查文本生成的 API、机器人或自动化工作流。
流式响应
通过在请求中设置 stream: true 启用流式输出。API 会在生成文本时返回文本块。这能降低长回复的感知延迟。每个文本块包含部分补全内容。最后一个文本块包含 token 使用统计信息。流式输出通过 Server-Sent Events (SSE) 支持。使用 SDK 的流式处理助手可以高效处理文本块。这适用于聊天界面或实时应用。请注意,流式输出消耗的 token 与非流式输出相同。流式过程中可能出现错误,因此需要处理中断。无审查模型默认支持流式输出。此功能允许你逐步显示文本。这是现代 LLM API 的标准功能。确保你的客户端代码能正确处理部分响应。
限制、错误和上下文
上下文窗口总计 100,000 个 token,包括提示词和补全内容。每次请求的最大输出为 32,000 个 token,如果未设置 max_tokens,则上限为 2,048 个 token。速率限制为每分钟 300 个请求,每个密钥最多 8 个并发请求。请求体大小必须小于 8 MB。常见错误包括:401 表示密钥无效,402 表示无余额,429 表示超出速率限制。该模型会拒绝涉及未成年人的色情内容。它不会拒绝其他合法的成人内容、虚构内容或有争议的话题。定价透明:输入 token 每 100 万 $0.25,输出 token 每 100 万 $1.00。错误免费。额度为预付额度,永不过期。利用这些限制来规划应用的规模。该 API 旨在提供高吞吐量、具有成本效益的文本生成。
cURL
curl https://api.apertus.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.apertus.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apertus.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);流式传输
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)