API 是什麼?AI API 入門指南與實務應用

一句話說明

API(Application Programming Interface,應用程式介面)是讓不同軟體之間互相溝通的標準方式。你可以把它想成餐廳的菜單——你不用進廚房,只要點菜(發送請求),廚房就會把菜做好送出來(回傳結果)。

API 的基本概念

每次你用 App 查天氣、用 Google Maps 看路線、或是在網站上刷信用卡付款,背後都有 API 在運作。前端的 App 透過 API 把你的請求送到後端的伺服器,伺服器處理完後把結果透過 API 送回來。

API 的價值在於「標準化」和「隔離」。標準化讓不同團隊開發的軟體可以互通;隔離讓你不需要知道對方內部怎麼運作,只要知道怎麼送請求、會收到什麼回應就好。

常見的 API 型態:

REST API。目前最普遍的 API 風格,用 HTTP 方法(GET 取得資料、POST 送出資料、PUT 更新、DELETE 刪除)來操作資源。大多數的 AI API 都是 REST API。

SDK(Software Development Kit)。軟體開發套件,把 API 呼叫包裝成程式語言原生的函式,用起來更方便。例如 OpenAI 的 Python SDK 讓你不用自己組 HTTP 請求,直接呼叫 client.chat.completions.create() 就好。

Webhook。API 的反向版本——你給對方一個 URL,當特定事件發生時,對方主動通知你。

AI API 的特殊之處

AI API 和一般的 API 有幾個關鍵差異:

Token 計費

一般的 API 通常按月或按請求次數收費。AI API 是按 token 計費,而且輸入和輸出分開計價。

Token 不等於字。英文大約是 1 個字 = 1-1.5 個 token,中文大約是 1 個字 = 1.5-2 個 token。一段 1000 字的中文文章大約是 1500-2000 個 token。

輸出 token 通常比輸入 token 貴 3-5 倍。所以同樣的問題,如果你要求 AI 「簡短回答」而不是「詳細說明」,成本差距可能到 5 倍以上。

串流回應(Streaming)

一般 API 是整個回應處理完才一次送回來。AI API 支援串流模式,模型每生成一個 token 就立即送出,讓使用者看到打字效果而不是等待很久後才看到一大段文字。串流在體驗上很重要,但程式碼處理上比較複雜,需要逐段接收和組合。

速率限制(Rate Limiting)

AI API 的速率限制通常比一般 API 嚴格,因為每個請求都需要 GPU 運算資源。常見的限制維度包括:每分鐘請求數(RPM)、每分鐘 token 數(TPM)、每天請求數。新帳號的限制通常更嚴格,隨著使用時間和付費金額增加而放寬。

模型選擇

同一個 API 供應商通常提供多個模型選項,能力和價格不同。OpenAI 有 GPT-4o 和 GPT-4o-mini,Anthropic 有 Claude Opus、Sonnet、Haiku。選對模型是控制成本的關鍵——簡單的分類任務用最便宜的模型就夠了,不需要用最貴的模型。

呼叫 AI API 的實際流程

不管是用 OpenAI、Anthropic 還是 Google 的 API,基本流程都一樣:

第一步,註冊帳號並取得 API Key。API Key 就像你的密碼,用來驗證身份和計費。每個供應商都有自己的 API Key 格式(OpenAI 是 sk- 開頭,Anthropic 也是 sk-ant- 開頭)。

第二步,安裝 SDK。通常用 pip 安裝對應的 Python 套件(如 openai、anthropic)。

第三步,設定 API Key。把 API Key 放在環境變數裡(如 OPENAI_API_KEY),讓程式讀取。絕對不要把 API Key 寫死在程式碼裡。

第四步,發送請求。構造一個包含模型名稱、訊息(messages)和參數(溫度、最大 token 數等)的請求。

第五步,處理回應。解析 API 回傳的 JSON 資料,提取你需要的內容。

