📌 内容摘要

  • 本教程覆盖完整流程:注册 Anthropic Console → 充值 → 创建 API Key → Python/Node.js 发送第一个请求。
  • 包含可直接运行的完整代码示例,含普通请求和流式输出(Streaming)两种模式。
  • 附费用控制技巧:如何设置消费上限,避免意外超支。
  • 适合完全零基础的 API 新手,也适合从其他模型迁移到 Claude 的开发者。

一、API 和 claude.ai 有什么区别?

claude.ai 是面向普通用户的网页产品,开箱即用,按月订阅。Claude API 是面向开发者的程序接口,按实际使用量(token)计费,你可以把 Claude 的能力嵌入到自己的应用、脚本或工作流中。

两者使用同一套模型,但 API 提供更大的灵活性:自定义 System Prompt、控制输出格式、批量处理、与其他系统集成。如果你想构建 AI 应用或自动化流程,API 是必经之路。

二、准备工作:注册 Anthropic Console

API Key 通过 Anthropic Console 管理,地址是 console.anthropic.com

第一步:注册账号
访问 console.anthropic.com,点击「Sign Up」,用邮箱注册。Console 账号与 claude.ai 账号相互独立,需要单独注册。注册需要境外网络环境,建议使用美国或新加坡节点。

第二步:完成手机号验证
注册时需要验证手机号。中国大陆手机号无法使用,需要境外手机号(Google Voice、TextNow 等虚拟号在部分情况下可用,但稳定性不如实体境外号)。

第三步:充值
Console 采用预付费模式,先充值再使用。最低充值金额为 $5,支持 Visa/Mastercard 信用卡。充值路径:Console 首页 → Settings → Billing → Add Credit。

💡 费用控制建议
充值后立即在 Billing 页面设置月消费上限(Spend Limit)。建议新手先设为 $5-10,熟悉用量后再调高。同时开启邮件提醒,余额不足时自动通知。

三、创建 API Key

充值完成后,创建 API Key:

  1. Console 左侧导航栏点击「API Keys」
  2. 点击右上角「Create Key」按钮
  3. 给 Key 起一个名字(如 my-first-key),方便后续管理
  4. 点击「Create Key」确认
  5. 立即复制并保存这个 Key——它只会完整显示一次,关闭弹窗后将无法再次查看完整内容
⚠️ API Key 安全守则
API Key 相当于你账户的密码,泄露后他人可消耗你的余额。铁律:不要上传到 GitHub 等公开代码仓库;不要写死在代码里,用环境变量存储;定期检查 Console 的 Usage 页面确认无异常调用。

四、Python 接入(推荐新手)

安装 SDK

pip install anthropic

设置 API Key(环境变量方式)

# macOS / Linux
export ANTHROPIC_API_KEY="sk-ant-你的key"

# Windows (PowerShell)
$env:ANTHROPIC_API_KEY="sk-ant-你的key"

# 或在 .env 文件中写入(配合 python-dotenv 使用)
ANTHROPIC_API_KEY=sk-ant-你的key

发送第一个请求

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "用一句话介绍你自己"
        }
    ]
)

print(message.content[0].text)

运行后你会看到 Claude 的回复。message 对象还包含:

  • message.model:实际使用的模型名称
  • message.usage.input_tokens:输入消耗的 token 数
  • message.usage.output_tokens:输出消耗的 token 数
  • message.stop_reason:结束原因(end_turn 表示正常结束)

加入 System Prompt

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="你是一名专业的Python工程师,回答简洁直接,代码示例优先。",
    messages=[
        {
            "role": "user",
            "content": "如何读取一个CSV文件?"
        }
    ]
)

print(message.content[0].text)

多轮对话

conversation_history = []

def chat(user_input):
    conversation_history.append({
        "role": "user",
        "content": user_input
    })
    
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        system="你是一个有帮助的AI助手。",
        messages=conversation_history
    )
    
    assistant_message = response.content[0].text
    conversation_history.append({
        "role": "assistant",
        "content": assistant_message
    })
    
    return assistant_message

