Mục lục
Gửi yêu cầu đầu tiên
NightRouter cho bạn một API key dùng cho nhiều model. Dịch vụ nói được API của OpenAI và API Anthropic Messages, nên các công cụ cho phép đặt base URL tuỳ chỉnh thường có thể trỏ tới đây bằng cách đổi base URL và key.
Tạo key tại Dashboard → API keys, rồi dùng thay cho sk-nr-your-key trong các ví dụ bên dưới.
Tạo cấu hình
Chọn công cụ và model, rồi chép đúng phần cấu hình. Chỉ những model hỗ trợ API mà công cụ của bạn dùng mới được liệt kê.
12 model hỗ trợ Anthropic Messages API
Thêm vào ~/.zshrc, rồi chạy claude.
export ANTHROPIC_BASE_URL='https://api.nightrouter.ai' export ANTHROPIC_AUTH_TOKEN='sk-nr-your-key' export ANTHROPIC_MODEL='claude-fable-5'
Xác thực
Gửi key dưới dạng Bearer token trong header Authorization. Các client kiểu Anthropic có thể gửi key trong header x-api-key.
| API | Base URL | Header |
|---|---|---|
| Tương thích OpenAI | https://api.nightrouter.ai/v1 | Authorization: Bearer <key> |
| Anthropic Messages | https://api.nightrouter.ai | Authorization: Bearer <key> hoặc x-api-key: <key> |
Gửi yêu cầu
Một lệnh gọi tối giản tới endpoint chat completions. Hãy thay chữ giữ chỗ bằng key của bạn.
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"}]}'
Model & giá
Dùng một model id trong thư viện model. Giá niêm yết theo 1M token hoặc theo request, và mức dùng của bạn được ghi trong nhật ký ở dashboard.
Claude Code
Claude Code đọc endpoint và key từ biến môi trường. Thêm các dòng này vào tệp cấu hình shell, rồi chạy 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 dùng Responses API. Thêm provider này vào tệp cấu hình của nó và xuất key thành 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"
Hiện chưa có model nào hỗ trợ Responses API, nên ví dụ này dùng chữ giữ chỗ your-model-id. Hãy thay bằng model id khi đã có.
Coding agent
Trong các công cụ như Cline, Roo Code hoặc Cursor, chọn tuỳ chọn provider tương thích OpenAI, đặt base URL là https://api.nightrouter.ai/v1 và dán key của bạn.
Cline / Roo Code
Mở phần cài đặt provider và điền các trường này.
API Provider OpenAI Compatible Base URL https://api.nightrouter.ai/v1 API Key sk-nr-your-key Model ID claude-fable-5
Cursor
Mở Settings → Models và điền các trường này.
OpenAI API Key sk-nr-your-key Override OpenAI Base URL https://api.nightrouter.ai/v1 Add custom model claude-fable-5
Cùng base URL và key này cũng có thể dùng được ở các công cụ khác cho phép đặt base URL tương thích OpenAI tuỳ chỉnh, ví dụ Kilo Code, Continue và Zed.
SDK
Trỏ các SDK chính thức tới NightRouter bằng cách đổi base URL và key.
OpenAI SDK (Python)
Cài gói openai, rồi chạy đoạn này.
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)
Cài @anthropic-ai/sdk, rồi chạy đoạn này.
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" }] });
Ứng dụng chat
Các ứng dụng chat cho phép đặt base URL tương thích OpenAI tuỳ chỉnh, ví dụ Cherry Studio, LobeChat, Open WebUI, LibreChat hoặc TypingMind, có thể trỏ tới NightRouter: thêm một provider tuỳ chỉnh với base URL https://api.nightrouter.ai/v1 và key của bạn.
Tài liệu API
Các endpoint này nằm dưới https://api.nightrouter.ai và dùng chung một key.
| Endpoint | Công dụng |
|---|---|
| POST /v1/chat/completions | Định dạng chat của OpenAI |
| POST /v1/responses | OpenAI Responses API, dùng cho Codex CLI |
| POST /v1/messages | Anthropic Messages API, dùng cho Claude Code |
| GET /v1/models | Liệt kê các model mà key của bạn dùng được |
Chat completions
Định dạng chat của OpenAI, dùng với các model hỗ trợ. Yêu cầu mẫu nằm ở mục Gửi yêu cầu.
Responses
OpenAI Responses API, dùng cho Codex CLI. Có với các model ghi hỗ trợ Responses trong thư viện model.
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"}'
Hiện chưa có model nào hỗ trợ Responses API, nên ví dụ này dùng chữ giữ chỗ your-model-id. Hãy thay bằng model id khi đã có.
Messages
API Anthropic Messages gốc, dùng cho Claude Code. Có với các model ghi hỗ trợ Anthropic Messages trong thư viện model.
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"}]}'
Lỗi & giới hạn
Lỗi dùng mã trạng thái HTTP chuẩn, và phần thân phản hồi thường có thông báo lỗi.
| Mã | Ý nghĩa |
|---|---|
| 400 | Phần thân yêu cầu hoặc một tham số bị từ chối. Kiểm tra model id và các trường bạn đã gửi. |
| 401 | Thiếu key hoặc key không hợp lệ. Kiểm tra header Authorization và xem key còn hoạt động không. |
| 403 | Key hoặc nhóm của key không được dùng model này, hoặc số dư hay giới hạn đặt trên key không đủ. Hãy kiểm tra cài đặt key, model id và số dư của bạn. |
| 429 | Quá nhiều yêu cầu. Hãy gửi chậm lại và thử lại với độ trễ tăng dần. |
| 5xx | Lỗi phía máy chủ, từ chúng tôi hoặc từ nhà cung cấp model. Bạn có thể thử lại sau một lúc. |
Đây là mô tả chung về các lỗi thường gặp, không phải cam kết về chất lượng dịch vụ.