文章

NewAPI渠道定价与管理令牌配置

渠道模型列表须包含请求里的产品名,定价也要按该名称单独配置,否则会无可用渠道或报价格未配置。系统访问令牌用于开户改额度,与用户对话 sk 不是同一类凭证。

NewAPI渠道定价与管理令牌配置

NewAPI渠道定价与管理令牌配置

New API 上线后,调用能否打通取决于渠道是否承接产品名,扣分是否正确取决于是否为请求中的 model 名单独定价。业务后端若要自动开户、代建用户 sk,还需要控制台里的系统访问令牌,它与终端对话用的 sk-xxx 不是同一类凭证。本文按控制台操作说明这三件事,域名与价格均为示意。

参考与延伸阅读:


目录


1. 职责拆分

以产品别名 app-chat 为例(须与客户端 / 业务后端配置的字符串完全一致):

层级配置什么示例
业务后端客户端请求哪个产品名默认模型 app-chat
New API 渠道产品名由哪条渠道承接、映射到哪个上游app-chat → MiniMax-M2.7
New API 模型定价产品名如何扣积分输入 $0.001 / 补全 $0.004(每百万 tokens,示意)
模型广场 / 模型管理多半只影响展示不要指望在那一页加产品名来修 503

常见失败对应缺的配置:

错误缺的是
No available channel for model app-chat under group default渠道:模型列表、映射、分组、启用、余额或权重
模型 app-chat 的价格尚未由管理员配置 / model_price_error定价:必须有名为 app-chat 的计费项

额度展示类型改成 CNY、填写汇率,只影响控制台可读性,不改变内部 quota 计费。不要用「自定义货币 + 极大汇率」当主配置。


2. 渠道承接产品名

路径:控制台 → 渠道管理 → 添加 / 编辑渠道。

字段作用常见误区
名称列表备注名称写成 app-chat 不等于能承接该请求
模型本渠道可响应的请求 model 名列表只填 MiniMax-M2.7 时,客户端请求 app-chat 会 503
模型映射请求名 → 上游真实名必须配置,否则上游收到错误模型名
分组须包含用户所在组开户为 default 则渠道须含 default
状态已启用禁用则不可用
已用 / 剩余渠道自身额度剩余为 0 时部分版本会判不可用
权重同优先级分流建议 ≥ 1;0 可能分不到流量

推荐填写(MiniMax 示例,可换成其他上游):

项填写
类型与上游一致
名称任意备注
密钥上游 API Key
API 地址官方类型可留空;自建则填 Base URL
模型至少包含 app-chat,并保留上游名便于映射
模型映射{"app-chat": "MiniMax-M2.7"}
分组default
状态已启用
权重1

双厂商随机:再建一条渠道(如 DeepSeek),分组同样含 default,模型列表同样含 app-chat,映射到该上游真实名,权重按流量比例。客户端仍只请求 app-chat。

若另一档产品用 app-video,模型列表与定价都要单独有这一行;未配渠道或未定价时,该档助手会分别报 channel / price 错误。

创建用户令牌时可设模型白名单仅允许产品别名,防止构造 upstream 名称绕过档位。


3. 按请求名定价

路径:设置 → 运营设置 / 模型定价(按量计费)。扣费按请求中的 model 名查价。只给 MiniMax-M2.7 配了价、客户端却请求 app-chat,会报 model_price_error。

为产品名新增一行(数字为示意,需按自身积分方案调整):

项值
模型名称app-chat(与客户端完全一致)
计费方式按量计费
输入价格$0.001 / 百万 tokens
补全价格开启,$0.004
缓存读写不熟悉可先关闭

一种对齐「加权 = 输入 + 输出×4」的口径:约 100 万输入 Token 扣 500 积分(quota),补全价为输入的 4 倍。

厂商官网人民币价是成本,本页是对用户的积分扣费,单位和量级都不要照抄。例如某上游公开输入 ¥2.1 / 百万、输出 ¥8.4 / 百万,不能把 2.1 / 8.4 填进 USD 价格框。上游名那一行定价可保留;客户端走产品名时以 app-chat 行为准。

app-video 同样新增一行;初期可与标准档相同,再按成本单独调。换上游型号通常只改渠道映射与密钥,产品名与定价行可保持不变。


4. 系统访问令牌

