返回首頁AI API

Claude API 串接教學|2026 年 Anthropic API 從零開始完整教學

14 min 分鐘閱讀
#Claude API#Anthropic API#API 串接#Python SDK#Streaming#Tool Use#開發教學#程式範例#API 整合#Claude

從零到第一個 API 回應,只需要 5 分鐘

你決定要用 Claude API 了。

也許是因為 Sonnet 的性價比讓你心動,也許是 100 萬 token 的脈絡窗(1M context window)正好解決你的長文處理需求,又或者你只是想試試看 GPT 以外的選擇。

不管原因是什麼,這篇教學會帶你走完整個串接流程——從環境設定、SDK 安裝、到送出第一個請求,再到 Streaming、Tool Use 等進階功能。

每一步都有可以直接複製的程式碼。

想快速取得 Claude API?透過 CloudInsight 企業代購更省心,享折扣優惠與統一發票。

開發者串接 Claude API 的工作場景

TL;DR

Claude API 串接四步驟:安裝 SDK(pip install anthropic)→ 設定環境變數(ANTHROPIC_API_KEY)→ 建立 client → 呼叫 messages.create()。支援 Streaming、Tool Use、Vision 等進階功能。官方 SDK 涵蓋 Python、TypeScript、C#、Go、Java、PHP、Ruby 七種語言。


Claude API 準備工作與環境設定|開始之前你需要什麼

Answer-First: 串接 Claude API 需要:一個 Anthropic Console 帳號、有效的 API Key、Python 3.8+ 或 Node.js 18+ 環境。10 分鐘內可完成所有準備。

取得 API Key

如果你還沒有 API Key:

  1. console.anthropic.com 註冊
  2. 設定付款方式(信用卡綁定)
  3. 到 API Keys 建立新 Key
  4. 複製並保存 Key

Key 格式: sk-ant-api03-xxxxxxxxxxxx

購買流程的完整說明請參考 Claude API 購買教學

環境準備

Python 環境:

# 確認 Python 版本 >= 3.8
python --version

# 建議使用虛擬環境
python -m venv claude-env
source claude-env/bin/activate  # macOS/Linux
# claude-env\Scripts\activate  # Windows

# 安裝 Anthropic SDK
pip install anthropic

TypeScript/Node.js 環境:

# 確認 Node.js 版本 >= 18
node --version

# 安裝 SDK
npm install @anthropic-ai/sdk

設定 API Key(環境變數)

永遠不要把 API Key 直接寫在程式碼裡。

# macOS/Linux - 加到 ~/.bashrc 或 ~/.zshrc
export ANTHROPIC_API_KEY="sk-ant-api03-你的key"

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

或使用 .env 檔案搭配 python-dotenv

# .env 檔案
ANTHROPIC_API_KEY=sk-ant-api03-你的key
from dotenv import load_dotenv
load_dotenv()

使用 Python SDK 發送第一個請求|最小可執行範例

Answer-First: 只需 5 行核心程式碼就能完成第一個 Claude API 呼叫。SDK 會自動從環境變數讀取 API Key。

基本呼叫

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "什麼是 API?請用一句話解釋。"}
    ]
)

print(message.content[0].text)

輸出範例:

API(Application Programming Interface)是一組規則和協議,讓不同的軟體系統可以互相溝通和交換資料。

帶有 System Prompt 的呼叫

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    system="你是一個專業的台灣繁體中文技術寫手。回答簡潔、專業、使用台灣用語。",
    messages=[
        {"role": "user", "content": "解釋什麼是 RESTful API"}
    ]
)

print(message.content[0].text)

多輪對話

messages = [
    {"role": "user", "content": "什麼是 Docker?"},
    {"role": "assistant", "content": "Docker 是一個容器化平台..."},
    {"role": "user", "content": "那 Kubernetes 呢?和 Docker 有什麼關係?"}
]

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=messages
)

print(message.content[0].text)

TypeScript 範例

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

const client = new Anthropic();

const message = await client.messages.create({
    model: "claude-sonnet-5",
    max_tokens: 1024,
    messages: [
        { role: "user", content: "什麼是 API?" }
    ],
});

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

