Skip to main content

导出字段说明

通过日志导出功能获取 CSV 文件后,可使用以下字段进行计费核算:
字段含义
提示Token上游返回的原始输入总量(校验用)
输入Token按普通文本输入单价计费的非缓存输入;无缓存、无图片时等于提示Token
缓存命中Token命中缓存的输入 token
缓存写入Token写入缓存的 token(5分钟有效期)
缓存写入1hToken写入缓存的 token(1小时有效期)
输出Token总输出 token 数(含推理)
推理Token模型内部推理消耗的输出 token
输入单价CNY/百万Token
输出单价CNY/百万Token
缓存命中单价CNY/百万Token
缓存写入单价CNY/百万Token
缓存写入1h单价CNY/百万Token
推理单价CNY/百万Token
搜索次数Claude Web Search 调用次数
搜索单价CNY/次(按次计费)
图片输入Token图片模态的输入 token 数
图片输入单价CNY/百万Token(图片输入)
缓存图片Token缓存命中的图片输入 token 数
缓存图片单价CNY/百万Token(缓存图片)

校验关系

普通文本:
提示Token = 输入Token + 缓存命中Token + 缓存写入Token + 缓存写入1hToken

含图片输入:
提示Token = 输入Token + 图片输入Token + 缓存命中Token + 缓存图片Token + 缓存写入Token + 缓存写入1hToken
提示Token用于校验上游输入总量。财务核算统一使用各分项 Token 乘对应单价,不使用提示Token直接计费。

精度说明

公式计算金额与实际计费可能存在 < ¥0.0001 的差异,来源于内部额度单位的向上取整(ceil),属于正常精度损失。

Claude 系列

适用模型:claude-sonnet-4-6claude-opus-4-6claude-haiku-4-5 计费特点: 缓存分为 5分钟 和 1小时 两档,写入缓存比普通输入贵,读取缓存大幅折扣。支持 Web Search 按次附加计费。

上游响应体结构

Claude 原生 Messages API 返回的 usage 结构如下:
{
  "usage": {
    "input_tokens": 465,
    "output_tokens": 572,
    "cache_creation_input_tokens": 46109,
    "cache_read_input_tokens": 11944,
    "cache_creation": {
      "ephemeral_5m_input_tokens": 29762,
      "ephemeral_1h_input_tokens": 16347
    },
    "server_tool_use": {
      "web_search_requests": 1
    }
  }
}
字段对账映射
input_tokens输入Token(非缓存普通输入)
output_tokens输出Token
cache_read_input_tokens缓存命中Token
cache_creation_input_tokens写缓存总量(校验用)
cache_creation.ephemeral_5m_input_tokens缓存写入Token
cache_creation.ephemeral_1h_input_tokens缓存写入1hToken
server_tool_use.web_search_requests搜索次数
如果上游没有返回 cache_creation 分桶,平台会把 cache_creation_input_tokens 作为默认/5分钟写缓存处理。通过 OpenAI 兼容接口返回给客户端时,缓存命中会映射到 usage.prompt_tokens_details.cached_tokens;写缓存分桶以日志 metadata 和导出字段为准。

公式

金额 = 输入Token / 1M × 输入单价
     + 缓存命中Token / 1M × 缓存命中单价
     + 缓存写入Token / 1M × 缓存写入单价
     + 缓存写入1hToken / 1M × 缓存写入1h单价
     + 输出Token / 1M × 输出单价
     + 搜索次数 × 搜索单价
搜索次数和搜索单价为可选导出字段,仅在请求使用了 Claude Web Search 工具时有值。未使用时为空,不影响总金额。

示例

claude-haiku-4-5 一次真实请求为例:
字段
提示Token58,518
输出Token572
输入Token465
缓存命中Token11,944
缓存写入Token29,762
缓存写入1hToken16,347
输入单价¥3.5/M
输出单价¥17.5/M
缓存命中单价¥0.35/M
缓存写入单价¥4.375/M
缓存写入1h单价¥7.0/M
计算:
465 / 1M × 3.5       = ¥0.001628
11,944 / 1M × 0.35   = ¥0.004180
29,762 / 1M × 4.375  = ¥0.130209
16,347 / 1M × 7.0    = ¥0.114429
572 / 1M × 17.5      = ¥0.010010
─────────────────────────────────
合计                   = ¥0.260456

