基础 URL 和认证
我们的 API 完全兼容 OpenAI,这意味着您可以使用任何标准 SDK 并进行最小化更改。所有请求的基础 URL 为 https://api.openrouterapi.top/v1。认证通过 Authorization 头中的 Bearer token 处理。您可以通过在仪表板上使用 Google 或电子邮件地址注册来即时生成此密钥。请妥善保管密钥,因为它可直接访问您的预付额度。
首个请求
使用简单的 curl 命令测试接口。将 YOUR_API_KEY 替换为您的实际密钥。模型 ID 设置为 uncensored 以绕过标准内容审查。此请求发送提示词并等待完整响应。
curl https://api.openrouterapi.top/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."}]
}'
如果密钥无效,您将收到 401 错误。如果您的预付余额耗尽,您将收到 402 错误。这些错误不会消耗您的 token 余额,但会计入您的速率限制配额。
Python SDK 集成
使用官方 openai Python 包非常简单。使用您的基础 URL 和密钥初始化客户端。SDK 会自动处理 JSON 序列化。此示例演示了基本的聊天完成请求。
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.top/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)
确保您已安装最新版本的 SDK。客户端对象管理连接池,因此您可以重用它以进行多次请求而无需重新初始化。
Node SDK 集成
对于 JavaScript 环境,Node SDK 工作方式相同。在初始化期间传递自定义基础 URL。这种方法允许您将无审查生成功能无缝集成到现有的 Web 应用或后端服务中。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.top/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);
Node SDK 同时支持 promise 和 async/await 模式。错误处理与其他 OpenAI 兼容服务保持一致。
流式响应
通过在请求中设置 stream: true 启用流式输出。API 返回 Server-Sent Events (SSE)。每个块包含部分文本。最后一个块包含用于计费的 token 使用统计信息。
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 付费。
速率限制和上下文窗口
每个 API 密钥限制为每分钟 300 个请求和 8 个并发请求。最大请求体大小为 8 MB。上下文窗口支持最多 100,000 个 token 总量(输入加输出)。每个请求的最大输出为 32,000 个 token,如果未设置 max_tokens 则为 2,048 个。401 或 402 等错误不会消耗额度,但会计入您的速率限制。特定内容类型的拒绝也是免费的。