EZAT RouterDocs

快速开始

注册、充值、创建 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。

  1. 在侧边栏打开账单。当前余额显示在顶部。
  2. 在充值下选择一个金额,或者选择自定义并输入金额(5 到 5,000 美元)。
  3. 选择前往支付,在 Stripe 的页面上付款。

付款几秒钟后额度就会到账。额度永不过期。所有者、管理员和财务可以充值;请求如何计费见计费方式。

创建 API key

  1. 打开 API Key,选择创建 key。
  2. 填写一个好认的名称,比如会使用这个 key 的应用或机器。你还可以设置消费上限,在可用模型中把 key 限定为部分模型,或者在有效期中选择何时过期。见 API key。
  3. 选择创建 key。
  4. 在保存你的 key 中复制 key,并保存在安全的地方,比如密码管理器。然后选择我已保存这个 key。

完整的 key 只显示一次

EZAT Router 只保存它的哈希值。如果你丢失了 key,请创建一个新的,并吊销旧的。

把 key 放进环境变量

本文档中的每个示例都从 EZAT_API_KEY 读取 key:

Terminal
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。

下一步

给 AI agent 的说明

  1. 不要替用户注册、付款或创建 key:这些由用户本人在控制台 https://router.ezat.io/zh 中完成。
  2. 询问用户哪个环境变量保存了他们的 key(按惯例是 EZAT_API_KEY)。不要让用户把 key 粘贴到对话里,也不要打印它。
  3. 用 GET https://api.router.ezat.io/v1/models(请求头 x-api-key: $EZAT_API_KEY)检查 key。200 表示可用;401 表示 key 缺失、输错或已被吊销。
  4. 用列表中的一个模型 id,向 POST https://api.router.ezat.io/v1/messages 发送一个小请求(max_tokens 不超过 64)。402 表示组织没有余额:告诉用户在账单页面充值,然后停止,不要重试。
  5. Anthropic 格式的客户端用 https://api.router.ezat.io,OpenAI 格式的客户端用 https://api.router.ezat.io/openai/v1。不要在前者后面加 /v1。

本页内容