GPT-5 系列

适用模型:gpt-5gpt-5.4gpt-5.4-mini 计费特点: 有推理 token(reasoning),推理单价通常等于输出单价。支持缓存读取。

响应体 usage 结构

Chat Completions 接口常见 usage 结构如下:
{
  "usage": {
    "prompt_tokens": 26672,
    "completion_tokens": 3791,
    "total_tokens": 30463,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 26672,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 2478,
      "text_tokens": 1313,
      "audio_tokens": 0
    }
  }
}
Responses 接口常见 usage 结构如下:
{
  "usage": {
    "input_tokens": 26672,
    "output_tokens": 3791,
    "total_tokens": 30463,
    "input_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 26672
    },
    "output_tokens_details": {
      "reasoning_tokens": 2478
    }
  }
}
Chat Completions 字段Responses 字段对账映射
prompt_tokensinput_tokens提示Token(输入总量,含缓存命中)
completion_tokensoutput_tokens输出Token(含推理)
prompt_tokens_details.cached_tokensinput_tokens_details.cached_tokens缓存命中Token
completion_tokens_details.reasoning_tokensoutput_tokens_details.reasoning_tokens推理Token
cached_tokens 是输入总量里的子项,不是额外 token。财务核算时,输入Token = 提示Token - 缓存命中Token;推理Token 已包含在输出Token中。

公式

金额 = 输入Token / 1M × 输入单价
     + 缓存命中Token / 1M × 缓存命中单价
     + (输出Token - 推理Token) / 1M × 输出单价
     + 推理Token / 1M × 推理单价
当推理单价 = 输出单价时(大多数 GPT 模型),可简化为 输入Token/1M × 输入单价 + 输出Token/1M × 输出单价

示例

gpt-5.4 一次真实请求为例:
字段
提示Token26,672
输出Token3,791
输入Token26,672
缓存命中Token0
推理Token2,478
输入单价¥8.75/M
输出单价¥52.5/M
推理单价¥52.5/M
计算:
26,672 / 1M × 8.75    = ¥0.233380
(3,791 - 2,478) / 1M × 52.5 = ¥0.068933
2,478 / 1M × 52.5     = ¥0.130095
─────────────────────────────────
合计                    = ¥0.432408

GPT-Image 系列

适用模型:gpt-image-2gpt-image-1gpt-image-1-minigpt-image-1.5chatgpt-image-latest 计费特点: 输入按文本/图片分别计价,图片缓存有独立折扣。输出 token 全部为图片 token,直接使用输出单价核算。需勾选图片计费字段进行导出。

上游响应体结构

OpenAI 返回的 usage 结构如下:
{
  "input_tokens": 1041,
  "output_tokens": 1756,
  "total_tokens": 2797,
  "input_tokens_details": {
    "text_tokens": 236,
    "image_tokens": 805,
    "cached_tokens": 500
  },
  "output_tokens_details": null
}
字段含义
input_tokens输入总量(文本 + 图片 + 缓存)
input_tokens_details.text_tokens纯文本输入 token
input_tokens_details.image_tokens图片输入 token
input_tokens_details.cached_tokens缓存命中 token(文本+图片混合,平台按比例拆分)
output_tokens输出 token(全部为图片,无拆分)
output_tokens_details始终为 null,上游不区分输出类型
cached_tokens 是文本和图片缓存的混合值。平台按 cached × image / (text + image) 比例拆分为文本缓存和图片缓存,分别适用不同折扣。纯文本生图时无 image_tokenscached_tokens 字段。

公式

金额 = 输入Token / 1M × 输入单价
     + 图片输入Token / 1M × 图片输入单价
     + 缓存命中Token / 1M × 缓存命中单价
     + 缓存图片Token / 1M × 缓存图片单价
     + 输出Token / 1M × 输出单价
