API 文档 · 对话模型
对话计费
按输入、输出与缓存 token 计价;冻结上界、结算与流中断的处理。
对话模型按 token 计价,单价为每百万 token、币种 CNY,输入、输出分开定价;命中缓存的输入按缓存读取价, 写入缓存的输入按缓存写入价(没单独定价时按输入价)。
冻结与结算
- 请求开始前冻结上界:输入 token 按请求体字节数保守估算(每张图片另按约 1600 token),全部按输入价与缓存写入价中较高者;输出按
max_tokens(不填时按模型的最大输出)乘输出价。额度不够时返回 402,不会发往上游。 - 请求结束后按上游返回的 usage 结算,向上取整到计价步长;不超过冻结额,差额自动释放。
- 上游没有返回 usage 时:输入按估算值、输出按实际返回的字节数折算结算。
- 没有任何输出就失败的请求不收费;流式输出到一半中断的,按已输出的部分结算。
usage 字段
| 计费项 | OpenAI 格式 | Anthropic 格式 |
|---|---|---|
| 输入 | prompt_tokens − cached_tokens | input_tokens |
| 缓存读取 | prompt_tokens_details.cached_tokens | cache_read_input_tokens |
| 缓存写入 | — | cache_creation_input_tokens |
| 输出 | completion_tokens | output_tokens |
价格
每次请求的 token 与扣费可以在控制台「调用日志」(用途选“对话”)和「费用中心」里按模型查看。
{
"id": "chatcmpl-...",
"object": "chat.completion",
"model": "claude-sonnet-4-5",
"choices": [{ "index": 0, "message": { "role": "assistant", "content": "..." }, "finish_reason": "stop" }],
"usage": {
"prompt_tokens": 2000,
"completion_tokens": 300,
"prompt_tokens_details": { "cached_tokens": 1500 }
}
}