本指南描述如何在 Claude 中使用圖像,包括最佳實踐、程式碼範例和需要記住的限制。


如何使用視覺功能

透過以下方式使用 Claude 的視覺功能:

  • claude.ai。像上傳檔案一樣上傳圖像,或直接將圖像拖放到聊天視窗中。
  • Console Workbench。如果您選擇接受圖像的模型(僅限 Claude 3 和 4 模型),每個使用者訊息區塊的右上角會出現新增圖像的按鈕。
  • API 請求。請參閱本指南中的範例。

上傳前須知

基本資訊和限制

您可以在單一請求中包含多張圖像(claude.ai 最多 20 張,API 請求最多 100 張)。Claude 在制定回應時會分析所有提供的圖像。這對於比較或對比圖像很有幫助。

如果您提交大於 8000x8000 像素的圖像,它將被拒絕。如果您在一個 API 請求中提交超過 20 張圖像,此限制為 2000x2000 像素。

評估圖像大小

為了獲得最佳效能,如果圖像太大,我們建議在上傳前調整圖像大小。如果您的圖像長邊超過 1568 像素,或您的圖像超過約 1,600 個代幣,它將首先被縮小,保持長寬比,直到在大小限制內。

如果您的輸入圖像太大需要調整大小,它會增加首個代幣時間的延遲,而不會給您任何額外的模型效能。任何邊緣小於 200 像素的非常小的圖像可能會降低效能。

為了改善首個代幣時間,我們建議將圖像調整為不超過 1.15 百萬像素(且在兩個維度內都在 1568 像素內)。

以下是我們的 API 接受的最大圖像大小表格,這些圖像不會被調整大小,適用於常見的長寬比。使用 Claude Sonnet 3.7 模型,這些圖像使用約 1,600 個代幣,每 1K 張圖像約 $4.80。

長寬比圖像大小
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

計算圖像成本

您在請求 Claude 時包含的每張圖像都會計入您的代幣使用量。要計算大概成本,請將大概的圖像代幣數乘以您使用的模型的每代幣價格

如果您的圖像不需要調整大小,您可以透過此演算法估算使用的代幣數:代幣 = (寬度 px * 高度 px)/750

以下是基於 Claude Sonnet 3.7 每代幣價格每百萬輸入代幣 $3,在我們 API 大小限制內不同圖像大小的大概代幣化和成本範例:

圖像大小代幣數每張圖像成本每 1K 張圖像成本
200x200 px(0.04 百萬像素)~54~$0.00016~$0.16
1000x1000 px(1 百萬像素)~1334~$0.004~$4.00
1092x1092 px(1.19 百萬像素)~1590~$0.0048~$4.80

確保圖像品質

向 Claude 提供圖像時,請記住以下幾點以獲得最佳結果:

  • 圖像格式:使用支援的圖像格式:JPEG、PNG、GIF 或 WebP。
  • 圖像清晰度:確保圖像清晰,不要太模糊或像素化。
  • 文字:如果圖像包含重要文字,請確保它清晰可讀且不要太小。避免為了放大文字而裁剪掉關鍵的視覺上下文。

提示範例

許多適用於基於文字的 Claude 互動的提示技巧也可以應用於基於圖像的提示。

這些範例展示了涉及圖像的最佳實踐提示結構。

就像文件查詢放置一樣,Claude 在圖像位於文字之前時效果最佳。放置在文字之後或與文字交錯的圖像仍然會表現良好,但如果您的使用案例允許,我們建議採用圖像然後文字的結構。

關於提示範例

以下範例展示如何使用各種程式語言和方法來使用 Claude 的視覺功能。您可以透過三種方式向 Claude 提供圖像:

  1. 作為 image 內容區塊中的 base64 編碼圖像
  2. 作為線上託管圖像的 URL 參考
  3. 使用 Files API(上傳一次,多次使用)

base64 範例提示使用這些變數:

    # 對於基於 URL 的圖像,您可以在 JSON 請求中直接使用 URL
    
    # 對於 base64 編碼的圖像,您需要先編碼圖像
    # 如何在 bash 中將圖像編碼為 base64 的範例:
    BASE64_IMAGE_DATA=$(curl -s "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg" | base64)
    
    # 編碼的資料現在可以在您的 API 呼叫中使用

以下是如何在 Messages API 請求中使用 base64 編碼圖像和 URL 參考包含圖像的範例:

Base64 編碼圖像範例

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "base64",
              "media_type": "image/jpeg",
              "data": "'"$BASE64_IMAGE_DATA"'"
            }
          },
          {
            "type": "text",
            "text": "描述這張圖像。"
          }
        ]
      }
    ]
  }'

基於 URL 的圖像範例

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "url",
              "url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
            }
          },
          {
            "type": "text",
            "text": "描述這張圖像。"
          }
        ]
      }
    ]
  }'

Files API 圖像範例

對於您會重複使用的圖像或當您想要避免編碼開銷時,請使用 Files API

# 首先,將您的圖像上傳到 Files API
curl -X POST https://api.anthropic.com/v1/files \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -F "file=@image.jpg"

# 然後在您的訊息中使用返回的 file_id
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "file",
              "file_id": "file_abc123"
            }
          },
          {
            "type": "text",
            "text": "描述這張圖像。"
          }
        ]
      }
    ]
  }'

請參閱 Messages API 範例以獲取更多範例程式碼和參數詳細資訊。


限制

雖然 Claude 的圖像理解功能是尖端的,但有一些需要注意的限制:

  • 人物識別:Claude 不能用於識別(即命名)圖像中的人物,並會拒絕這樣做。
  • 準確性:Claude 在解釋低品質、旋轉或小於 200 像素的非常小圖像時可能會產生幻覺或犯錯。
  • 空間推理:Claude 的空間推理能力有限。它可能在需要精確定位或佈局的任務上有困難,如讀取類比時鐘面或描述棋子的確切位置。
  • 計數:Claude 可以給出圖像中物體的大概數量,但可能不總是精確準確,特別是對於大量小物體。
  • AI 生成圖像:Claude 不知道圖像是否為 AI 生成的,如果被問及可能會不正確。不要依賴它來檢測假的或合成圖像。
  • 不當內容:Claude 不會處理違反我們可接受使用政策的不當或明確圖像。
  • 醫療保健應用:雖然 Claude 可以分析一般醫學圖像,但它不是為了解釋複雜的診斷掃描(如 CT 或 MRI)而設計的。Claude 的輸出不應被視為專業醫療建議或診斷的替代品。

始終仔細審查和驗證 Claude 的圖像解釋,特別是對於高風險使用案例。不要在沒有人工監督的情況下將 Claude 用於需要完美精度或敏感圖像分析的任務。


常見問題


深入了解視覺功能

準備開始使用 Claude 建構圖像應用了嗎?以下是一些有用的資源:

如果您有任何其他問題,請隨時聯繫我們的支援團隊。您也可以加入我們的開發者社群,與其他創作者聯繫並從 Anthropic 專家那裡獲得幫助。