一個 Python 呼叫 Anthropic API 的簡化範例:

import anthropic
import os

client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

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

print(message.content[0].text)

API Key 的安全管理

API Key 洩漏是最常見的安全事故之一。一旦洩漏,別人可以用你的 Key 無限呼叫 API,帳單由你支付。

環境變數。API Key 放在環境變數或 .env 檔案裡,不要寫進程式碼。

.gitignore。確保 .env 檔案在 .gitignore 裡,不會被 commit 到 Git。

定期輪替。每隔幾個月換一次 API Key。如果懷疑洩漏,立即在供應商後台撤銷。

設定用量上限。大多數 AI API 供應商都可以設定每月花費上限。建議一開始就設,避免意外的高額帳單。

最小權限。如果 API 支援不同權限等級的 Key,只給程式需要的最低權限。

前端不放 Key。API Key 絕對不能放在前端程式碼(JavaScript)裡,因為任何人都可以用瀏覽器開發者工具看到。API 呼叫應該經過你自己的後端伺服器。

安全與限制

資料傳輸。你送到 AI API 的所有內容都會經過網際網路傳到供應商的伺服器。在傳輸過程中有 HTTPS 加密,但資料在供應商的伺服器上會被處理。不同供應商對資料的儲存和使用政策不同——有些免費版 API 會用你的資料來訓練模型,付費版和企業版通常不會。

成本控制。AI API 很容易失控超支。一個寫壞的迴圈可能在幾分鐘內產生數百美元的帳單。除了設定花費上限,也要在程式中加入請求速率控制和 token 預算限制。

可用性。AI API 不保證 100% 可用。模型更新、流量高峰、服務維護都可能導致暫時不可用或回應變慢。正式產品要有錯誤處理和重試機制。

版本變更。AI 模型會更新版本,API 介面也可能改變。OpenAI 和 Anthropic 都發生過模型更新後輸出品質或格式微妙變化的情況。正式產品應該鎖定模型版本(用日期標記的版本名稱),不要用 latest 或 auto。

知識檢測

讀完文章後,測試一下你對這個主題的理解。

常見問題

用 AI API 和用 ChatGPT 網頁有什麼不同?

API 讓你用程式控制 AI,可以自動化、批量處理、整合到你自己的應用裡。網頁版是手動一次一次對話。API 通常按 token 計費(用多少付多少),網頁版是月費吃到飽(但有使用量上限)。另外,API 版的資料通常不會被用來訓練模型,免費網頁版可能會。

AI API 貴嗎?

看用量。輕度使用(每天幾十個請求),一個月可能只要幾美元。中度使用(每天幾千個請求),大約幾十到幾百美元。如果你的應用有很多使用者同時呼叫,費用會快速增加。選對模型(簡單任務用便宜模型)是控制成本的關鍵。

不會寫程式可以用 AI API 嗎?

直接用 API 需要基本的程式能力。但有很多 no-code 工具(如 Zapier、Make、n8n)可以讓你不寫程式就呼叫 AI API。另外,用 ChatGPT 或 Claude 的網頁版就不需要任何程式能力。

API Key 被盜怎麼辦?

立即到供應商後台撤銷該 Key,產生新的 Key。檢查帳單有沒有異常使用。如果已經產生高額費用,聯繫供應商客服說明情況(多數供應商對被盜用的情況有一定的寬容政策)。之後改用更安全的 Key 管理方式。

該選哪個 AI API?

看需求。寫程式和開發工具整合:OpenAI 或 Anthropic。需要 Google 生態系整合:Gemini。重視隱私(API 預設不訓練):Anthropic。預算有限:各家都有便宜的小型模型選項(GPT-4o-mini、Claude Haiku)。建議先各家試用比較,因為不同任務上的表現差異可能比你預期的大。

相關文章

參考資料

  • OpenAI API 官方文件
  • Anthropic API 官方文件
  • Google Gemini API 官方文件