图片计费字段为可选导出列,不在 billing_detail 预设中。需单独勾选 input_image_tokensinput_image_pricecached_image_tokenscached_image_price。非图片模型这些列为空。上游不单独返回”图片输出 token”,输出Token 本身即为图片输出。

示例

gpt-image-2 改图请求为例(图片输入 + 部分缓存命中):
字段
提示Token1,010
输出Token500
输入Token0
图片输入Token10
缓存命中Token10
缓存图片Token990
输入单价$5.00/M
图片输入单价$8.00/M
缓存命中单价$1.25/M
缓存图片单价$2.00/M
输出单价$30.00/M
计算:
0 / 1M × 5.00       = $0.000000
10 / 1M × 8.00      = $0.000080
10 / 1M × 1.25      = $0.000013
990 / 1M × 2.00     = $0.001980
500 / 1M × 30.00    = $0.015000
─────────────────────────────────
合计                  = $0.017073

Gemini 系列

适用模型:gemini-3.5-flashgemini-3-pro-image-preview 计费特点: 支持缓存读取/写入,部分模型有推理 token。图像生成模型有多模态 token 分项。

纯文本/推理模型公式

金额 = 输入Token / 1M × 输入单价
     + 缓存命中Token / 1M × 缓存命中单价
     + 缓存写入Token / 1M × 缓存写入单价
     + (输出Token - 推理Token) / 1M × 输出单价
     + 推理Token / 1M × 推理单价

图像生成模型

图像生成模型(如 gemini-3-pro-image-preview)的输入/输出包含多模态 token,当前导出按总量计费,公式同上。

Gemini 图像 no-image 失败对账

当 Gemini 图像请求被上游封控或未产出图片,但上游返回了 prompt/input token usage 且平台已按 token 结算时,API 错误响应会携带本次 usage,方便与消费日志对齐。 OpenAI 风格图片接口示例:
{
  "error": {
    "message": "no image generated (request id: 20260608235925678097275ZgRxuG4y)",
    "type": "one_hub_error",
    "code": "no_image_generated"
  },
  "usage": {
    "input_tokens": 353,
    "output_tokens": 0,
    "total_tokens": 353,
    "input_tokens_details": {
      "text_tokens": 95,
      "image_tokens": 258
    }
  }
}
对账时可按以下关系核对:
API 响应字段消费日志/导出字段
usage.input_tokensusage.prompt_tokens提示Token / prompt_tokens
usage.input_tokens_details.image_tokens图片输入Token / input_image_tokens
usage.output_tokens输出Token / completion_tokens
无图片输出output_image_tokens=0
只有已结算的 no-image 失败会返回 usage。未扣费失败、本地校验失败、平台额度失败或上游未返回 usage 的普通失败不会返回 usage。

DeepSeek 系列

适用模型:deepseek-v4-prodeepseek-v4-flash 计费特点: 支持缓存读取,缓存命中折扣极大。无写入分桶。

公式

金额 = 输入Token / 1M × 输入单价
     + 缓存命中Token / 1M × 缓存命中单价
     + 输出Token / 1M × 输出单价

通用核算模板

对于任意模型,以下公式均适用(空字段视为 0):
金额 = 输入Token / 1M × 输入单价
     + 图片输入Token / 1M × 图片输入单价
     + 缓存命中Token / 1M × 缓存命中单价
     + 缓存图片Token / 1M × 缓存图片单价
     + 缓存写入Token / 1M × 缓存写入单价
     + 缓存写入1hToken / 1M × 缓存写入1h单价
     + (输出Token - 推理Token) / 1M × 输出单价
     + 推理Token / 1M × 推理单价
     + 搜索次数 × 搜索单价
在 Excel 中可直接使用此公式对每行数据进行验算,空单价列视为 0 即可。图片输入计费字段仅 GPT-Image 系列有值(输出直接用输出单价),搜索字段仅 Claude 使用 Web Search 时有值。