Skip to content

价格更新

Capkii 的模型价格统一存放在价格表中,由管理员在 运营 --> 模型价格 页面维护。系统首次启动时会用内置的默认价格表初始化,之后可选择手动维护,或从价格服务批量同步。

手动维护

运营 --> 模型价格 页面可以直接新增、编辑、批量修改和删除模型价格。每条价格包含以下字段:

  • 模型名称:需要与请求中的 model 一致,支持以 * 结尾的前缀匹配(例如 gpt-4o*)。
  • 计费类型tokens 按 token 计费,times 按次计费。
  • 模型归属:即 channel_type,决定模型在「可用模型」页面归属到哪个供应商。归属列表在 运营 --> 模型归属 维护,价格里的归属 ID 必须与归属列表中的 ID 一致,否则页面无法按供应商正确分组。
  • 输入 / 输出倍率:相对基础额度的倍率。按次计费时两者填相同值。
  • 锁定:勾选后,批量同步的「覆盖」模式不会修改该条价格,适合用于保护人工核定过的模型。
  • 额外倍率:缓存读写、音频等特殊 token 的倍率。
  • 长上下文分档:输入 token 超过阈值后,整次请求套用另一组输入/输出倍率。

从价格服务批量同步

点击页面上的 更新价格,填入一个返回价格表 JSON 的地址,拉取后会先列出「新增模型」与「价格变化」的对比,确认无误再选择同步方式:

  • 仅新增:只写入系统中不存在的模型,已有价格不动。
  • 覆盖:删除并重建全部未锁定的价格,使其与价格表完全一致。
  • 仅更新:只更新系统中已存在的模型,不新增。

建议

生产环境建议先用「仅新增」,变更部分逐条人工核对后再改动,避免一次覆盖打乱已经调好的倍率。

同一个弹窗里还提供了直接从模型目录拉取直连渠道(OpenAI / Anthropic / Gemini 等)真实价格并换算为倍率的按钮,拉取结果同样进入上面的对比预览,不会覆盖已锁定的价格。

价格表 JSON 格式

价格服务需要返回一个价格对象数组,或者一个带 data 字段的对象(两种都能解析):

json
[
  {
    "model": "gpt-4o",
    "type": "tokens",
    "channel_type": 1,
    "input": 1.25,
    "output": 5,
    "locked": false,
    "extra_ratios": {
      "cached_read": 0.1,
      "cached_write": 1.25
    },
    "long_context": {
      "threshold": 272000,
      "input_ratio": 2,
      "output_ratio": 1.5
    }
  },
  {
    "model": "mj_imagine",
    "type": "times",
    "channel_type": 34,
    "input": 50,
    "output": 50
  }
]

data 包装时:

json
{
  "data": [{ "model": "gpt-4o", "type": "tokens", "channel_type": 1, "input": 1.25, "output": 5 }]
}

字段说明:

字段类型说明
modelstring模型名称,必填,可用 * 结尾做前缀匹配
typestring计费类型,tokenstimes,必填
channel_typeint模型归属 ID,需与 运营 --> 模型归属 中的 ID 对应
inputfloat输入倍率,按次计费时即单次倍率
outputfloat输出倍率,按次计费时与 input 填相同值
lockedbool是否锁定,锁定的价格不会被覆盖模式修改
extra_ratiosobject额外倍率,键为倍率名(如 cached_readcached_write),值为倍率
long_contextobject长上下文分档,含 thresholdinput_ratiooutput_ratiothreshold 为 0 视为未启用

指向自建价格服务

如需使用自行维护的价格表,可通过环境变量 UPDATE_PRICE_SERVICE 指定默认地址,价格页的更新弹窗会自动填入该地址:

bash
UPDATE_PRICE_SERVICE=https://prices.your-domain.com/prices.json

配合下面几个环境变量还可以让程序在启动后周期性自动同步:

  • AUTO_PRICE_UPDATES:是否开启自动更新。
  • AUTO_PRICE_UPDATES_MODE:自动更新模式,add / overwrite / update / system,默认 system(只用程序内置价格表初始化,不访问价格服务)。
  • AUTO_PRICE_UPDATES_INTERVAL:自动更新周期,单位分钟。

各变量的完整说明见环境变量

注意

自动更新会在无人确认的情况下改写价格表。若倍率为人工核定,建议保持 AUTO_PRICE_UPDATES_MODE=system,并对重要模型勾选「锁定」,仅在价格页手动拉取、逐条核对后再同步。

Capkii 产品文档