進階功能:Streaming、Tool Use、Vision|讓 Claude 做更多事

Answer-First: Claude API 支援三大進階功能——Streaming(即時串流回應)、Tool Use(呼叫外部函數)、Vision(圖片理解)。這些功能讓你可以打造更複雜的 AI 應用。

Streaming — 即時串流回應

不想等 Claude 想完才看到回應?用 Streaming。

with client.messages.stream(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "寫一篇 300 字的 AI 趨勢分析"}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

適用場景:

  • 聊天機器人(逐字顯示回應)
  • 長篇內容生成
  • 提升使用者體驗

Tool Use — 讓 Claude 呼叫你的函數

這是最強大的功能之一。你可以定義工具(函數),讓 Claude 決定何時以及如何呼叫。

import json

# 定義工具
tools = [
    {
        "name": "get_weather",
        "description": "取得指定城市的天氣資訊",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string",
                    "description": "城市名稱,例如:台北"
                }
            },
            "required": ["city"]
        }
    }
]

# 發送請求
message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    tools=tools,
    messages=[{"role": "user", "content": "台北今天天氣怎麼樣?"}]
)

# Claude 會回傳 tool_use 類型的回應
for block in message.content:
    if block.type == "tool_use":
        print(f"Claude 要呼叫: {block.name}")
        print(f"參數: {json.dumps(block.input, ensure_ascii=False)}")

Vision — 圖片理解

Claude 可以分析圖片內容。

import base64

# 讀取本地圖片
with open("screenshot.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data
                    }
                },
                {
                    "type": "text",
                    "text": "這張圖片裡有什麼?"
                }
            ]
        }
    ]
)

print(message.content[0].text)

Claude API 進階功能展示畫面


Claude API 最佳實踐與錯誤處理|寫出穩定的生產程式碼

Answer-First: 生產環境中使用 Claude API,必須做好錯誤處理、速率限制管理、和成本控制。以下是實戰建議。

錯誤處理

import anthropic

client = anthropic.Anthropic()

try:
    message = client.messages.create(
        model="claude-sonnet-5",
        max_tokens=1024,
        messages=[{"role": "user", "content": "Hello"}]
    )
except anthropic.AuthenticationError:
    print("API Key 無效或過期")
except anthropic.RateLimitError:
    print("超出速率限制,請稍後重試")
except anthropic.APIError as e:
    print(f"API 錯誤: {e.status_code} - {e.message}")

常見錯誤碼

錯誤碼原因解決方式
401API Key 無效檢查 Key 是否正確
429速率限制加入重試機制或等待
500伺服器錯誤稍後重試
529API 過載加入退避重試

速率限制管理

Claude API 有使用速率限制(Rate Limit),會根據你的帳戶等級而不同。

建議實作指數退避重試:

import time
import anthropic

client = anthropic.Anthropic()

def call_with_retry(messages, max_retries=3):
    for attempt in range(max_retries):
        try:
            return client.messages.create(
                model="claude-sonnet-5",
                max_tokens=1024,
                messages=messages
            )
        except anthropic.RateLimitError:
            wait_time = 2 ** attempt
            print(f"速率限制,等待 {wait_time} 秒...")
            time.sleep(wait_time)
    raise Exception("重試次數已達上限")

成本控制

  • max_tokens 限制回應長度
  • 先用 Haiku 開發測試,上線再換 Sonnet
  • 監控 message.usage 中的 Token 消耗
  • 設定 Anthropic Console 的月度預算上限
message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}]
)

# 查看 Token 使用量
print(f"Input tokens: {message.usage.input_tokens}")
print(f"Output tokens: {message.usage.output_tokens}")

Claude API 錯誤處理與成本控制儀表板


透過 CloudInsight 採購 Claude API,享企業專屬折扣與統一發票。立即諮詢


FAQ:Claude API 串接常見問題

Claude API 和 OpenAI API 的介面差異大嗎?

格式類似但不相同。主要差異:

項目Claude APIOpenAI API
端點messages.create()chat.completions.create()
System Prompt獨立參數在 messages 中
回應格式message.content[0].textresponse.choices[0].message.content
Streamingmessages.stream()stream=True

