API 文档

RelayAI 提供 OpenAI / Anthropic 兼容接口,并统一处理鉴权、模型路由、限速、计费和用量记录。

Base URL: https://relayai.aolingtech.com/api/v1
所有公开示例均使用当前 RelayAI 服务地址。

快速接入指南

如果你已经在使用 OpenAI SDK,通常只需修改 Base URL 和 API Key 即可切换到 RelayAI:

Python

python
from openai import OpenAI

client = OpenAI(
    api_key="rk-xxxxxxxxxxxx",              # RelayAI API Key
    base_url="https://relayai.aolingtech.com/api/v1"
)

response = client.chat.completions.create(
    model="glm-5.2",
    messages=[
        {"role": "user", "content": "Hello, RelayAI!"}
    ]
)

print(response.choices[0].message.content)

cURL

bash
curl https://relayai.aolingtech.com/api/v1/chat/completions \
  -H "Authorization: Bearer rk-xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

认证方式

所有 API 请求必须携带 API Key。OpenAI 兼容端点推荐使用 Authorization Header,Anthropic 兼容端点也支持 x-api-key。

Authorization: Bearer rk-xxxxxxxxxxxx
x-api-key: rk-xxxxxxxxxxxx

API Key 可在控制台的「密钥管理」页面创建。一个 Key 同时配置模型权限、路由策略、RPM 和可选月度预算。

  • 全部常规模型只包含不按量采购的 standard 模型。
  • 按量模型必须在同一个 API Key 中逐个显式授权。
  • 未来新增按量模型不会自动授权给已有 Key。
  • 创建结果显示一次完整明文;之后只能直接复制,不在页面重新显示。

路由策略

路由策略绑定在 API Key 上。客户端请求仍只传模型 ID,不能通过 Header 或请求体覆盖该 Key 的路由策略。

Profile控制台标签行为
default标准普通调用和旧 Key 的默认语义,同模型 fallback 并过滤已知不可用 route
coding研发研发工具和代码任务,允许显式配置的兼容版本替代
vip高可靠高价值任务,禁止低阶静默降级
agentAgent预留 profile,未启用时按标准语义解析
low_cost低成本预留 profile,未启用时按标准语义解析
long_context长上下文预留 profile,未启用时按标准语义解析

上游厂商政策限流不由路由策略本身解决;例如智谱 1305 仍需要标准 API 池或上游授权确认。

Chat Completions

POST/v1/chat/completions

发送对话消息并获取模型回复。支持流式(SSE)和非流式响应。

参数类型必填说明
modelstring必填模型 ID,如 glm-5.2、deepseek-v4-pro、kimi-k2.6、kimi-k3
messagesarray必填消息数组,每项含 role 和 content
temperaturenumber可选采样温度,0–2,默认 1
max_tokensinteger可选最大生成 token 数
streamboolean可选是否启用流式输出,默认 false

Responses(Codex)

POST/v1/responses

面向 Codex CLI 的 Responses 兼容接口。支持非流式 JSON,以及文本增量、函数调用参数增量和完成/失败事件。

json
{
  "model": "deepseek-v4-flash",
  "instructions": "You are a coding assistant.",
  "input": "Explain this error in one sentence.",
  "stream": true
}

支持文本输入、对话消息、标准函数工具、Codex namespace 工具、Web Search、 Custom Tools、tool_search 以及对应的函数调用结果。Web Search 由 RelayAI 在服务端执行并将结果回填给上游模型。 当前不支持previous_response_id、服务端存储、WebSocket、Files 和 Images。未配置BRAVE_SEARCH_API_KEY时,Web Search 回落到 Bing Web Search。

toml
model_provider = "relayai"
model = "deepseek-v4-flash"

[model_providers.relayai]
name = "RelayAI"
base_url = "https://relayai.aolingtech.com/api/v1"
wire_api = "responses"
requires_openai_auth = true
env_key = "RELAYAI_API_KEY"

Codex 的 /responses 会由wire_api = "responses"自动拼接。base_url 必须停在/api/v1,不能包含/chat/completions/responses

Messages

POST/v1/messages

Anthropic 兼容消息接口。请求使用 Anthropic 格式,网关内部会转换并路由到可用上游。

json
{
  "model": "glm-5.2",
  "max_tokens": 1000,
  "messages": [
    { "role": "user", "content": "Hello" }
  ],
  "stream": true
}

该端点支持 Anthropic 风格的 tools 和 tool_choice,网关会转换为 OpenAI 兼容格式后转发。

Models

GET/v1/models

获取当前账户可用的所有模型列表。

当前支持的模型:

服务商模型
DeepSeek
deepseek-v4-flashdeepseek-v4-pro
智谱 BigModel
glm-5.2glm-5.1glm-5-turboglm-4.7glm-4.5-air
火山方舟
doubao-seed-2.0-codedoubao-seed-2.0-prodoubao-seed-2.0-liteminimax-m2.7minimax-m3kimi-k2.6
PPToken(已实现,默认关闭/需显式按量授权)
gpt-5.5gpt-5.6-solgpt-5.6-lunagpt-5.6-terra
Moonshot(已实现,默认关闭/需显式按量授权)
kimi-k3

返回结果示例:

json
{
  "object": "list",
  "data": [
    { "id": "deepseek-v4-flash", "object": "model", "owned_by": "deepseek" },
    { "id": "glm-5.2", "object": "model", "owned_by": "zhipu" },
    { "id": "kimi-k2.6", "object": "model", "owned_by": "volcengine" }
  ]
}

Embeddings

POST/v1/embeddings

该接口尚未实现,当前返回 HTTP 501。

参数类型必填说明
modelstring必填计划支持的 embedding 模型 ID
inputstring/array必填要嵌入的文本,单个或数组

速率限制

速率限制按 API Key 配置。超出限制时返回 HTTP 429。

限制项说明
API Key RPM自定义可在创建 API Key 时设置 rpmLimit
普通请求重试1s、2s上游临时错误会先重试,再按当前 API Key 的路由策略尝试备用 route
流式超时600s流式响应最长等待时间

错误码

状态码类型说明
400invalid_request / invalid_request_error请求格式错误或上游拒绝请求参数
401missing_api_key / invalid_api_key / key_revoked未提供 API Key、Key 无效或已撤销
402insufficient_balance账户余额不足
403model_forbidden / user_inactiveAPI Key 未显式获得目标模型权限,或账号不可用
404model_not_found / not_found_error模型未知或当前环境未启用
429rate_limit_exceeded超过 API Key 速率限制
502upstream_error / timeout上游服务商错误或响应超时
503model_temporarily_unavailable已发布模型暂时不可用
  • 模型可用但当前 Key 未显式授权时返回 403,error.code=model_forbidden
  • Chat Completions 的 404/503 使用 OpenAI 错误对象,分别通过error.code=model_not_founderror.code=model_temporarily_unavailable标识。
  • Responses 的 404/503 同样使用 OpenAI 错误对象和上述error.code;对应error.type分别为invalid_request_errormodel_unavailable
  • Messages 使用 Anthropic 错误信封且没有独立error.code:404 为error.type=not_found_error;503 为error.type=api_error,并在 message 中携带model_temporarily_unavailable

旧模型名兼容

以下标识仅用于历史 API Key 白名单归一化,不能作为请求 model 直接调用。客户端必须使用当前模型名。

旧模型名当前模型名说明
zhipu-glm-4.7glm-4.7仅用于历史白名单归一化
alibaba-glm-4.7glm-4.7不代表 Alibaba route
volc-glm-5.1glm-5.1仅用于历史白名单归一化
volc-deepseek-v4-flashdeepseek-v4-flash仅用于历史白名单归一化
volc-deepseek-v4-prodeepseek-v4-pro仅用于历史白名单归一化

从 OpenAI API 迁移

如果你已经在使用 OpenAI 官方 SDK 或直接调用 API,只需以下三步即可完成迁移。

1. 替换 Base URL

将请求地址从 OpenAI 官方域名改为 RelayAI:

diff
- base_url = "https://api.openai.com/v1"
+ base_url = "https://relayai.aolingtech.com/api/v1"

2. 认证方式不变

RelayAI 的 API Key 格式为 rk-...,但 Authorization Header 的格式与 OpenAI 完全一致,无需修改认证逻辑:

http
Authorization: Bearer rk-xxxxxxxxxxxx

3. 兼容性差异

大部分功能可直接使用,少数功能存在差异:

  • Streaming(流式输出) — 完全兼容,无需改动
  • Function Calling(函数调用) — 已支持,参数格式与 OpenAI 一致
  • Responses(Codex) — 已支持首版 Codex 文本和工具调用流程
  • Embeddings — 尚未实现,当前返回 HTTP 501

兼容性矩阵

各模型在 RelayAI 中转层上的功能支持情况:

功能DeepSeek智谱火山方舟自有算力PPTokenMoonshot
Chat Completions
Responses(Codex)转换转换转换转换转换
Messages转换转换转换转换转换转换
Streaming
Tools部分
Embeddings尚未实现,HTTP 501-----

PPToken 和 Moonshot 已实现但默认关闭/受限;满足服务端开关、模型白名单、凭证和价格配置后可启用,并仍需 API Key 显式授权。