
您在platform.deepseek.com注册了账号,生成了一个密钥,将其粘贴到您的脚本中,返回的响应为401。或者您的代码昨天还能工作,今天却不行了。一旦您理解了模型,DeepSeek API认证就不再令人惊讶:每个请求都发送一个作为HTTP Bearer token的单个密钥,与`https://api.deepseek.com`上的OpenAI兼容端点对应。没有OAuth流程,没有签名请求,没有令牌交换。复杂性在于您如何存储、轮换、范围和恢复该密钥——以及如何区分认证失败(401)和计费失败(402)时的错误。本指南将全面介绍认证表面,包括有效的Python和curl示例、我在生产中运行的安全模式,以及针对旧版`deepseek-chat`和`deepseek-reasoner`模型ID的迁移步骤。
DeepSeek API认证究竟是什么

DeepSeek为其开发者API使用单一的认证机制:在标准HTTP头中作为Bearer token传输的API密钥。 Authorization 所有API都需要通过Bearer Token进行认证。从API密钥管理页面获取API密钥,然后将其添加到请求头中作为。 Authorization: Bearer YOUR_API_KEY没有单独的签名步骤,没有HMAC,没有轮换会话令牌。服务器在每个请求上验证密钥,要么接受它,要么返回401。
两个因素使这个简单的模型值得一篇专门的文章。首先,DeepSeek的API与OpenAI的Chat Completions表面和(自2026年4月24日V4发布以来)Anthropic的Messages表面线缆兼容。DeepSeek API使用与OpenAI/Anthropic兼容的API格式。通过修改配置,您可以使用与OpenAI/Anthropic API兼容的OpenAI/Anthropic 软件开发工具包(SDK)或软件来访问DeepSeek API。这意味着相同的Bearer密钥可以认证两种不同的请求形状。其次,API是无状态的——每个请求都必须携带密钥和完整的对话历史。没有您需要登录的会话;头信息就是整个握手。
快速入门:认证您的第一个请求
以下是可行的最小认证请求,有两种形式。它们都针对标准聊天端点。 POST /chat/completions on https://api.deepseek.com. Set DEEPSEEK_API_KEY 在运行任一代码片段之前,将其作为环境变量设置。
curl
curl https://api.deepseek.com/chat/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer ${DEEPSEEK_API_KEY}"
-d '{
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"stream": false
}'
使用OpenAI 软件开发工具包(SDK)的Python
官方的OpenAI Python 软件开发工具包(SDK)通过仅更改来与DeepSeek兼容。 base_url and api_key使用以下命令安装它: pip install openai,然后:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("DEEPSEEK_API_KEY"),
base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello"},
],
stream=False,
reasoning_effort="high",
extra_body={"thinking": {"type": "enabled"}},
)
print(response.choices[0].message.content)
The reasoning_effort 参数和思考标志是V4的特性——它们将V4模型切换到思考模式,返回 extra_body 。认证本身在所有模式下都是相同的。对于完整的请求参考,请参阅我们的 reasoning_content alongside the final content。 DeepSeek API documentation guide.
密钥存储位置:platform.deepseek.com控制台
每个密钥都源于开发者控制台。访问 platform.deepseek.com —— 这是API平台,您可以在其中管理您的密钥、账单和使用情况。使用您的电子邮件或电话号码注册。登录后,您将进入仪表板。在您的API密钥生效之前,您需要添加支付方式并充值余额。控制台提供了您需要的三个功能:账户账单(在密钥通过账单检查之前充值)、使用遥测数据和密钥管理页面本身。
创建密钥只需两步点击。在左侧侧边栏中,点击API密钥,然后点击创建新API密钥。给您的密钥起一个描述性的名称,如my-app-dev,以便您以后识别,然后确认。重要提示:立即复制密钥。DeepSeek只会显示一次。如果您丢失了密钥,您无法从控制台找回——您需要生成一个新的密钥并吊销旧的密钥。有关包括账单在内的完整注册流程,请参阅我们的专用 get a DeepSeek API key tutorial.
密钥的样貌及其功能
- Format:一个用于视觉识别的前缀不透明字符串。将其视为密码——永远不要记录它,永远不要将其嵌入客户端包中。
- Scope:全局账户。单个密钥可以调用您账户有权访问的任何模型。在撰写本文时,没有细粒度的范围(只读、模型限制、IP限制)。
- 过期:密钥不会按计划过期。它们在您吊销它们、您的账户被暂停或DeepSeek在服务器端使它们无效之前一直有效。
- 速率限制: 速率限制绑定到账户,而不是密钥,因此生成多个密钥并不会增加您的吞吐量。请参阅我们的 DeepSeek API rate limits DeepSeek使用的动态并发模型的参考。
详细说明授权头
该头部必须恰好具有一个可接受的形状:
授权:Bearer sk-...your_key...
常见的错误方式,按我在生产中看到它们出错的大致顺序:
- Missing the literal word “Bearer”.
授权:sk-...独自返回401。 - 错误的头部名称. DeepSeek不遵守
X-API-Key,Api-Key,或者查询字符串键。 - 键中的空白或换行符。从包含换行符的终端粘贴是“请确保您已正确复制密钥,它尚未过期,并且它已在授权头中正确格式化为Bearer
”这一经典错误来源。 - 过期环境变量。如果您已更换密钥但您的无服务器运行时缓存了旧值,请求将看起来对您的代码已认证而对DeepSeek未认证。
- 错误的账户. 个人账户密钥不能用于组织工作空间,反之亦然。
OpenAI与Anthropic兼容性——同一密钥,两个界面
DeepSeek现在公开了两种与软件开发工具包(SDK)兼容的请求格式,针对相同的基URL和相同的Bearer密钥。API支持在https://api.deepseek.com的OpenAI兼容的聊天完成格式,以及在https://api.deepseek.com/anthropic的Anthropic兼容格式。两个认证头是相同的——只有请求体模式不同。
| Surface | Base URL | 软件开发工具包(SDK) | 认证头 |
|---|---|---|---|
| 兼容OpenAI(默认) | https://api.deepseek.com |
openai-python, openai-node | Authorization: Bearer <key> |
| 兼容OpenAI(v1别名) | https://api.deepseek.com/v1 |
openai-python, openai-node | Authorization: Bearer <key> |
| Anthropic-compatible | https://api.deepseek.com/anthropic |
anthropic-python, anthropic-sdk-typescript | Authorization: Bearer <key> |
如果您已经维护了一个Anthropic形状的代码库,那么Anthropic表面是更便宜的迁移选择。大多数新代码应选择OpenAI兼容的。对于更深入的处理,请参阅我们的 DeepSeek OpenAI 软件开发工具包(SDK) compatibility reference.
模型ID:今天使用V4,直到2026年7月为旧版

