快速开始指南
DeepSeek API 密钥:什么该填到哪里,以及第一次调用
DeepSeek API 密钥是什么,每个工具都会要的三个值(密钥、基础 URL、模型 id),以及用 curl 和 Python 发出的第一个可用请求。

DeepSeek API 密钥是一串秘密字符串,用来告诉 API 是谁在发送请求。不过工具从来不需要单独使用密钥:它需要三个值一起配合——密钥、基础 URL 和模型 id。设置好这三个值,第一次调用就能成功。
你搜索这个问题,很可能是因为某个表单在向你要“你的 DeepSeek API 密钥”:一个脚本、一个编辑器插件、一个 n8n 节点。没问题。我们来看看每个字段要填什么,然后发送一个真实请求。
API 密钥到底是什么?#
把它想象成一张酒店房卡。它不会用文字说明你是谁;它只是打开你的房门,前台会把账记到你的房间。API 密钥做的是同一件事:服务器在请求中看到它,就知道该向哪个账户收费,并放行这次调用。丢了房卡,任何人都能走进来并把账记到你的房间——所以密钥要远离代码,也远离聊天记录。(更详细的说明见什么是 API 密钥以及如何安全存储。)
DeepSeek 自己的 API 文档(2026 年 11 月 4 日核对)也体现了同样的习惯:在运行任何示例之前,密钥要放进环境变量 DEEPSEEK_API_KEY,并且 API 遵循 OpenAI 格式——只要改掉 api_key 和 base_url,OpenAI SDK 就能用。这就是全部诀窍,也是密钥从不单独出现的原因。
闪卡
每个工具都会要的三个值
点击卡片翻转
有一个容易让人踩坑的细节:密钥属于签发它的服务。CheapTokens 的密钥要配 CheapTokens 的地址,模型 id 也要用 CheapTokens 列出的那个。把一个地方的密钥和另一个地方的地址混在一起,你得到的会是授权错误,而不是回答。

把密钥放进环境变量#
在你的 CheapTokens 账户中创建一个密钥(步骤见文档),并保持余额充足,这样请求才有可扣的额度。然后,把密钥存进变量,而不是粘贴到文件里。
macOS 或 Linux:
export CHEAPTOKENS_API_KEY='paste-your-key-here'Windows PowerShell(仅当前窗口):
$env:CHEAPTOKENS_API_KEY = 'paste-your-key-here'paste- 部分只是占位符;请在你自己的终端里填入真实密钥,不要填到别处。为什么这比硬编码密钥更好,以及密钥泄露后该怎么办,见安全存储 API 密钥:环境变量、.gitignore、泄露修复。
第一个请求#
假设你只想看看它能不能用:让模型用一句话解释 API 密钥。同一个请求,两种方式——选择你用的标签页。
向 deepseek-ai/DeepSeek-V4-Flash-0731 发送第一个请求
curl
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"messages": [{"role": "user", "content": "Explain an API key in one sentence."}],
"max_tokens": 200
}'Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ['CHEAPTOKENS_API_KEY'],
base_url='https://api.cheaptokens.dev/v1',
)
resp = client.chat.completions.create(
model='deepseek-ai/DeepSeek-V4-Flash-0731',
messages=[{'role': 'user', 'content': 'Explain an API key in one sentence.'}],
max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage)Python 版本需要先安装一次 pip install openai。看看与为 OpenAI SDK 编写的脚本相比改了什么:api_key、base_url 和 model——还是同样的三个值。其余部分保持不变。

你应该看到什么#
回复是 JSON。答案文本位于 choices[0].;这就是 Python 脚本首先打印的内容。紧挨着它的是一个 usage 块,包含 prompt_tokens、completion_ 和 total_tokens——输入了多少 token、输出了多少 token,以及总和。费用就是根据这两个数字计算的,所以即使是第一次调用,也值得看一眼(输入 token 与输出 token 解释了这种拆分)。
感受一下规模:像这样的调用非常小。假设输入 30 个 token、输出 200 个——也就是示例中的 max_tokens 上限,这是该请求可能产生的最贵调用。它花费 $0.00002。一千次这样的调用如下所示,旁边列出 OpenRouter 作为参考:
| 模型 | 输入 $/1M | 输出 $/1M | 每次请求 | 1,000 次请求 | OpenRouter,1,000 次请求 |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0000086 | $0.0086 | $0.0176 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.00002 | $0.0205 | $0.0301 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000032 | $0.0315 | $0.378 |
每次请求 30 个输入 token 和 200 个输出 token。每 100 万 token 的价格为当前价格,会随我们的资费一同变动;OpenRouter 列显示相同工作负载的参考价格。
该 id 背后的模型是 DeepSeek-V4-Flash:380K token 的上下文窗口,单次回答最多 32,768 个 token。价格在任何时段都一样,没有高峰时段附加费,一个余额可覆盖所有模型。总体来看——输入和输出合计——它比 OpenRouter 更便宜,这正是上表所示。关于该模型的更多信息:CheapTokens 上的 DeepSeek,当前价格见定价页面。
当它不工作时#
几乎每一次首次调用失败,都是三个值中有一个错了。把症状和原因对应起来:
配对
将每个症状对应到其原因
点击左侧项目,然后点击其配对项
- 401 Unauthorized密钥缺失、拼写错误,或属于其他服务
- “model not found”(错误文本中提到了模型)模型 id 不是完整的:请使用 deepseek-ai/DeepSeek-V4-Flash-0731
- 连接错误或地址本身返回 404(错误中没有“model”字样)基础 URL 中有拼写错误,例如缺少
/v1或域名不同
这些错误的完整说明见 API 401 或 404 错误:密钥、基础 URL 或模型 id 错误。如果你不确定该用哪个 id,可以直接问 API:用 GET /v1/models 列出模型。
同样的三个值接下来用在哪里#
学会它们一次的意义在于它们可以通用。几乎所有与 OpenAI 兼容 API 通信的工具,都会以某种形式要求同样的值:密钥、地址和模型。在脚本(LangChain、LiteLLM)中它们是参数;在应用或无代码节点中它们是字段或设置。你也可以在 Postman 中不写代码试用它们。要使用该模型进行流式传输和长回答,请继续阅读 DeepSeek-V4-Flash 快速入门。
清单
在宣布完成之前