如果你從 OpenAI 遷移過來,主要需要調整的是 API 格式和模型名稱。

串接遇到 401 錯誤怎麼辦?

通常是 API Key 問題:

  1. 確認 Key 沒有過期或被撤銷
  2. 確認環境變數名稱是 ANTHROPIC_API_KEY
  3. 確認 Key 格式正確(sk-ant-api03- 開頭)
  4. 確認帳戶有餘額

Claude API 支援哪些程式語言?

官方 SDK(Messages API 通用 client,共 7 種):

  • Python
  • TypeScript / JavaScript
  • C#
  • Go
  • Java
  • PHP
  • Ruby

另外還有官方的 ant CLI。清單以 官方 SDK 總覽 為準。

更正(2026-08): 本文早期版本寫「官方只有 Python 與 TypeScript,Go/Java/Ruby/PHP 只有社群版」。Go、Java、Ruby、PHP 這四種現在都是 Anthropic 官方 SDK,已經不是社群專案了。

社群 SDK:

  • Rust —— 目前官方清單裡沒有 Rust,這個語言仍然只有社群實作

其他官方套件: Anthropic 另有「libraries and integrations」類的東西(例如 Apple Foundation Models 的 Swift 套件、OpenAI SDK 相容層),那些不是 Messages API 的通用 client,用途不一樣,別跟上面的 SDK 清單混在一起看。

直接 HTTP: 任何能發 HTTP 請求的語言都能用。

怎麼選擇模型?

需求建議模型價格(每百萬 token 輸入/輸出)脈絡窗
最高品質輸出Claude Fable 5$10 / $501M
複雜代理式編碼、企業場景Claude Opus 5$5 / $251M
日常開發(推薦)Claude Sonnet 5$2 / $101M
高速低成本、開發測試Claude Haiku 4.5$1 / $5200K

本文所有程式範例用的都是 claude-sonnet-5,跟上表一致,可以直接複製貼上。

兩件要講清楚的事:

  1. Opus 4.6/Sonnet 4.6 並沒有下架。 它們仍列在官方的 legacy 清單裡、還是呼叫得到(Opus 4.8/4.7/4.6/4.5 都是 $5/$25,Sonnet 4.6/4.5 都是 $3/$15)。變的是「官方現行推薦」已經走到 5 世代,本文早期版本把 4.6 當成當前旗艦,那部分已經過時。
  2. Sonnet 5 的 $2/$10 是標準價,不是開跑優惠。 官方已明文說原訂調到 $3/$15 的計畫不會發生。

完整陣容與價格以官方為準:模型總覽定價頁

想了解更多 Claude 的功能和使用方式?請參考 Claude AI 完整指南

如果你對 Claude 的使用技巧有興趣,可以看看 Claude 怎麼用?功能教學與使用技巧大全

想了解 Anthropic 這家公司的背景?請參考 Anthropic 是什麼?完整介紹

更多 AI API 的購買管道和付款教學,請參考 AI API 台灣怎麼買?購買付款完整教學


結論:Claude API 串接比你想像的簡單

回顧完整流程:

  1. 安裝 SDK:pip install anthropic
  2. 設定環境變數:ANTHROPIC_API_KEY
  3. 建立 client:anthropic.Anthropic()
  4. 送出請求:client.messages.create()
  5. 進階功能:Streaming、Tool Use、Vision

5 分鐘就能跑起第一個範例。剩下的就是根據你的需求,探索進階功能和最佳實踐。

立即諮詢 CloudInsight 企業方案,一站搞定 Claude API 採購與技術支援。前往聯絡表單

或加入 CloudInsight LINE 官方帳號,即時取得開發支援。


參考資料

  1. Anthropic API Reference: https://platform.claude.com/docs/en/api/overview
  2. Anthropic Python SDK: https://github.com/anthropics/anthropic-sdk-python
  3. Anthropic Tool Use Guide: https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview

需要專業的雲端建議?

無論您正在評估雲平台、優化現有架構,或尋找節費方案,我們都能提供協助

預約免費諮詢

相關文章