print(chat("你好,我叫小明"))
print(chat("你还记得我叫什么名字吗?"))

流式输出(Streaming)

流式输出让内容逐字显示,用户体验更好,适合构建聊天界面:

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "写一首关于秋天的短诗"}
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

print()  # 换行

五、Node.js 接入

安装 SDK

npm install @anthropic-ai/sdk

发送第一个请求

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY,
});

const message = await client.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [
    {
      role: "user",
      content: "用一句话介绍你自己",
    },
  ],
});

console.log(message.content[0].text);

Node.js 流式输出

const stream = await client.messages.stream({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [
    { role: "user", content: "写一首关于秋天的短诗" }
  ],
});

for await (const chunk of stream) {
  if (
    chunk.type === "content_block_delta" &&
    chunk.delta.type === "text_delta"
  ) {
    process.stdout.write(chunk.delta.text);
  }
}
console.log();

六、模型选择指南

模型 输入价格 输出价格 适用场景
claude-opus-4-6 $5 / M token $25 / M token 复杂推理、高价值任务
claude-sonnet-4-6 $3 / M token $15 / M token 日常应用开发(推荐默认选择)
claude-haiku-4-5-20251001 $1 / M token $5 / M token 高频调用、简单任务、实时响应

新手建议从 claude-sonnet-4-6 开始,性价比最高,能力覆盖绝大多数应用场景。

七、常见错误与解决方法

错误信息 原因 解决方法
AuthenticationError API Key 无效或未设置 检查环境变量是否正确设置
RateLimitError 请求速率超出限制 添加重试逻辑,指数退避
BadRequestError 请求参数错误 检查 messages 格式和 max_tokens 设置
OverloadedError 服务器临时过载 等待几秒后重试
余额不足 账户余额耗尽 Console → Billing 充值

八、费用估算参考

1M token 大约相当于多少内容?以 Sonnet 4.6 为例:

  • 1000 个汉字约 1500–2000 token(中文比英文消耗更多 token)
  • 一篇 2000 字文章的输入+输出约消耗 5000–8000 token,成本约 $0.015–0.025
  • $1 大约可以处理 40–60 篇 2000 字文章
  • 日常轻度开发测试,$5 的初始余额可以用很久
✅ 省钱技巧
开发测试阶段用 Haiku 模型(成本仅为 Sonnet 的 1/3),确认逻辑无误后再切换到 Sonnet 或 Opus;合理设置 max_tokens,不要设得过大;利用 Prompt Caching 功能缓存重复的 System Prompt,可节省 50–90% 的输入 token 费用。

常见问题

Q:API Key 和 claude.ai 的 Pro 订阅是同一个账号吗?
不是。claude.ai 和 Console 是两个独立的账号系统,分别管理、分别付费。API 按 token 计费,不共享 claude.ai 的月度用量。

Q:max_tokens 设多大合适?
根据你期望的输出长度设定。短回答设 256–512,普通文章生成设 2048–4096,长文档处理可以设到 8192 甚至更高。设得过大不会多收费,只按实际输出的 token 计费,但过大的设置可能影响响应速度。

Q:API 有免费额度吗?
目前 Anthropic API 没有持续免费额度,需要充值才能使用。新注册账号有时会提供少量试用额度,但不稳定,建议直接充值 $5 开始。

Q:能用 API 访问 Claude 的联网搜索功能吗?
可以,通过工具调用(Tool Use)中的网页搜索工具实现,需要在请求中声明使用 web_search_20250305 工具。

总结

完整流程回顾:注册 Console → 充值 → 创建 Key → 设置环境变量 → 安装 SDK → 发送第一个请求。整个流程熟练后10分钟以内可以完成。建议先用 Sonnet 4.6 + 小额充值开始探索,确认接入成功后再根据实际需求调整模型和用量。