业务后端调用 New API 管理类 API(开户、代建 sk、调额度、发兑换码)时,使用控制台生成的系统访问令牌,不是用户对话 sk,也不是上游厂商 Key。

用途说明
自动开户为终端用户创建 New API 用户
签发用户令牌代建供客户端调用的 sk-xxx
兑换码 / 改额度管理接口调整 quota

控制台路径(文案因版本而异):个人中心 → 个人设置 → 账户管理 / 安全设置 → 系统访问令牌。生成后立即复制(可能只显示一次)。再在用户管理中确认该管理员的用户 ID(首个 Root 一般为 1),请求头须同时带令牌与该 ID:

1
2
3
Authorization: Bearer <系统访问令牌>
New-Api-User: <管理员用户 ID>
Content-Type: application/json

New-Api-User 必须与生成令牌时登录的账号一致,否则部分接口 401/403。

泄露后应在控制台作废旧令牌、重新生成,更新业务后端配置并重启。不要把用户对话 sk 填进管理令牌配置。

管理接口示意(以官方文档与当前版本为准):

场景接口示意
创建用户POST /api/user/
搜索用户GET /api/user/search
调整额度管理接口(版本间路径可能变化)
代建用户 skPOST /api/token/
创建兑换码POST /api/redemption/

5. 业务后端环境变量

下列名称仅为对接时的常见划分,按自身服务配置即可。NEW_API_BASE_URL 不要带 /v1;客户端对话路径自行拼 /v1。

变量说明
NEW_API_BASE_URL网关根地址,如 https://llm.example.com
NEW_API_ADMIN_TOKEN系统访问令牌
NEW_API_ADMIN_USER_ID令牌所属管理员 ID
NEW_API_INITIAL_QUOTA新用户初始积分(示意 500000)
NEW_API_DEFAULT_GROUP新用户分组,须与渠道分组一致,常见 default
NEW_API_AUTO_PROVISION注册 / 登录时是否自动开户
NEW_API_TOKEN_ENC_KEY加密存储用户 sk 的密钥;与管理令牌无关
NEW_API_BASE_URL=https://llm.example.com
NEW_API_ADMIN_TOKEN=
NEW_API_ADMIN_USER_ID=1
NEW_API_INITIAL_QUOTA=500000
NEW_API_DEFAULT_GROUP=default
NEW_API_AUTO_PROVISION=true

含真实令牌的文件不要提交到 Git。改配置后重启业务 API。本地 Docker(http://127.0.0.1:3000)与现网令牌不要混用。

管理令牌留空时:自动开户会跳过,客户端可能拿不到网关令牌;仍可在运营后台手动录入用户 sk,只是无法自动代建 New API 用户。

平台模式也可把网关 URL 写在客户端、不信任下发的 base_url;此时业务后端与客户端两处地址须保持一致。

用户 sk 仅该用户积分被盗用;系统访问令牌可代建用户、改额度,泄露影响更高。


6. 验证与排错

探测管理令牌(地址与 ID 换成实际值):

1
2
3
curl -s "https://llm.example.com/api/user/search?keyword=lm_&p=1&page_size=5" \
  -H "Authorization: Bearer 系统访问令牌" \
  -H "New-Api-User: 1"

返回 JSON(items 可为空)表示令牌与用户 ID 匹配。401/403 则令牌无效或 ID 不一致。

对话验收:用测试用户 sk 调用 Chat Completions,model 填 app-chat,不要填渠道备注名。日志中应有额度消耗。再从桌面端登录后发一条消息,积分余额应下降。

现象处理
无可用渠道 / 503查模型列表是否含产品名、映射、分组 default、启用、余额、权重
model_price_error为产品名单独定价,不要只给上游名配价
渠道名称已是产品名仍 503名称无效;产品名必须写入模型列表并做映射
模型广场已绑定仍 503广场仅展示;回渠道管理改
一档助手成功、另一档失败检查第二产品名的渠道与定价是否齐全
登录后无网关令牌查管理令牌是否配置、自动开户是否开启、服务日志

7. 小结

要点结论
路由渠道模型列表含产品名,并用映射转到上游
扣费定价行名称 = 请求 body 里的 model
展示页模型广场一般不决定能不能调通
管理令牌只放业务后端,用于开户与改额度
用户 sk只用于 /v1 对话,与管理令牌分开保管
本文由作者按照 CC BY 4.0 进行授权