Skip to content

API 参考 ​

Router 数据面兼容 OpenAI / Anthropic 三种调用协议。本页列出端点、鉴权与通用行为;同协议通道保留该协议的字段与事件,跨协议通道的支持范围见三种 API 协议。

接入地址 ​

实际域名以控制台「快速接入」页展示为准,下文以 https://routerapi.<域名> 为占位。

协议Base URL端点
OpenAI Chat Completionshttps://routerapi.<域名>/v1POST /v1/chat/completions、GET /v1/models
OpenAI Responseshttps://routerapi.<域名>/v1POST /v1/responses
Anthropic Messageshttps://routerapi.<域名>/anthropicPOST /anthropic/v1/messages
视频生成(OpenAI Videos 风格)https://routerapi.<域名>/v1POST /v1/videos、GET /v1/videos/{id}、GET /v1/videos/{id}/content、DELETE /v1/videos/{id}
视频生成(New API 任务风格)https://routerapi.<域名>/v1POST /v1/video/generations、GET /v1/video/generations/{id}

鉴权 ​

所有端点都需要鉴权,Key 在控制台「API Keys」页签发:

  • OpenAI 协议:请求头 Authorization: Bearer <Key>
  • Anthropic 协议:请求头 x-api-key: <Key>(也兼容 Authorization: Bearer <Key>)

请求要点 ​

  • model(必填):控制台「可用模型」列表中的名称——智能路由池名或直调模型名
  • 流式:请求体带 "stream": true,响应为 SSE(data: 行逐块推送,以 data: [DONE] 结束;Anthropic 协议以其事件流格式返回)。OpenAI 协议流末会返回一个 usage 数据块(choices 为空数组),为本次调用的 token 用量;自行解析 SSE 的客户端请跳过该块
  • temperature、max_tokens / max_output_tokens、普通文本消息按对应协议映射;tools、tool_choice 与历史工具结果支持 function tools,详见协议兼容矩阵。同协议通道保留协议字段;跨协议时,默认可降级的附加字段会被移除并记录在调用明细中,无法安全降级的能力会明确报错,严格透传模式的保留规则见协议说明

响应头(路由观测) ​

响应头含义
x-veyra-routing-model本次实际落地执行的模型
x-veyra-routing-type路由形态(智能路由池 / 直调模型)
x-veyra-routing-reason本次选路原因(如权重分配 / 健康切换 / 故障升级)
x-veyra-routing-tier命中的路由档位
x-veyra-routing-score选路评分(4 位小数)
x-veyra-routing-escalated是否因上游故障升级到备用通道(true/false)
x-veyra-cls-type / x-veyra-cls-tier池调用的任务分类结果(任务类型 / 难度档,仅分类器介入时下发)
x-veyra-cls-confidence / x-veyra-cls-mode分类置信度 / 分类模式(同上)

价格表 ​

GET https://routerapi.<域名>/api/pricing —— 全部可用模型的对外价格表,无需鉴权(New API 兼容格式,可直接对接 New API 系的客户端与价格页)。

json
{
  "success": true,
  "data": [
    {
      "model_name": "auto-chat",
      "description": "",
      "quota_type": 0,
      "model_ratio": 5.0,
      "model_price": 0,
      "owner_by": "",
      "completion_ratio": 2.0,
      "enable_groups": ["default"],
      "supported_endpoint_types": ["openai", "openai-response", "anthropic"],
      "price_mode": "explicit",
      "cache_read_price": 1.0,
      "time_pricing": {
        "timezone": "Asia/Shanghai",
        "billing_time_mode": "completion",
        "windows": [{ "id": "night", "days": [0], "start": "00:00", "end": "06:00" }],
        "cn_holidays": false,
        "off_peak": { "input_price": 2.0, "output_price": 20.0, "cache_read_price": 0.0 }
      }
    }
  ],
  "group_ratio": { "default": 1.0 },
  "usable_group": { "default": "default" },
  "pricing_version": "9f2c…"
}

字段口径:

  • 价格换算:model_ratio × 2 = 输入价(人民币元 / 1M tokens);输出价 = 输入价 × completion_ratio。价格与控制台同源同币(人民币),不经汇率换算。注意:New API 上游默认约定 model_ratio 单位为 USD,本端点为人民币——从其它 New API 系站点迁移的客户端如有按 USD 解读 ratio 的逻辑需相应调整
  • quota_type:恒为 0(按 tokens 计费)
  • price_mode:恒为 explicit。没有固定单价的模型不出现在价格表中(其费用以控制台「用量与账单」页为准)
  • cache_read_price:缓存读取售价(人民币元 / 1M tokens);未配置为 null,显式 0 表示免费
  • time_pricing:未配置分时售价为 null;配置后包含时区、计价时刻、每周窗口、法定节假日开关与闲时三价。off_peak 中的数值已展开基础价继承,因此每一项都是当前实际闲时售价或未配置缓存价时的 null
  • pricing_version:价格内容指纹,基础价、缓存读取价、时间段或闲时价变化时都会变化(客户端可据此决定是否刷新缓存)

