认证与基础 URL 设置
在仪表板生成您的 API 密钥。基础 URL 为 HTTPS://api.apiaicheap.com/v1。将您的密钥作为 bearer 令牌放入 Authorization 请求头中。
- 点击“获取 API 密钥”并通过 Google 或电子邮件登录。
- 立即复制密钥;它只显示一次。
此密钥对所有聊天补全端点的请求进行身份验证。
示例标题
授权:Bearer YOUR_API_KEY
首次使用cURL的请求
发送基本的聊天补全以测试您的设置。使用 POST /v1/chat/completions 端点和模型 "uncensored"。
这确认了您的余额和延迟情况。
- 将 role 设置为 "user"。
- 第一条测试消息保持简单。
检查响应中是否包含生成的文本字段。
- 寻找“content”值。
如果返回 200 OK,说明您的集成运行正常。
curl https://api.apiaicheap.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Fix the null pointer in the login handler"}]
}'
Python SDK 集成
使用官方 OpenAI Python 库以实现轻松集成。将其指向我们的 base URL 并设置您的 API 密钥。
这种方法自动处理重试和 JSON 解析。
- 通过 pip 安装库。
- 将 base_url 参数设置为我们的端点。
调用 chat.completions.create 方法。
将消息列表作为参数传递。
- 包含模型名称“uncensored”。
通过对象的属性访问响应文本。
此方法对于生产脚本来说干净且易读。
from openai import OpenAI
client = OpenAI(base_url="https://api.apiaicheap.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 SDK 设置
Node.js SDK 与 Python 版本类似。使用您的密钥和我们的基础 URL 初始化客户端。
这使您可以使用熟悉的 async/await 模式。
- 导入 OpenAI 包。
- 在构造函数中配置 base URL。
使用您的消息创建补全请求。
处理 promise 以获取结果。
- 从响应中提取消息内容。
记录输出以验证模型是否正确响应。
此配置非常适合 Web 服务器和后端服务。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiaicheap.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);
带有 SSE 的流式响应
通过在请求中将 stream 设置为 true 来启用流式传输。API 通过服务器发送的事件返回生成的数据块。
这降低了聊天应用中用户的感知延迟。
- 在负载中将 stream: true 设置。
- 随到达处理每个数据块。
组合这些块以形成最终响应。
Token 用量详情出现在最后一个 chunk 中。
- 检查最后一个数据块中的 "usage" 字段。
这种方法在长时间生成期间保持用户界面的响应能力。
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)
限制、错误和上下文窗口
您的账户的速率限制为每分钟 300 次请求(每个密钥)。上下文窗口支持总共 100,000 令牌的提示和补全。
错误通过标准 HTTP 状态码处理。
- 401 表示 API 密钥无效或缺失。
- 402 表示您的预付费余额已耗尽。
- 429 表示您已超出速率限制。
拒绝不消耗额度。错误也是免费的。
每次请求最大输出为 16,000 个 Token。如果需要更少,请设置 max_tokens。
这种结构确保了可预测的计费和服务性能。
常见问题
API key 是即时生成的吗?
是的。一旦使用 Google 或电子邮件登录,您的密钥将立即显示。无需电话号码验证。
如果我超出速率限制会怎样?
您将收到 429 请求过多错误。重试前等待几秒。您可以创建新密钥以增加并发请求容量。
API 是否支持流式传输?
是的。将 stream 参数设置为 true 以接收服务器发送的事件。Token 使用情况包含在流的最后一个块中。
立即获取 API 密钥
注册,获取密钥,更新基础 URL。就是这样。