认证与目标模型解耦,但错误的模型ID会返回404错误,这 看起来 对于普通读者来说像是认证失败。在新代码中使用当前的V4 ID:
deepseek-v4-pro— 前沿级MoE(总参数量1.6T / 活跃参数量49B)deepseek-v4-flash— 性价比高的MoE(总参数量284B / 活跃参数量13B),大多数聊天工作负载的默认推荐
The legacy IDs deepseek-chat and deepseek-reasoner 仍然被接受。模型名称deepseek-chat和deepseek-reasoner将于2026年7月24日被弃用。为了兼容性,它们分别对应于deepseek-v4-flash的非思考模式和思考模式。迁移只需一行代码。 model= swap; the base_url 以及Bearer密钥不会更改。在更改之前规划切换 2026-07-24 15:59 UTC,之后使用旧ID的调用将失败。两个级别的详细信息可在我们的 DeepSeek V4-Flash and DeepSeek V4-Pro pages.
认证错误及其真正含义
DeepSeek通过两个不同的状态码将认证问题与计费问题区分开来,这很重要,因为每种情况下的解决方案都不同。快速入门错误列表将认证问题与计费问题分开:错误的或缺失的密钥导致401错误,而余额不足导致402错误。401认证失败:密钥缺失、格式不正确、不正确或已不再有效。402余额不足:您的账户余额不足以满足请求。
| Status | Meaning | 首先要检查什么 |
|---|---|---|
| 401 Unauthorized | Authentication failed | 报头格式,键值,键未被吊销,无空白 |
| 402 需要支付 | 账户余额不足 | 在 platform.deepseek.com 充值——密钥是好的 |
| 403 禁止访问 | 您的账户或工作空间被区域/策略阻止 | 您的账户或工作空间已被限制;请联系支持 |
| 404 未找到 | 错误的路径或错误 model ID |
确认端点是 /chat/completions 以及模型拼写 |
| 429 Too Many Requests | 达到并发限制 | 回退并重试;这不是认证问题 |
当401错误突然出现时的有用诊断:降低到对以下内容的curl调用 GET /v1/models 使用您的密钥。如果返回200,则密钥有效,问题出在您的客户端代码中。如果返回401,则问题在于密钥本身。我们的 DeepSeek API error codes 参考内容涵盖了完整列表。
生产环境中重要的安全模式
Bearer认证的安全性取决于您的密钥管理纪律。以下模式是我今天在生产中运行的,也是我在审查他人集成时检查的模式。
使用环境变量,而不是源文件
将密钥硬编码到 config.py 或者前端包是密钥泄露最常见的方式。从 os.environ 中读取 Python, process.env 在Node中,或使用运行时密钥管理器(AWS Secrets Manager、HashiCorp Vault、GCP Secret Manager、1Password Secrets Automation)。对于更深入的代码级别处理,请参阅 DeepSeek Python integration.
永远不要在浏览器或移动二进制文件中暴露密钥
永远不要在浏览器JavaScript、移动二进制文件、公共Git仓库或屏幕截图中暴露实时API密钥。如果您的产品是Web应用,请通过自己的后端路由请求,并将清洗后的响应转发给客户端。后端持有Bearer密钥;浏览器永远不会看到它。同样的规则也适用于移动应用——嵌入的密钥可以在几分钟内从二进制文件中提取出来。
按计划或在事件发生时轮换
我每季度轮换一次生产密钥,并在团队成员离职、笔记本电脑丢失或怀疑CI密钥泄露时立即轮换。流程是:在控制台中生成新密钥,将其部署为活动密钥,确认遥测显示流量在新密钥上,然后吊销旧密钥。因为密钥不会自动轮换,这是一项手动卫生工作——但成本很低。
每个环境一个密钥,而不是每个开发者一个
生产、预发布和开发环境各自拥有一个带有描述性标签的密钥(prod-2026-q2, staging, dev-shared这使得使用页面易于阅读,并允许您在不影响其他环境的情况下撤销单个环境。避免每个开发者一个密钥;人类复制密钥到笔记本电脑、手机和共享脚本的速度比您审计它们的速度快。
独立监控账单和用量
泄露的密钥首先表现为异常支出,而不是401错误。在用法仪表板上设置警报,并使用我们这样的工具。 DeepSeek cost estimator to baseline what “normal” 看起来 like for your workload before you go live.
成本计算示例:认证调用成本是多少
认证是免费的;请求体不是。以下是DeepSeek上典型聊天工作负载的透明成本计算——1,000,000次调用,包括一个2,000个token的缓存系统提示,一个200个token的用户消息和一个300个token的响应。费用按每1M token计算,如官方所示。 deepseek-v4-flash成本效益层——在2026-05-31之前的75%促销期间,每1M token的费用为0.003625(缓存命中)/ 0.435(缓存未命中)/ 0.87(输出)——促销期间费用为355.25美元,标价为1421.00美元——促销期间大约是Flash的三倍,标价时是十倍。除非您的基准测试证明Pro是合理的,否则请选择Flash。缓存输入行使用缓存命中率;每次调用的用户消息仍然是对该前缀的未缓存未命中。跳过未缓存行是我看到的最常见的成本建模错误。 DeepSeek API pricing page.
Input, cache hit : 2,000,000,000 tokens × $0.0028/M = $ 5.60
Input, cache miss : 200,000,000 tokens × $0.14/M = $ 28.00
Output : 300,000,000 tokens × $0.28/M = $ 84.00
--------
Total $ 117.60
The same workload on deepseek-v4-pro DeepSeek可能提供已授予的余额——一种可能过期的促销信用额——仪表板有时会显示新账户的token额度。社区指南中的报告描述了两个免费信用池,分别标记为5M个token和500M个token,在不同的时间点免费;数字会变化,这不是一个永久性功能。在围绕它构建业务案例之前,请检查计费控制台以了解当前优惠。账户级别没有永久免费层。
授予的余额和免费试用——仔细阅读细则
DeepSeek可能提供已授予的余额——一种可能过期的促销信用额——仪表板有时会显示新账户的token额度。社区指南中的报告描述了两个免费信用池,分别标记为5M个token和500M个token,在不同的时间点免费;数字会变化,这不是一个永久性功能。在围绕它构建业务案例之前,请检查计费控制台以了解当前优惠。账户级别没有永久免费层。
该API是无状态的——认证不会改变这一点

即使有有效的Bearer密钥,API也不会记住你之前的调用。没有会话可以用来进行身份验证。模型需要每个数组——系统提示、先前用户操作、先前助手操作——来获得上下文。chat.deepseek.com的网页聊天会为你保存历史记录;API不会。如果你是从聊天UI过来的,这是最大的行为差异。关于正确拼接多轮对话的入门指南,请参阅我们的 POST /chat/completions request must include the full messages 一旦你的身份验证稳固,接下来的自然步骤是流式传输、函数调用和JSON模式——所有这些都使用你已有的相同的Bearer头。对于面向开发者的页面更广泛的景观,请参阅 DeepSeek API getting started tutorial.
Where to go next
没有OAuth流程——Bearer头是整个身份验证机制。相同的密钥适用于与OpenAI兼容和与Anthropic兼容的表面。逐步设置指南位于我们的 DeepSeek API docs and guides hub 将所有内容索引在一个地方。
DeepSeek AI Guide is an independent resource and is not affiliated with DeepSeek or its parent company. Model IDs, pricing and API behaviour change; check the official DeepSeek documentation and pricing page before committing to a production decision.
我该如何使用DeepSeek API进行认证?
在platform.deepseek.com上生成一个密钥,然后在每次请求中发送它作为 Authorization: Bearer YOUR_API_KEY。端点是 POST /chat/completions at https://api.deepseek.com一个401错误表示密钥缺失、格式错误、已过期、被撤销或去除了字面意义上的“Bearer”前缀。这不是计费问题——那会返回402。确认头部是否读取正确 get a DeepSeek API key guide.
DeepSeek API返回的401未授权代表什么意思?
A 401 means the key was missing, malformed, expired, revoked, or stripped of the literal “Bearer” prefix. It is not a billing problem — that returns 402. Confirm the header reads Authorization: Bearer <key> ,不要有空格,然后测试密钥与 GET /v1/models 以隔离客户端错误。完整的状态码列表位于我们的 DeepSeek API error codes reference.
我能否使用OpenAI Python 软件开发工具包(SDK)对DeepSeek进行认证?
Yes. Install openai中,然后使用 base_url="https://api.deepseek.com" 和您的DeepSeek密钥作为 api_key. 该软件开发工具包(SDK)会自动添加Bearer头部并发送OpenAI形状的Chat Completions请求,DeepSeek可以接受这些请求。在调用位置不需要进行代码更改。我们的 DeepSeek OpenAI 软件开发工具包(SDK) compatibility 参考文档涵盖了边缘情况。
DeepSeek API密钥在网页聊天和开发者API中是否相同?
No. chat.deepseek.com的网页聊天使用您的账户登录(电子邮件加密码或SSO)并在服务器端维护会话的聊天历史。api.deepseek.com的开发者API使用在平台控制台中生成的单独的Bearer密钥,并且是完全无状态的——您的客户端必须在每次调用时重新发送聊天历史。这两个界面共享账户但不共享凭证。参见 DeepSeek login 用于聊天端。
我应该如何存储和轮换我的DeepSeek API密钥?
从环境变量或运行时秘密管理器中读取它——永远不要将其硬编码,永远不要将其包含在浏览器或移动包中。每个环境使用一个带有描述性标签(prod, staging, dev)的密钥,按计划轮换,并在任何疑似泄露后轮换,一旦遥测确认新密钥已激活,就撤销旧密钥。与此配合使用使用警报,以便泄露的密钥在造成损失之前作为异常支出显现。我们的 DeepSeek API best practices 指南更为深入。
来源s & Methodology
Primary sources
- OfficialDeepSeek API documentationEndpoints, request/response shape, model IDsLast checked: April 30, 2026
- PricingDeepSeek API pricing pagePer-1M-token rates, billing units, cache-hit pricingLast checked: April 30, 2026
- OfficialDeepSeek API密钥管理页面生成、命名和撤销Bearer令牌的位置Last checked: April 30, 2026
- OfficialDeepSeek API文档 - 认证Bearer令牌格式及与OpenAI/Anthropic兼容的表面Last checked: April 30, 2026
Methodology
Pricing figures were checked against the 官方DeepSeek定价页面 and normalised into estimated monthly costs using sample token usage scenarios. Actual costs may vary depending on caching, input/output ratio, regional availability, and provider updates.
Data confidence
High — figures checked directly against the official pricing page on the review date.
Editorial note
DeepSeek occasionally runs promotional discounts that are not always reflected in the headline page. The pricing dataset on this site auto-refreshes monthly; this article reflects the dataset on the date shown above.