公开模型目录 ​

官网模型广场通过同站只读接口提供公共目录,无需鉴权:

端点用途
GET /api/public/model-plaza模型列表与分页;支持 lang、q、vendor、modality、capability、context_min、available_only、sort、page、page_size
GET /api/public/model-plaza/placements?slot=landing_featured首页精选位;slot 也支持 plaza_hero
GET /api/public/model-plaza/{slug}单个模型的公开详情与接入地址
GET /api/public/model-plaza/vendor-logos/{vendor_key}/{filename}厂商 logo 图片;内容寻址,支持长期缓存与 ETag

列表默认只返回当前可调用的模型;传 available_only=false 可同时包含暂不可用的展示项。排序支持 recommended、newest、price_asc、context_desc,语言支持 zh-CN 与 en-US。

列表项包含 public_vendor(当前语言的厂商名称)、vendor_key 与 vendor_logo_url(未配置 logo 时为空)。vendor 过滤参数同时接受厂商 key 和厂商名称,便于兼容旧分享链接。筛选面板可使用 facets.vendor_options({key, name, logo_url} 数组),facets.vendors 保留当前语言的名称字符串列表。厂商的中英文名称与 logo 由运营在控制台「模型标签 → 模型厂商」页统一维护。

能力标签同样是稳定 key 数组:列表项 capabilities 是标签 key(可直接用于 capability 过滤和分享链接),capability_labels 是当前语言的 {key: 名称} 映射;facets.capability_options({key, name} 数组)供筛选面板展示运营维护的名称,facets.capabilities 保留 key 字符串列表以兼容旧客户端。标签名称与排序由运营在「模型标签 → 能力标签」页维护。capability 参数最大 64 个字符。

公开详情的 content 只包含 display_name、summary、description;核心亮点与应用场景字段已下线,不再输出。

响应中的 revision 是完整公开目录版本,generated_at 是该版本的生成时间;接口带 ETag 与短缓存头,客户端应复用这些字段,不需要轮询推断内容是否变化。价格字段与 /api/pricing 同样使用人民币 /1M tokens,并包含已展开的缓存价和分时价。pricing_status 取值:fixed(有固定公开价)、login(需登录查看)、hidden(运营统一隐藏价格)、unpriced(未配置售价)、not_applicable(当前部署不展示售价)。价格展示是模型广场的全局设置(自动展示固定售价 / 登录后查看 / 隐藏价格),作用于全部公开模型;pricing=null 不代表模型免费。

该目录只包含默认专区中运营方已开启展示的模型及公开字段,不提供供应商、成本、内部上游、组织价格或非默认专区数据。私有化部署不返回售价。此接口只用于模型目录展示,模型推理仍使用上文的 OpenAI / Anthropic 数据面端点。

错误码 ​

状态码含义处理建议
400 / 422请求体不合法(参数错误、超上下文等)按报错信息修正请求
401Key 缺失/无效/已删除检查鉴权头;到控制台确认 Key 状态
403Key 无权调用该模型(key_model_access_denied)确认请求的 model 在该 Key 的「可用模型」范围内;若该模型在控制台不可见,说明组织未被授权此模型范围,请联系平台
429超出 Key 限额(总额或日/周/月周期)周期限额响应带 Retry-After 头(秒),到窗口重置点自动恢复;总额限额用完即止,到控制台调高额度或清空已用量
5xx上游供应商故障(路由层已自动重试/切换)稍后重试;持续失败请联系官方支持

错误响应体为 JSON,含 error.message / error.type(Anthropic 协议)或 error.message / error.code(OpenAI 协议)字段。

限额的口径特性:

  • 按实际花费计量:限额消耗 = 响应落地后的实际计费成本(¥)——单次大调用本身可能超过剩余额度(放行后跑到底),其花费计入后后续调用将被拒绝
  • 失败不占额:调用失败(上游故障/参数错误)不产生成本、不计入限额用量
  • 周期边界:日/周/月为自然边界(东八区;周一起算),到点自动重置;周期之间独立计数(如「每日 ¥10 + 每月 ¥200」= 每天最多 10 且整月最多 200,任一先到即拒)
  • 在途超放:限额在调用前检查、响应后记账——同一时刻在途的调用可能使实际用量略超限额(与业界主流网关预算语义一致)

计费口径 ​

每次调用按实际 tokens 计量:未配置缓存读取价时 = 输入 tokens × 输入价 + 输出 tokens × 输出价(¥/1M);配置缓存读取价且上游返回有效拆分时 = 未缓存输入 × 输入价 + 缓存读取 × 缓存读取价 + 输出 tokens × 输出价。配置分时售价的模型先按本次调用命中价档选取三价。明细见控制台「调用记录」,汇总见「用量与账单」。

维驭智能模型网关