> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ruapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 长上下文 API：要花多少钱，怎么省

> 15 万、30 万 token 的请求在 DeepSeek、GPT、Claude 上各要多少钱，哪些模型过了 10 万、20 万、27.2 万 token 会涨价，以及六个省钱办法：缓存、开头不变、压缩历史、只发需要的部分、选不分档的模型、问题一次问完。

**一句话总结。** 模型在两次请求之间什么都不记得，所以每次请求都要把全部上下文再发一遍：系统提示、文档、整段对话历史。带着 15 万 token 的上下文发 50 次请求，同样的 15 万 token 你就要付 50 次钱。能把账单降下来的有三件事：缓存（Claude、GPT、DeepSeek 的重复上下文便宜 10 倍以上）、更小的上下文、长请求不涨价的模型。下面是具体算账和做法。

所有金额按 [RuAPI 价格页](https://www.ruapi.ai/pricing?utm_source=docs\&utm_campaign=zh-long-context-costs) 2026 年 11 月 7 日的标准价计算，你的账户可能更便宜。本文写给自己调 API 的人：机器人、长历史聊天、文档分析、智能体。Claude Code 和 Cline 另有一篇 —— [Claude Code 和 Cline 省钱](https://docs.ruapi.ai/zh/claude-code-cline-costs.md)。

## 长上下文为什么贵

一次请求的费用 ≈（输入 token × 输入价）+（输出 token × 输出价）。回答通常很短，几百到几千 token；输入却每一轮都在变长：新问题和上一轮回答都加进历史，然后全部再发给模型。

例子：一个聊天机器人，系统提示里放了 10 万 token 的文档。用户问 30 个问题，光文档就是 30 × 10 万 = 300 万输入 token，哪怕每个问题只有一行。所以长上下文要省钱，先从输入下手。

## 一次请求多少钱

输入 15 万 token、回答 2 千 token 的一次请求。「有缓存」指其中 14 万 token 和上一次请求相同、从缓存读取，1 万是新的。

| 模型 | 无缓存 | 有缓存 | 50 次无缓存 | 50 次有缓存 |
| - | - | - | - | - |
| `gpt-6-luna` | \$0.019 | \$0.004 | \$0.96 | \$0.20 |
| `deepseek-flash` | \$0.028 | \$0.006 | \$1.40 | \$0.31 |
| `claude-haiku-5-5` | \$0.096 | \$0.022 | \$4.80 | \$1.10 |
| `claude-sonnet-5-5` | \$0.384 | \$0.071 | \$19.20 | \$3.54 |
| `gpt-5.4` | \$0.486 | \$0.108 | \$24.30 | \$5.40 |
| `claude-opus-5-5` | \$0.768 | \$0.142 | \$38.40 | \$7.08 |

Claude 的 1 万新 token 按写入缓存的价格算（普通输入的 1.25 倍），GPT 和 DeepSeek 按普通输入算。`claude-haiku-5-5` 在 15 万 token 时已经超过 10 万的门槛，按高档计价（见下一节）。

两点结论：一是在这个例子里，缓存能把这几个模型的账单降到原来的 1/4～1/5.5；二是长上下文下不同模型的价格能差到 40 倍，这个差距比短测试里看起来更要紧。

## 哪些模型过了门槛会涨价

有些模型是分档计价：整个提示短于门槛时按低档；超过门槛，**整次请求**都按高档算，不是只算超出的部分。缓存里的 token 也计入门槛。价格为每 100 万 token，输入 / 输出：

| 模型 | 门槛 | 门槛以内 | 超过门槛 |
| - | - | - | - |
| `claude-haiku-5-5` | 10 万 | \$0.12 / \$0.60 | \$0.60 / \$3.00（低档的 5 倍） |
| `gemini-3.1-pro-preview` | 20 万 | \$2.40 / \$14.40 | \$4.80 / \$21.60 |
| `grok-4.7` | 20 万 | \$2.40 / \$7.20 | \$4.80 / \$14.40 |
| `qwen3.7-plus` | 25.6 万 | \$0.36 / \$1.43 | \$1.07 / \$4.30（低档的 3 倍） |
| `gpt-6-luna` | 27.2 万 | \$0.12 / \$0.60 | \$0.24 / \$0.90 |
| `gpt-5.4` | 27.2 万 | \$3.00 / \$18.00 | \$6.00 / \$27.00 |

不分长短一个价的：`deepseek-flash`、`deepseek-v4-pro`、`claude-sonnet-5-5`、`claude-opus-5-5`、`glm-5.3`、`kimi-k3.1-pro`、`gemini-3.8-flash`、`gemini-2.5-flash-lite`。

表里只是举例。除了 `gpt-5.4-mini`、`gpt-5.4-nano`（一个价）以外，GPT-5.x 和 GPT-6 模型都有 27.2 万的门槛，`gemini-2.5-pro` 是 20 万；完整名单和两档价格见 [价格页](https://www.ruapi.ai/pricing?utm_source=docs\&utm_campaign=zh-long-context-costs)。

实际效果：上下文从 15 万翻倍到 30 万 token，不走缓存时 `deepseek-flash`、`claude-sonnet-5-5` 的费用大约是原来的 2 倍，`gpt-6-luna`、`gpt-5.4` 却是原来的将近 4 倍：上下文变长了，整次请求还跳到了高档。到 30 万 token 时，`deepseek-flash`（每次 \$0.053）已经比 `gpt-6-luna`（\$0.074）便宜。

> [!TIP]
>
> 如果你的请求长度正好在门槛附近（比如 Haiku 的 9 万到 11 万 token），把历史裁短一点留在门槛以下，或者换不分档的模型。账单能差好几倍。

## 六个省钱办法

### 1. 打开缓存

Claude、GPT、DeepSeek 从缓存读的重复上下文，比普通输入便宜 10 倍以上。GPT 和 DeepSeek 自动缓存。Claude 通过原生 Anthropic 接口，或在 OpenAI 兼容格式里加 `cache_control` 标记来缓存；RuAPI 也能替你加标记。检查缓存是否命中：控制台 → **使用日志** → 记录详情 →「缓存 Tokens」。详见 [提示缓存](https://docs.ruapi.ai/zh/prompt-caching.md)。

### 2. 别改提示的开头

只有请求**从第一个 token 起**和上一次完全一样，缓存才会命中。开头改了一处，整段长上下文就要按全价重新付。常见原因：

* 系统提示里放了当前日期、时间或随机 ID；
* 工具列表每次请求都不一样（顺序变了、加了或删了工具）；
* 文档每次插入的顺序不同；
* 程序在历史最前面加了一条附注。

规则很简单：不变的放前面（说明、工具、文档），会变的放后面。新消息只往后加，中间什么都不改。

### 3. 压缩旧历史

过了 20 到 30 轮，把前面的对话换成一段简短摘要，最近几条消息原样保留。摘要可以交给便宜的模型来写，比如 `deepseek-flash`。别太频繁，几十轮做一次就行，不要每轮都做：压缩会改变提示开头，缓存要重新写一次。

### 4. 只发需要的，不发全部

回答只需要大文档或知识库里的一节时，不要整份发过去。把文本切成小段，按语义找出相关的几段（同一个 key 就能用 `text-embedding-3-small`、`text-embedding-3-large`），只发这几段。5 千 token 的请求比 30 万 token 便宜几十倍，模型也不容易被无关内容带偏。

### 5. 按上下文长度选模型

* **长对话、角色扮演、客服、写草稿**：`deepseek-flash`，多长都是一个价，上下文最多 100 万 token。
* **单价最低、任务简单**：`gemini-2.5-flash-lite`，多长都是一个价，上下文最多 100 万 token。
* **27.2 万 token 以内、要用 GPT**：`gpt-6-luna`，我们这里最便宜的 GPT。
* **提示短、必须用 Claude**：`claude-haiku-5-5`，提示保持在 10 万 token 以内。
* **长文档精细分析、要求准确**：`claude-sonnet-5-5` 加缓存，长请求不涨价，缓存能省掉大头。

真实负载下的质量和价格对比见 [DeepSeek 还是 Claude](https://docs.ruapi.ai/zh/deepseek-vs-claude.md)。

### 6. 问题一口气问完

对同一份长文档有好几个问题时，连着发，中间别停：Claude 的缓存默认在最后一次请求后保留 5 分钟，停久了长上下文又要按全价付一次。问题事先就知道的话，可以一次请求全问，让模型列表作答，长文档只发一次。

## 常见问题

> [accordion] 我只问了一个词，为什么扣得像一大段文字？
>
> 跟着你这个词一起发给模型的，还有整段对话历史和系统提示，模型不会在请求之间保存它们。**使用日志** 里能看到输入了多少 token。历史越长，后面每个问题越贵。

> [accordion] 缓存里的 token 算不算进 10 万 / 20 万 / 27.2 万的门槛？
>
> 算。门槛按整个提示计算：普通 token 和缓存读取的 token 都算。提示超过门槛，整次请求（包括缓存部分）都按高档计费。

> [accordion] 50 万 token 的文档用哪个模型最便宜？
>
> 按单价算是 `gemini-2.5-flash-lite`：上下文最多 100 万 token，多长都是一个价。要更强一点的模型，用 `deepseek-flash`，同样 100 万 token、一个价。同一份文档有几个问题，就连着问，让重复的上下文从缓存读。

> [accordion] 压缩历史和靠缓存，哪个更好？
>
> 两个都要。缓存让重复上下文变便宜，但每一轮还是要为它付钱，而且上下文一长就容易越过分档门槛。每几十轮压缩一次，能让上下文本身变小。只是别每轮都压缩，不然缓存永远命中不了。

> [accordion] 怎么看出缓存没生效？
>
> 打开 **使用日志** → 记录详情。重复请求时「缓存 Tokens」一栏是空的或很小，说明提示开头每次都在变（见办法 2），或者两次请求间隔超过 5 分钟（Claude 默认）。

## 继续阅读

> [card] [提示缓存](https://docs.ruapi.ai/zh/prompt-caching.md)
>
> Claude、GPT、DeepSeek 的缓存怎么工作，怎么检查命中。

> [card] [Claude Code 和 Cline 省钱](https://docs.ruapi.ai/zh/claude-code-cline-costs.md)
>
> 编程智能体的同类做法：缓存、/compact、选模型。

> [card] [DeepSeek 还是 Claude](https://docs.ruapi.ai/zh/deepseek-vs-claude.md)
>
> 同一天的工作量，按不同模型的价格算。

> [card] [价格](https://www.ruapi.ai/pricing?utm_source=docs\&utm_campaign=zh-long-context-costs)
>
> 所有模型、分档和缓存价格。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.