---
title: 价格与计费
description: 1折AI 怎么计价：官方美元标价乘一个折扣，缓存读写同折扣；附一次调用的完整算例。
---

一句话：**所有模型按 Anthropic 官方美元标价计价，统一乘一个折扣，当前是 1.9 折。** 输入、输出、缓存读、缓存写都用这同一个折扣。实时折扣和每个模型的单价在[价格页](https://1zheai.com/pricing/)。

## 一次调用扣多少

每次调用按回包 `usage` 里的四类 token 分别计费：

```text
费用 = ( 输入 token      × 输入单价
       + 缓存写入 token  × 缓存写单价
       + 缓存读取 token  × 缓存读单价
       + 输出 token      × 输出单价 ) ÷ 1,000,000

每一项单价 = 官方美元单价（每百万 token）× 折扣
```

四类 token 对应回包里的字段：

| 计费项 | `usage` 字段（Anthropic 原生） | 官方单价相对输入价 |
|---|---|---|
| 输入 | `input_tokens` | 1× |
| 缓存写入 | `cache_creation_input_tokens` | 1.25×（5 分钟缓存），2×（1 小时缓存，`"ttl": "1h"`） |
| 缓存读取 | `cache_read_input_tokens` | 0.1×（Opus 5.5、Sonnet 5.5 为 0.05×，Fable 5.1 为 0.025×） |
| 输出 | `output_tokens` | 按模型，见价格页 |

缓存的官方倍数来自 [Anthropic Prompt Caching 文档](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)。我们不改这些比例，只在最后乘折扣。

1 小时缓存的写入 token 单独记在 `cache_creation.ephemeral_1h_input_tokens`，按输入价的 2 倍再乘折扣计费，2026-10-15 已按调用日志复算核对。价格页列出的缓存写入单价是 5 分钟缓存的。

## 算例

下面的单价是为了演示随手取的整数，不对应具体模型；真实单价看价格页。

假设某模型官方单价（每百万 token）：输入 $3，输出 $15，缓存写 $3.75，缓存读 $0.30。一次 Claude Code 请求的 `usage` 是：

```json
{
  "input_tokens": 2000,
  "cache_creation_input_tokens": 1500,
  "cache_read_input_tokens": 30000,
  "output_tokens": 800
}
```

按官方价：

| 项 | token | 官方单价 | 官方费用 |
|---|---|---|---|
| 输入 | 2,000 | $3 | $0.006 |
| 缓存写入 | 1,500 | $3.75 | $0.005625 |
| 缓存读取 | 30,000 | $0.30 | $0.009 |
| 输出 | 800 | $15 | $0.012 |
| 合计 | | | $0.032625 |

在 1折AI 实际扣费 = $0.032625 × 1.9 折。

同一请求如果缓存没命中，那 30,000 token 会按输入价算，单这一项就是 $0.09，整笔变成原来的三倍多。所以对 Claude Code 这类反复发送长上下文的工具，**缓存命中率对账单的影响比单价更大**，开法和检查方法见 [Prompt Caching](/docs/prompt-caching/)。

## 系统提示的计费

Claude API 来自官方订阅账号池。通过 Claude Code 调用不附带额外内容。其他客户端（SDK、curl 和第三方工具）的每次请求会附带一段系统提示，按输入 token 计费：Sonnet 4.6 约 350 token，5.x 系列约 500 token。这部分和你自己发送的内容一起算在回包 `usage` 的 `input_tokens` 里。

2026-10-15 用 curl 发一句「Reply with just: ok」的实测：

| 模型 | `count_tokens` 计数 | 实际 `input_tokens` | 附带的系统提示（约） |
|---|---|---|---|
| Sonnet 4.6 | 19 | 370 | 350 token |
| 5.x 系列 | 18–19 | 510–530 | 约 500 token |

- `count_tokens` 只数你发送的内容，不含这段系统提示。用 SDK、curl 或第三方工具预估费用时，把上表的数加上；Claude Code 不需要。
- 调用日志里记录的输入 token 已经包含这部分，按上面的公式复算，结果和日志里的扣费一致。
- 请求越短，这部分占比越高；长上下文请求里占比很小。

## 余额与币种

- 扣费按上面的美元算法计算，从你的账户余额里扣。余额以美元计。
- 人民币充值按实时汇率换算成美元余额。

## 为什么只有一个数

所有模型、输入输出和缓存读写都只乘一个折扣，拿它直接和官方价比。每一笔扣费在[调用日志](/docs/usage-logs/)里都能按上面的公式复算。

## 常见问题

<AccordionGroup>
<Accordion title="同样的活，为什么这次比上次贵？">

最常见的原因是缓存没命中：两次请求之间隔得太久（默认缓存 5 分钟）、上下文前半段变了、或者换了模型。打开调用日志对比两笔的缓存读取 token 就能看出来。

</Accordion>
<Accordion title="缓存也打折吗？">

打折，和输入输出是同一个折扣。缓存写入、缓存读取的单价都是官方单价乘 1.9 折。

</Accordion>
<Accordion title="为什么 input_tokens 比我发的内容多？">

通过 Claude Code 调用不附带额外内容。其他客户端（SDK、curl 和第三方工具）的每次请求会附带一段系统提示，按输入 token 计费：Sonnet 4.6 约 350 token，5.x 系列约 500 token。实测数据见[系统提示的计费](#系统提示的计费)。

</Accordion>
<Accordion title="怎么核对一笔扣费？">

在调用日志里找到这笔，拿四类 token 数和价格页的单价代进上面的公式，结果应该和日志里的扣费一致。对不上的话把这条日志的时间和模型发给我们。

</Accordion>
</AccordionGroup>
