1. DeepSeek-V4-Pro-0813 更新后,Codex 接入到底贵了多少
DeepSeek-V4-Pro-0813 是 DeepSeek 官方 API 文档里deepseek-v4-pro当前对应的版本号,模型名不用改,但参数、价格和 Codex 侧的接入方式都有更新。如果你正在用 Codex CLI、VS Code 里的 Codex 插件,或者准备把 Agent 工作流切到 V4 Pro,这篇就是给你写的:我会把官方参数、V4 Flash 与 V4 Pro 的价格差、Codex 的config.toml骨架、一次可复现的调用验证,以及 Token 成本计算步骤全部走一遍。
需要先说清楚一个边界:截至写稿时,DeepSeek 官方更新日志里并没有一篇独立的 V4 Pro 发布文章,能核实的是官方 API 文档已经更新到 DeepSeek-V4-Pro-0813。所以本文只讨论 API 侧的变化,不延伸成 App、Web 或开源权重同步发布。这个区分很重要,因为很多“更新速览”会把文档更新写成产品发布,实际接入时你会发现模型名没变、调用方式没变,变的只是版本指向和价格表。
对开发者来说,真正影响决策的是三件事:第一,deepseek-v4-pro现在指向哪个版本、上下文和输出上限是多少;第二,V4 Pro 比 V4 Flash 贵多少,贵在输入还是输出;第三,Codex 里怎么配才能稳定调通,并且能算清一次任务大概花多少钱。下面按这个顺序展开。
2. 官方文档确认的参数与价格变化
2.1 模型名不变,版本指向更新
官方 API 文档里,V4 Flash 和 V4 Pro 的模型名分别是deepseek-v4-flash和deepseek-v4-pro,当前版本对应 DeepSeek-V4-Flash-0731 和 DeepSeek-V4-Pro-0813。已有项目不需要把模型名写成带日期的版本,继续用deepseek-v4-pro就会调用最新版本。
| 项目 | V4 Flash | V4 Pro |
|---|---|---|
| API 模型名 | deepseek-v4-flash | deepseek-v4-pro |
| 当前版本 | DeepSeek-V4-Flash-0731 | DeepSeek-V4-Pro-0813 |
| 上下文长度 | 1M | 1M |
| 最大输出 | 384K | 384K |
| JSON Output | 支持 | 支持 |
| Tool Calls | 支持 | 支持 |
| Responses API | 支持 | 支持 |
| Anthropic API | 支持 | 支持 |
| FIM 补全 | 仅非思考模式 | 仅非思考模式 |
一个最小请求体长这样,注意thinking和reasoning_effort是分开控制的:
{ "model": "deepseek-v4-pro", "messages": [ {"role": "user", "content": "分析这个仓库中的测试失败原因"} ], "thinking": {"type": "enabled"}, "reasoning_effort": "high" }2.2 价格表:Pro 贵在未命中输入和输出
官方价格单位是人民币/百万 Token,缓存命中和未命中分开计价:
| 模型 | 缓存命中输入 | 缓存未命中输入 | 输出 |
|---|---|---|---|
| V4 Flash | 0.02 元 | 1 元 | 2 元 |
| V4 Pro | 0.025 元 | 3 元 | 6 元 |
注意:DeepSeek 在价格页同时提示,API 服务价格计划近期整体上调,正式使用前需要重新核对官方页面。本文所有计算都基于上面这张表,如果官方调价,把数字替换掉即可。
从表里能直接看出,Pro 的缓存命中输入只比 Flash 贵 0.005 元,几乎可以忽略;真正拉开差距的是未命中输入(3 元 vs 1 元)和输出(6 元 vs 2 元)。这意味着如果你的任务缓存命中率高,Pro 和 Flash 的成本差会被压缩;如果每次都是全新上下文,差距会接近 3 倍。
3. 用 TaoToken 统一 Key 和 API 通道
如果你同时要接 DeepSeek、Claude、Codex 等多个模型,逐个管理 Key 和 base_url 会很乱。我一般用 TaoToken 做统一通道:一个 Key 走多个模型,Codex 侧只改base_url和experimental_bearer_token,不用在每个 provider 之间来回切。
TaoToken 的 API 地址是https://taotoken.net/api,官网是https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=。接入前先去控制台建 Key,路径是 console 和 api-keys:
- 控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite
- API Keys:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite
- 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite
注意:不要把真实 API Key 提交到 Git 仓库、文章截图或公开配置文件。配置前先备份原来的
~/.codex/config.toml。
4. Codex 侧 config.toml 骨架与可复制配置
Codex CLI、ChatGPT 桌面端和 VS Code Codex 插件共用~/.codex/config.toml。官方说明 DeepSeek API 原生支持 Responses API,所以wire_api填responses。下面这份骨架可以直接改 Key 后用:
model = "deepseek-v4-pro" model_provider = "taotoken" preferred_auth_method = "apikey" forced_login_method = "api" model_reasoning_effort = "high" model_catalog_json = "~/.codex/models.json" [model_providers.taotoken] name = "taotoken" base_url = "https://taotoken.net/api" wire_api = "responses" experimental_bearer_token = "<你的 TaoToken API Key>"如果你只想直连 DeepSeek 官方,把 provider 换成官方地址即可,结构不变:
[model_providers.deepseek] name = "deepseek" base_url = "https://api.deepseek.com/" wire_api = "responses" experimental_bearer_token = "<你的 DeepSeek API Key>"配置完保存,重启 Codex CLI 或重载 VS Code 窗口。model_reasoning_effort建议先设high跑一次复杂任务,确认链路通了再按任务降级到medium,因为 reasoning effort 会直接影响输出 Token 量,也就直接影响成本。
5. 一次可复现的调用验证
配置好之后,先用一个最小请求验证链路,不要一上来就跑大仓库任务。用 curl 直接打 TaoToken 的 API:
curl https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-v4-pro", "messages": [ {"role": "user", "content": "用一句话说明这个函数的作用:def add(a,b): return a+b"} ], "thinking": {"type": "enabled"}, "reasoning_effort": "high" }'成功的话你会拿到一个标准 chat completion 响应,choices[0].message.content里有模型输出,usage字段里能看到prompt_tokens、completion_tokens和缓存相关字段。把usage记下来,这就是你算成本的原始数据。
如果返回 401,检查 Key 是否带上了Bearer前缀;如果返回 404,检查base_url是不是写成了https://taotoken.net/api/v1之外的形式;如果返回 400 且提示 model 不存在,确认模型名是deepseek-v4-pro而不是带日期的版本号。
6. Token 成本计算步骤
6.1 计算公式
把输入 Token 拆成缓存命中和未命中两部分,公式如下:
function cost(prices, inputTokens, outputTokens, cacheRate) { const cached = inputTokens * cacheRate; const uncached = inputTokens - cached; return ( cached / 1_000_000 * prices.cached + uncached / 1_000_000 * prices.input + outputTokens / 1_000_000 * prices.output ); } const prices = { flash: { cached: 0.02, input: 1, output: 2 }, pro: { cached: 0.025, input: 3, output: 6 } };6.2 常规多文件任务示例
假设一次任务:120,000 输入 Token,18,000 输出 Token,40% 缓存命中率。
V4 Flash:缓存输入 120000 × 40% × 0.02 / 1000000 = 0.00096 元;未缓存输入 120000 × 60% × 1 / 1000000 = 0.072 元;输出 18000 × 2 / 1000000 = 0.036 元;合计约 0.11 元。
V4 Pro:缓存输入 120000 × 40% × 0.025 / 1000000 = 0.0012 元;未缓存输入 120000 × 60% × 3 / 1000000 = 0.216 元;输出 18000 × 6 / 1000000 = 0.108 元;合计约 0.33 元。
这个示例里 Pro 约为 Flash 的 2.98 倍,绝对差额约 0.22 元。100 次同类任务分别约 10.90 元和 32.52 元。
6.3 大型仓库任务示例
换成 650,000 输入、80,000 输出、65% 缓存命中:Flash 约 0.40 元/次,Pro 约 1.17 元/次,绝对差额约 0.78 元/次。
这里必须区分“Token 成本”和“项目总成本”。如果较高能力模型能减少一次数十分钟的人工返工,0.78 元的差价可能可以接受;如果任务只是改一个字段,默认用 Pro 就没必要。我没有付费调用两个模型执行同一任务,所以不提供未经验证的质量和速度排名。
6.4 按任务风险选模型
| 任务类型 | 建议 | 原因 |
|---|---|---|
| 单文件小修复、文案和类型调整 | Flash | 边界明确,优先控制调用成本 |
| 常规多文件功能 | 先 Flash,失败后 Pro | 先低成本完成,通过测试决定是否升级 |
| 大型仓库、长链路调试 | 考虑 Pro | 一次返工的人工成本可能高于 Token 差价 |
| 安全、支付、权限、数据迁移 | Pro + 人工复核 | 模型不能替代测试、审查和回滚 |
7. 本篇常见错排查
第一个坑是模型名写成deepseek-v4-pro-0813。官方文档明确说已有项目继续用deepseek-v4-pro,带日期版本不是调用名,写了会报 model not found。
第二个坑是wire_api填成chat。DeepSeek 原生支持 Responses API,Codex 侧要填responses,填错会出现请求格式不匹配。
第三个坑是 Key 泄露。experimental_bearer_token是明文写在config.toml里的,别把这个文件提交到 Git,也别在截图里露出完整 Key。用 TaoToken 的话,可以在控制台随时轮换 Key,比逐个 provider 改配置省事。
第四个坑是忽略缓存命中率。很多人算成本只乘输入单价,结果实际账单比预估低很多或高很多。缓存命中输入和未命中输入差 100 倍以上,算之前先看usage里的缓存字段。
第五个坑是 reasoning effort 拉满跑简单任务。high会显著增加输出 Token,简单任务用medium或low就够,成本能降一截。
8. 接入与验证入口
排障和接入配置问题,直接看 API Keys 和接入文档:API Keys 在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite ,接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 。想先验证模型输出质量,用模型对话页面跑几个真实 prompt:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite 。如果你要把 Codex 长期挂在 Agent 工作流里跑,Coding Plan 更适合按量控制:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。Claude Code 和 Anthropic 兼容接入的说明在 https://taotoken.net/claude-code?utm_source=taotoken_aicg_blog_end&utm_content=claudecode&utm_campaign=rewrite 。
最后给一个实操建议:先把config.toml里的model设成deepseek-v4-flash跑通链路,确认usage字段能正常返回,再切到deepseek-v4-pro跑同一个任务,对比两次的prompt_tokens、completion_tokens和缓存命中率。这样你手里就有真实数据,而不是拿估算表拍脑袋决定用哪个模型。