Appearance
模型定价与计费说明
应天AI通过 模型广场 展示当前可用模型及其价格。模型价格、支持能力和计费方式可能随平台配置或上游服务变化,请以模型广场页面显示的实时信息为准。
本文主要解释模型广场中常见的价格字段,以及基于 API 的接口调用如何计算消耗。
先了解两个概念
模型广场中的价格通常表示模型供应方的基础单价;应天AI平台可能再结合模型倍率、用户分组倍率、Token 配额和其他计费规则计算最终扣除额度。
因此:
模型广场怎么看
打开模型广场,选择要使用的模型,重点关注以下信息:
| 信息 | 说明 |
|---|---|
| 模型名称 | 调用 API 时填写的 model 值,必须保持完全一致 |
| 输入价格 | 模型处理输入 Token 的基础价格 |
| 输出价格 | 模型生成输出 Token 的基础价格 |
| 缓存输入价格 | 读取已缓存输入内容时的价格 |
| 缓存写入价格 | 创建或写入缓存内容时的价格 |
| 计费方式 | 按 Token、按次或其他平台支持的方式计费 |
| 支持能力 | 文本、图片、音频、视频或其他能力 |
| 价格单位 | 本页价格统一按 1M tokens(1,000,000 tokens)展示 |
模型名称不要凭印象填写。请直接复制模型广场中的准确名称,避免大小写、符号或空格不一致导致模型不存在。
什么是输入
输入(Input)是你发送给模型的内容,通常包括:
- 用户的问题和提示词
- 历史对话消息
- 系统提示词
- 工具定义和函数参数
- 发送给模型的图片、音频或其他多模态内容
输入 Token 越多,通常消耗越高。多轮对话中,历史消息可能会随每次请求再次作为输入发送,因此上下文越长,输入消耗可能越大。
输入价格怎么计算
按量计费时,可以用下面的方式理解输入部分:
text
输入费用 = 输入 Token 数量 ÷ 计价单位 × 输入单价实际平台扣费还可能叠加模型倍率、分组倍率或其他计费规则。
什么是输出
输出(Output,也常称 Completion)是模型返回给你的内容,通常包括:
- 模型生成的回答
- 代码和文本内容
- 工具调用结果或结构化输出
- 思考模型产生的可计费输出 Token(以平台规则为准)
输出越长,通常消耗越高。要求模型生成完整代码、长文档或详细分析时,输出 Token 可能明显增加。
输出价格怎么计算
按量计费时,可以用下面的方式理解输出部分:
text
输出费用 = 输出 Token 数量 ÷ 计价单位 × 输出单价很多模型的输出单价高于输入单价,所以控制回答长度、限制最大输出 Token 数量,有助于控制消耗。
什么是倍率
倍率(Ratio)是 API 用于调整基础价格的乘数因子。它不是 Token 数量,也不是 API Key,而是平台在基础价格上进行计费换算的参数。
可以简单理解为:
text
最终费用 ≈ 基础费用 × 模型倍率 × 分组倍率 × 其他倍率其中:
- 模型倍率:用于区分不同模型的计费成本
- 分组倍率:根据用户或用户组的配置调整价格
- 其他倍率:可能用于时长、分辨率、视频输入等特殊能力
倍率为 1 表示按基础价格计算;倍率大于 1 表示在基础价格上增加;倍率小于 1 表示折扣或优惠。具体倍率由平台配置决定,用户应以控制台实际扣费结果为准。
注意:倍率不是“模型价格”。模型价格是基础单价,倍率是对基础单价进行换算的参数。
什么是缓存读取
缓存读取(Cache Read)指请求中的一部分输入内容已经被模型服务缓存,本次请求直接复用这部分缓存内容。
常见适用场景包括:
- 多轮对话中反复发送相同的系统提示词
- 长文档或固定项目上下文被重复使用
- 多次请求使用相同的前缀内容
命中缓存后,这部分 Token 通常按照缓存读取价格计算。缓存读取价格往往低于普通输入价格,但是否命中缓存、缓存有效期和具体计费规则由模型供应方决定。
text
缓存读取费用 = 缓存读取 Token 数量 ÷ 计价单位 × 缓存读取单价缓存读取不是浏览器缓存,也不是应天AI网页缓存,而是模型服务对输入内容的计费分类。
什么是缓存写入
缓存写入(Cache Write,也称 Cache Creation)指模型服务首次保存一段可复用的输入内容,以便后续请求读取。
写入缓存通常可能产生单独费用,原因是模型服务需要创建和保存缓存内容:
text
缓存写入费用 = 缓存写入 Token 数量 ÷ 计价单位 × 缓存写入单价缓存写入价格可能高于缓存读取价格。首次发送固定长上下文时,可能发生缓存写入;后续复用相同上下文时,可能变成缓存读取。具体行为和缓存有效期以模型供应方规则为准。
什么是按量付费
按量付费(Pay-as-you-go)是根据实际使用量计费。对于文本模型,使用量通常以输入 Token、输出 Token、缓存 Token 等计算;图片、音频、视频模型可能还会按图片数量、音频时长、视频时长或分辨率计算。
按量付费的特点:
- 使用多少,通常按多少计算
- 输入和输出可能有不同单价
- 长上下文和长输出会增加消耗
- 缓存命中可能降低部分输入成本
- 最终扣费需要结合模型价格、倍率和用户配置判断
什么是按次付费
按次付费(Pay-per-call)是每次请求按照固定价格或固定规则扣费,而不是单纯根据 Token 数量计算。
适合按次计费的场景可能包括:
- 某些图像生成任务
- 某些视频生成任务
- 批处理或异步任务
- 上游供应方提供固定调用价格的能力
按次计费时,即使每次请求的 Token 数量不同,也可能按照一次调用的固定价格计费。具体是否按次、按量或两者结合,应以模型广场和平台实际配置为准。
什么是动态计费
动态计费是根据请求中的实际参数动态选择价格或倍率,而不是所有请求使用同一个固定价格。
可能影响动态计费的因素包括:
- 输入和输出 Token 数量
- 是否命中缓存
- 图片分辨率
- 音频输入或输出时长
- 视频时长、分辨率和是否包含视频输入
- 模型版本或服务等级
- 请求体中的其他计费参数
例如,同一个视频模型可能因为分辨率不同而使用不同倍率;同一个文本模型可能因为缓存命中而分别产生缓存读取或缓存写入费用。
实际价格与分组价格
当前模型价格单位为 1M tokens,即 1,000,000 个 Token。
基础价格
| 计费项目 | 基础价格(每 1M tokens) |
|---|---|
| 输入 | ¥5.00 |
| 输出 | ¥30.00 |
| 缓存输入(缓存读取) | ¥0.50 |
| 缓存写入 | ¥6.25 |
GPT 稳定分组价格
GPT 稳定分组倍率为 0.23x。分组价格 = 基础价格 × 分组倍率:
| 分组 | 倍率 | 输入 | 输出 | 缓存输入 | 缓存写入 |
|---|---|---|---|---|---|
| GPT 稳定 | 0.23x | ¥1.15 | ¥6.90 | ¥0.115 | ¥1.4375 |
例如,基础输入价格为 ¥5 / 1M,应用 0.23x 分组倍率后:
text
¥5.00 × 0.23 = ¥1.15 / 1M tokens上表中的缓存输入就是缓存读取价格,缓存写入是首次创建或写入缓存内容时的价格。缓存输入和缓存写入属于两个不同的计费项,不能混用。
计费示例:如何计算出 ¥0.007117
下面使用一条 /v1/chat/completions 原生格式请求的计费数据说明计算过程:
| 项目 | 数值 |
|---|---|
| 输入 Token(含缓存读取) | 46,780 |
| 输出 Token | 70 |
| 缓存读取 Token | 45,568 |
| 计费模式 | 按 Token |
| 基础输入价格 | ¥5 / 1M tokens |
| 基础输出价格 | ¥30 / 1M tokens |
| 基础缓存输入价格 | ¥0.50 / 1M tokens |
| GPT 稳定分组倍率 | 0.23x |
| GPT 稳定分组输入价格 | ¥1.15 / 1M tokens |
| GPT 稳定分组输出价格 | ¥6.90 / 1M tokens |
| GPT 稳定分组缓存输入价格 | ¥0.115 / 1M tokens |
| 最终费用 | ¥0.007118 |
第一步:计算未命中缓存的输入 Token
输入 Token 总数中包含缓存读取 Token,因此普通输入 Token 需要扣除缓存部分:
text
普通输入 Token
= 输入 Token总数 - 缓存读取 Token
= 46,780 - 45,568
= 1,212 Token第二步:分别计算三部分基础费用
这里的 1M 表示 1,000,000 个 Token。使用 GPT 稳定分组价格计算:
text
普通输入费用
= 1,212 ÷ 1,000,000 × ¥1.15
= ¥0.0013938
缓存读取费用
= 45,568 ÷ 1,000,000 × ¥0.115
= ¥0.00524032
输出费用
= 70 ÷ 1,000,000 × ¥6.90
= ¥0.000483第三步:相加得到倍率前费用
text
分组价格合计
= ¥0.0013938 + ¥0.00524032 + ¥0.000483
= ¥0.00711712第三步:核对最终费用
使用 GPT 稳定分组价格计算得到:
text
最终费用
= ¥0.00711712
≈ ¥0.007117系统使用更高精度的价格、Token 统计口径或中间结果取整规则。最终应以使用日志中的实际扣费为准。
完整公式可以写成:
text
总费用
= (
普通输入 Token × 普通输入单价
+ 缓存读取 Token × 缓存读取单价
+ 输出 Token × 输出单价
) ÷ 1,000,000 × 分组倍率代入本次数据:
text
总费用
= (
1,212 × 1.15
+ 45,568 × 0.115
+ 70 × 6.90
) ÷ 1,000,000
≈ ¥0.007117为什么不能直接用 46,780 Token 乘 ¥5
46,780 是包含缓存读取部分的输入 Token 总数。缓存读取 Token 应使用缓存读取价格计算,不能再按普通输入价格重复计算:
text
错误理解:46,780 × ¥5
正确理解:1,212 × ¥5 + 45,568 × ¥0.50如果直接把全部输入 Token 按 ¥5 / M 计算,会把缓存读取部分重复按普通输入价格计费,结果会高于实际费用。
本示例的最终金额以日志显示为准。若实际模型的缓存读取价格、Token 统计口径、倍率或精度规则不同,计算结果也会不同。
如何控制模型使用成本
- 先在模型广场比较输入、输出和缓存价格
- 选择与任务复杂度匹配的模型,不要所有任务都使用高价模型
- 缩短不必要的历史对话和重复上下文
- 控制最大输出长度,避免生成无用内容
- 对固定长上下文优先了解模型是否支持缓存
- 为不同应用设置独立 API Token 和合理额度
- 在数据看板观察模型使用情况
- 在使用日志核对请求、Token 和扣费信息
价格和扣费不一致时怎么排查
如果模型广场显示的价格与账户实际消耗不一致,请依次检查:
- 模型名称是否填写正确,是否实际调用了另一个模型。
- 请求是否包含图片、音频、视频或其他多模态内容。
- 是否产生了输出 Token、缓存读取或缓存写入。
- 是否启用了按次计费或动态计费规则。
- 模型倍率和用户分组倍率是否发生变化。
- API Token 是否配置了独立额度或模型限制。
- 在使用日志确认实际请求和计费明细。
如果仍然无法判断,请保留请求时间、模型名称、请求 ID 和日志截图,联系平台管理员进一步核对。不要提交完整 API Key。