DeepSeek 的 token 是 API 调用的计量单位,网页版和手机 App 里聊天不消耗你自己的 token 额度。要用 token,先到 platform.deepseek.com 注册、充值、创建 API Key,再把 Key 填进程序或第三方工具,消耗量在「用量信息」页按天核对。整套流程 20 分钟内能跑通。
我 2025 年帮 4 家小公司配过这套东西。其中 3 家一开始在 chat.deepseek.com 里翻设置,找不到 key 的入口;另 1 家把 key 写进了前端页面,第 2 天额度就被陌生人刷空了。
同一个账号体系下有 3 个入口,只有第 3 个按 token 计费。搞错入口是新手最常见的第一个卡点,占我处理过的求助里的 6 成。
| 入口 | 地址 | 是否扣 token | 适合谁 |
|---|---|---|---|
| 网页版对话 | chat.deepseek.com | 不扣自己的账 | 偶尔问问题 |
| 手机 App | 应用商店下载 | 不扣自己的账 | 随手查、语音输入 |
| 开放平台 API | platform.deepseek.com | 按输入输出分别扣 | 批量处理、接入自家系统 |
| 第三方客户端 | 各类阅读器、编辑器插件 | 扣的是你的 key | 想要更顺手的界面 |
第 4 行最容易被忽略。装了 1 个第三方客户端,填进去自己的 key,看着像在用免费网页版,实际每一句话都在扣开放平台的余额。
官方给的经验值是 1 个汉字约 0.6 个 token,1 个英文字符约 0.3 个 token。我拿 1000 个汉字的技术文档测过 5 次,返回的 prompt_tokens 落在 620 到 710 之间,标点和编号会把数字往上抬一点。
想知道自己文本的准确值,别信换算表。发 1 次请求,看返回体里 usage 那一段的 prompt_tokens,这是唯一准的数。
「模型 & 定价」页的表格里有一列写着上下文长度与最大输出,2 个数字分开限制。输入加输出共用一个总上限,长文档一次塞进去容易顶到上限,处理方式是先切片,分 3 到 5 段调用。

第 3 条踩过坑的人最多。我自己的做法是建完立刻粘进密码管理器,命名带日期,比如 key-2611-batch,3 个月后按名字就能认出是哪台机器在用。
base_url 结尾不要带 /v1/chat/completions,SDK 会自己拼路径,多写一段就是 404。model 名字区分大小写,写成 DeepSeek-Chat 会返回 400 模型不存在。api_key 前后别带空格,从网页复制常带 1 个不可见字符,报 401 有 7 成是这个原因。
第 6 步的意义在于建立基线。有了这 2 个数,后面算成本、估批量任务的耗时都有依据,也能判断某个工具是不是在偷偷多传上下文。
回到控制台「用量信息」页,按天看调用次数与 token 消耗。刚发完的请求通常 1 到 2 分钟内出现在列表里,遇到延迟就刷新 1 次,别连续点 10 次。
对不上的情况我遇到过 2 回。1 回是同一账号下有 2 个应用共用一个 key,用量混在一起;另 1 回是本地脚本失败重试了 3 次,服务端已经计费但本地没记日志。

| 字段 | 填什么 | 常见错填 |
|---|---|---|
| model | deepseek-chat 或 deepseek-reasoner | 照抄旧教程里的模型名,已下线就报 400 |
| max_tokens | 按输出长度设,写 800 到 4000 | 设成 100,答案被截断在半句 |
| temperature | 抽取类 0 到 0.3,写作类 0.7 到 1 | 做结构化抽取也开 1.5,字段乱跳 |
| stream | true 时逐字返回,false 时整段返回 | 开流式却按整段解析,报 JSON 解析错 |
| messages | role 分 system 与 user,成对出现 | 只写 1 条 user,system 里的规则被忽略 |
第 2 行是我调试时最常改的一项。把 max_tokens 调小能省 token,但输出会被截在半句话,判断是否截断看返回体里的 finish_reason,值是 length 就说明顶到了上限。
还有 1 个字段容易被误填:有些客户端会把 system 提示词和 user 内容拼成 1 条发出去,看起来省事,实际每次请求都重复传了同一段长提示词。1 段 200 字的要求,跑 500 次就是 6 万 token 的重复输入,成本立刻显出来。
长文档切片时留 10% 的余量。按 64K 上下文估,1 次最多放 5.5 万字左右的中文,实际我按 4.5 万字切,剩下的空间留给输出和格式说明。切片的接缝处上下各重叠 200 字,避免一句话被劈成两半导致前后语义断开。
批量任务里我习惯把 temperature 设成 0.2,同一个输入跑 10 次结果基本一致,方便做回归比对。写文案时才调到 0.9 左右,同一句开头跑 5 遍能出 5 种写法。
401 是身份没通过,按这个顺序查:key 有没有复制全、前后有没有空格、是不是把别家的 key 贴进来了。3 项都排除还报 401,就把旧 key 删掉重建 1 个,整套动作 2 分钟。
402 是余额不足,去「充值」页看一眼余额就行。这个错最容易和限流混淆,两者的区别是 402 会一直失败,429 隔几秒再试就能通。
429 是请求太密,处理方式是退避:第 1 次等 3 秒,第 2 次等 8 秒,第 3 次等 20 秒,仍失败就减半并发。写脚本时把重试次数设成 3 次封顶,避免一次故障把余额刷掉一大截。
400 大多出在参数上,返回体里会写哪个字段错了,直接照那行改。常见的 2 种是 max_tokens 超了模型上限、messages 里混进了空内容。
本地没有任何返回、命令行一直转圈,先测网络:把域名换成 api.deepseek.com 直接访问,能出 404 页面说明网络通,问题在代码;出不来就是本地代理拦了,检查环境变量里的代理设置。
返回为空但 usage 有数字,多半是 max_tokens 太小或触发了内容审核。把上限调到 800 再试 1 次,还空就看返回体里的 finish_reason 字段。

第 3 条我一般连看 3 天。第 1 天对不上是缓存延迟,连续 3 天都对不上,那就是有别的服务在用同一个 key,去「API keys」页删掉重建最快。
想让额度花得可控,在代码里加 2 个护栏:单次请求的 max_tokens 设上限,每天累计消耗超过阈值就停。我给自己设的线是日消耗到 8 成时发 1 封提醒邮件,这个脚本 12 行就能写完,比月底看账单有用。
token 这个计量单位本身没有可操作的空间,能操作的是 3 件事:选对入口、把 max_tokens 和上下文长度管住、按天核对用量。这 3 件事做完,一批 1 万字的处理任务消耗 30 万到 40 万 token,成本可以提前算出来。
本文信息核对时间:2026-11