快速开始
注册、充值、创建 API key,并用 curl、Python 或 TypeScript 发送第一个请求。
何时阅读本页
用本页在几分钟内从零开始,完成一个能跑通的请求。页面最后给出了用 Anthropic SDK 和 OpenAI SDK 发送同一请求的写法。
开始之前
你需要一张用于充值的银行卡,以及 curl、Python 3 或 Node.js 中的任意一个。
设置账户和 key
登录
打开 https://router.ezat.io/zh,选择开始使用或登录。可以用 GitHub 或 Google 登录,也可以输入邮箱后选择发送验证码,再输入邮件中的 6 位验证码。首次登录会创建你的账户。
你的账户一开始有一个以你命名的组织,你是它的所有者。组织持有你的余额、key 和用量(见组织和成员)。
充值
如果当前有注册赠送额度,登录页面上会写明,这笔额度会加到你第一个组织的余额中。否则余额从零开始,在你充值之前,请求都会被拒绝并返回 402。
- 在侧边栏打开账单。当前余额显示在顶部。
- 在充值下选择一个金额,或者选择自定义并输入金额(5 到 5,000 美元)。
- 选择前往支付,在 Stripe 的页面上付款。
付款几秒钟后额度就会到账。额度永不过期。所有者、管理员和财务可以充值;请求如何计费见计费方式。
创建 API key
- 打开 API Key,选择创建 key。
- 填写一个好认的名称,比如会使用这个 key 的应用或机器。你还可以设置消费上限,在可用模型中把 key 限定为部分模型,或者在有效期中选择何时过期。见 API key。
- 选择创建 key。
- 在保存你的 key 中复制 key,并保存在安全的地方,比如密码管理器。然后选择我已保存这个 key。
完整的 key 只显示一次
EZAT Router 只保存它的哈希值。如果你丢失了 key,请创建一个新的,并吊销旧的。
把 key 放进环境变量
本文档中的每个示例都从 EZAT_API_KEY 读取 key:
export EZAT_API_KEY="ezat_sk_…"把 ezat_sk_… 换成你自己的 key。这条 export 只在当前终端会话中有效;要长期保留,把这一行加到你的 shell 配置文件中(例如 ~/.zshrc 或 ~/.bashrc),或者使用你的密钥管理工具。不要把 key 提交到 git,也不要放进前端代码(见认证)。
发送第一个请求
下面用 curl 调用 Anthropic Messages API:
curl --fail-with-body -sS https://api.router.ezat.io/v1/messages \
-H "x-api-key: $EZAT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5-5",
"max_tokens": 64,
"messages": [{"role": "user", "content": "Say hello in five words."}]
}'响应是一条标准的 Anthropic message。其中 model 字段是你发送的名称,usage 字段给出了计费所依据的 token 数。几秒钟内,这个请求也会出现在用量页面上。
如果返回的是错误,响应体会说明原因。常见的是 401(key 没有设置或不正确)和 402(没有余额)。见故障排查。
列出模型
curl --fail-with-body -sS https://api.router.ezat.io/v1/models \
-H "x-api-key: $EZAT_API_KEY"每个条目的 id 就是你作为 model 发送的值。id 的格式是 author/model,例如 anthropic/claude-sonnet-5-5。Anthropic 自己的模型名称也可以用。所有 id、它们的其他名称和限制见模型。
使用 SDK
Anthropic SDK 无需修改即可使用:把 base URL 设为 https://api.router.ezat.io,并使用你的 EZAT Router key。用 pip install anthropic 或 npm install @anthropic-ai/sdk 安装。
import os
import anthropic
client = anthropic.Anthropic(
base_url="https://api.router.ezat.io",
api_key=os.environ["EZAT_API_KEY"],
)
message = client.messages.create(
model="anthropic/claude-sonnet-5-5",
max_tokens=64,
messages=[{"role": "user", "content": "Say hello in five words."}],
)
print("".join(block.text for block in message.content if block.type == "text"))使用 OpenAI SDK
如果你的代码或工具使用 OpenAI 的格式,请使用兼容 OpenAI 的 base URL https://api.router.ezat.io/openai/v1,key 不变。用 pip install openai 或 npm install openai 安装 SDK。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.router.ezat.io/openai/v1",
api_key=os.environ["EZAT_API_KEY"],
)
completion = client.chat.completions.create(
model="anthropic/claude-sonnet-5-5",
max_tokens=64,
messages=[{"role": "user", "content": "Say hello in five words."}],
)
print(completion.choices[0].message.content)兼容 OpenAI 的 API 支持哪些内容,见 Chat Completions。
下一步
Claude Code
设置两个环境变量,Claude Code 就会使用你的余额运行。
OpenAI 格式的工具
Cursor、Cline、LangChain 以及其他可以填写 OpenAI base URL 的工具。
Anthropic Messages
流式输出、token 计数、提示缓存(prompt caching)和请求头。
API key
消费上限、模型列表、有效期和吊销。
计费方式
一个请求花多少钱,余额如何变化。
错误
所有错误类型,以及是否应该重试。
给 AI agent 的说明
- 不要替用户注册、付款或创建 key:这些由用户本人在控制台
https://router.ezat.io/zh中完成。 - 询问用户哪个环境变量保存了他们的 key(按惯例是
EZAT_API_KEY)。不要让用户把 key 粘贴到对话里,也不要打印它。 - 用
GET https://api.router.ezat.io/v1/models(请求头x-api-key: $EZAT_API_KEY)检查 key。200表示可用;401表示 key 缺失、输错或已被吊销。 - 用列表中的一个模型 id,向
POST https://api.router.ezat.io/v1/messages发送一个小请求(max_tokens不超过 64)。402表示组织没有余额:告诉用户在账单页面充值,然后停止,不要重试。 - Anthropic 格式的客户端用
https://api.router.ezat.io,OpenAI 格式的客户端用https://api.router.ezat.io/openai/v1。不要在前者后面加/v1。