中文 ▾
获取您的密钥

OpenRouter API 文档

使用标准的 OpenAI 兼容接口将您的应用连接到我们的无审查 LLM。本指南涵盖认证、请求格式和流式传输,以实现快速集成。

快速入门:使用 Python 连接

首先安装官方 SDK 并将其指向我们的基础 URL。

我们的 API 行为类似于标准的 OpenAI 接口,但路由到单个 uncensored 模型。这种方法消除了代理复杂性,同时保持代码的可移植性。

  • 通过 pip 安装库。
  • 在环境变量中设置您的 API 密钥。
  • 定义我们端点的基础 URL。
from openai import OpenAI

client = OpenAI(base_url="https://api.apiopenrouter.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)

将占位符密钥替换为您自己的凭据。您可以发送简单提示或复杂的结构化数据。

认证与密钥

在仪表板生成密钥,并将其作为 Authorization 请求头传递。

每个账户同时支持一个活跃密钥。当您创建新密钥时,旧密钥立即停止工作。这简化了安全管理,无需复杂的轮换逻辑。

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

上述请求使用 Bearer 方案。请确保你的密钥以 sk- 且不含多余空白。

聊天完成端点

发送至 /v1/chat/completions 使用标准 JSON 的端点。

模型接受 user 和 assistant 角色。您可以配置 temperature、top-p 和 stop sequences 来控制输出风格。如果启用流式传输,响应将在最后一个 chunk 中返回 token 使用情况。

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.apiopenrouter.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);

设置 max_tokens 用于控制输出长度。如果省略,默认值为 2,048 个 token。该模型每个请求最多支持 16,000 个 token。

流式响应

通过将 stream: true 在您的请求正文中。

Token 用量详情仅出现在流的最后一个 chunk 中。这允许实时 UI 更新,同时保留准确的计费数据。流式传输期间的错误仍会报告已计费 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)

优雅地处理部分响应。当模型完成生成或达到上下文限制时,流会正常关闭。

函数调用 & JSON 模式

使用 response_format: {type: "json_object"} 以确保严格的 JSON 输出。

在 tools 数组并设置 tool_choice 用于强制执行函数调用。模型返回适合程序化处理的结构化数据。这与我们无审查的权重配合良好。

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

将函数调用与流式传输结合使用以提供交互体验。在将 JSON 输出传递给您的应用程序逻辑之前进行验证。

限制和配额

根据每密钥限制监控使用情况以避免中断。

每个密钥允许每分钟 300 次请求和 8 个并发请求。请求正文大小限制为 8 MB。如果超出这些限制,API 将返回 429 状态码。身份验证错误返回 401,余额不足返回 402。

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

上下文窗口总计 100,000 个 token。错误不会消耗额度。轻微内容违规的拒绝也保持免费。

常见问题

openrouter API 与标准 OpenAI 有何不同?

我们的 API 使用单一无限制模型,针对合法的成人内容和创意内容进行了优化,无拒绝。它保持与 OpenAI 相同的请求和响应结构,允许您在不更改代码的情况下交换端点。

如果信用积分耗尽怎么办?

当您的预付费余额为零时,请求将返回 402 错误。余额永不过期,您可以随时通过加密货币充值。错误和拒绝不消耗您的余额。

可以为不同的项目使用多个密钥吗?

每个账户支持一个活跃密钥。创建新密钥会自动使前一个密钥失效。您可以从仪表板即时生成新密钥,而不会丢失计费历史记录。

检索您的 API 密钥

注册,复制令牌,并更新您的基础 URL。这就是全部配置。

获取您的密钥