目录
发出你的第一个请求
NightRouter 用一个 API 密钥覆盖多个模型。它同时支持 OpenAI API 和 Anthropic Messages API,因此允许自定义 base URL 的工具通常只需更换 base URL 和密钥即可接入。
在 控制台 → API 密钥 中创建密钥,然后在下面的示例中用它替换 sk-nr-your-key。
生成你的配置
选择你的工具和模型,然后复制确切的配置。只会列出支持你的工具所用 API 的模型。
12 个模型支持 Anthropic Messages API
添加到 ~/.zshrc,然后运行 claude。
export ANTHROPIC_BASE_URL='https://api.nightrouter.ai' export ANTHROPIC_AUTH_TOKEN='sk-nr-your-key' export ANTHROPIC_MODEL='claude-fable-5'
认证
将密钥作为 Bearer token 放在 Authorization 请求头中发送。Anthropic 风格的客户端也可以改用 x-api-key 请求头。
| API | Base URL | 请求头 |
|---|---|---|
| 兼容 OpenAI | https://api.nightrouter.ai/v1 | Authorization: Bearer <key> |
| Anthropic Messages 接口 | https://api.nightrouter.ai | Authorization: Bearer <key> 或 x-api-key: <key> |
发送请求
对 chat completions 端点的最简调用。请用你自己的密钥替换占位符。
curl https://api.nightrouter.ai/v1/chat/completions \ -H "Authorization: Bearer sk-nr-your-key" -H "Content-Type: application/json" \ -d '{"model":"claude-fable-5","messages":[{"role":"user","content":"Hello"}]}'
模型与价格
使用模型库中的模型 ID。价格按每 1M Token 或每次请求列出,你的用量会记录在控制台的日志中。
Claude Code
Claude Code 从环境变量中读取接口地址和密钥。把下面几行添加到你的 shell 配置文件中,然后运行 claude。
export ANTHROPIC_BASE_URL='https://api.nightrouter.ai' export ANTHROPIC_AUTH_TOKEN='sk-nr-your-key' export ANTHROPIC_MODEL='claude-fable-5'
Codex CLI
Codex CLI 使用 Responses API。把这个提供商添加到它的配置文件中,并将你的密钥导出为 NIGHTROUTER_API_KEY。
model = "your-model-id" model_provider = "nightrouter" [model_providers.nightrouter] name = "NightRouter" base_url = "https://api.nightrouter.ai/v1" env_key = "NIGHTROUTER_API_KEY" wire_api = "responses" # export NIGHTROUTER_API_KEY="sk-nr-your-key"
目前没有支持 Responses API 的模型,因此这个示例使用占位符 your-model-id。有可用模型后,请将其替换为模型 ID。
编程智能体
在 Cline、Roo Code 或 Cursor 等工具中,选择兼容 OpenAI 的提供商选项,将 base URL 设为 https://api.nightrouter.ai/v1,并粘贴你的密钥。
Cline / Roo Code
打开提供商设置并填写以下字段。
API Provider OpenAI Compatible Base URL https://api.nightrouter.ai/v1 API Key sk-nr-your-key Model ID claude-fable-5
Cursor
打开 Settings → Models 并填写以下字段。
OpenAI API Key sk-nr-your-key Override OpenAI Base URL https://api.nightrouter.ai/v1 Add custom model claude-fable-5
同样的 base URL 和密钥也可能适用于其他允许自定义 OpenAI 兼容 base URL 的工具,例如 Kilo Code、Continue 和 Zed。
SDK
只需更换 base URL 和密钥,即可让官方 SDK 指向 NightRouter。
OpenAI SDK(Python)
安装 openai 包,然后运行下面的代码。
from openai import OpenAI client = OpenAI(base_url="https://api.nightrouter.ai/v1", api_key="sk-nr-your-key") r = client.chat.completions.create(model="claude-fable-5", messages=[{"role": "user", "content": "Hello"}]) print(r.choices[0].message.content)
Anthropic SDK(TypeScript)
安装 @anthropic-ai/sdk,然后运行下面的代码。
import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic({ baseURL: "https://api.nightrouter.ai", apiKey: "sk-nr-your-key" }); const msg = await client.messages.create({ model: "claude-fable-5", max_tokens: 1024, messages: [{ role: "user", content: "Hello" }] });
聊天客户端
允许自定义 OpenAI 兼容 base URL 的聊天应用,例如 Cherry Studio、LobeChat、Open WebUI、LibreChat 或 TypingMind,都可以接入 NightRouter:添加一个自定义提供商,填入 base URL https://api.nightrouter.ai/v1 和你的密钥。
API 参考
这些接口位于 https://api.nightrouter.ai 之下,并使用同一个密钥。
| 端点 | 用途 |
|---|---|
| POST /v1/chat/completions | OpenAI 对话格式 |
| POST /v1/responses | OpenAI Responses API,供 Codex CLI 使用 |
| POST /v1/messages | Anthropic Messages API,供 Claude Code 使用 |
| GET /v1/models | 列出你的密钥可使用的模型 |
对话补全(Chat Completions)
OpenAI 对话格式,适用于支持它的模型。请求示例见发送请求。
Responses 接口
OpenAI Responses API,供 Codex CLI 使用。模型库中标明支持 Responses 的模型可用。
curl https://api.nightrouter.ai/v1/responses \ -H "Authorization: Bearer sk-nr-your-key" \ -H "Content-Type: application/json" \ -d '{"model":"your-model-id","input":"Hello"}'
目前没有支持 Responses API 的模型,因此这个示例使用占位符 your-model-id。有可用模型后,请将其替换为模型 ID。
Messages 接口
原生 Anthropic Messages API,供 Claude Code 使用。模型库中标明支持 Anthropic Messages 的模型可用。
curl https://api.nightrouter.ai/v1/messages \ -H "x-api-key: sk-nr-your-key" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{"model":"claude-fable-5","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'
错误与限制
错误使用标准 HTTP 状态码,响应体中通常包含错误信息。
| 状态码 | 含义 |
|---|---|
| 400 | 请求体或某个参数被拒绝。请检查模型 ID 和你发送的字段。 |
| 401 | 密钥缺失或无效。请检查 Authorization 请求头,并确认密钥仍然有效。 |
| 403 | 该密钥或其所在分组无权使用此模型,或余额、密钥上设置的额度上限不足。请检查密钥设置、模型 ID 和你的余额。 |
| 429 | 请求过多。请放慢速度,并使用指数退避重试。 |
| 5xx | 服务端错误,可能来自我们这边,也可能来自模型提供商。可以稍等片刻后重试。 |
以上是对常见错误的一般性说明,不构成服务等级承诺。