Loading...
  • 建構
  • 管理
  • 模型與定價
  • 客戶端 SDK
  • API 參考
Search...
⌘K
Log in
圖像與視覺
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
建構/處理檔案

視覺

Claude 的視覺功能允許它理解和分析圖像,為多模態互動開啟了令人興奮的可能性。

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


如何使用視覺功能

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

  • claude.ai。上傳圖像就像上傳文件一樣,或直接將圖像拖放到聊天視窗中。
  • Console Workbench。在每個使用者訊息區塊的右上角會出現一個新增圖像的按鈕。
  • API 請求。請參閱本指南中的範例。

上傳前

基礎知識和限制

您可以在單個請求中包含多個圖像:claude.ai 最多 20 個,API 請求最多 600 個(對於具有 200k 令牌上下文視窗的模型為 100 個)。Claude 在制定回應時會分析所有提供的圖像。這對於比較或對比圖像很有幫助。

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

雖然 API 支援每個請求最多 600 個圖像,但請求大小限制(標準端點為 32 MB;某些第三方平台上更低)可能會先達到。對於許多圖像,請考慮使用 Files API 上傳並透過 file_id 參考,以保持請求負載較小。

即使使用 Files API,包含許多大型圖像的請求也可能在達到 600 個圖像計數之前失敗。在上傳前減少圖像尺寸或文件大小(例如,透過下採樣)(請參閱評估圖像大小)。

評估圖像大小

為了在不犧牲輸出品質的情況下最小化延遲,如果圖像過大,請在上傳前調整其大小。在 Claude Opus 4.6、Claude Sonnet 4.6 和更早的模型上,如果您的圖像長邊超過 1568 像素,或您的圖像超過約 1,600 個令牌,它會首先按比例縮小,保持寬高比,直到它在大小限制內。

如果您的輸入圖像過大且需要調整大小,它會增加首令牌時間的延遲,對輸出品質沒有任何好處。任何邊小於 200 像素的非常小的圖像可能會降低輸出品質。

對於 Claude Opus 4.7 之前的模型,為了改進首令牌時間,請考慮 將圖像調整為不超過 1.15 百萬像素(且在兩個維度上都在 1568 像素內)。對於 Claude Opus 4.7,請參閱下面的Claude Opus 4.7 上的高解析度圖像支援。

Claude Opus 4.7 上的高解析度圖像支援

Claude Opus 4.7 是第一個具有高解析度圖像支援的 Claude 模型。最大圖像解析度為長邊 2576 像素(比之前模型的 1568 px 提高)。這為視覺密集型工作負載帶來了效能提升,對於電腦使用、螢幕截圖理解和文件分析特別有價值。

高解析度支援在 Claude Opus 4.7 上是自動的,不需要測試版標頭或客戶端選擇加入。

令牌成本: Claude Opus 4.7 上的全解析度圖像可以使用比之前模型多約 3 倍的圖像令牌(每個圖像最多 4784 個令牌,相比之前的約 1,600 個令牌上限)。如果您不需要額外的保真度,請在發送前對圖像進行下採樣以控制令牌成本。

座標數學: 在 Claude Opus 4.7 上,模型返回的指向和邊界框座標與實際圖像像素的比例為 1

,因此不需要進行比例因子轉換。這簡化了電腦使用、註釋和本地化工作流程。

以下是 API 接受的最大圖像大小表,這些大小不會針對常見寬高比進行調整。使用 Claude Sonnet 4.6,這些圖像使用約 1,600 個令牌,每 1k 個圖像約 $4.80。

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

計算圖像成本

您在請求中包含的每個圖像都計入您的令牌使用量。要計算近似成本,請將近似圖像令牌數乘以您使用的模型的每令牌價格。

如果您的圖像不需要調整大小,您可以透過此演算法估計使用的令牌數:tokens = (width px * height px)/750

以下是基於 Claude Sonnet 4.6 每令牌價格 $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 範例提示使用這些變數:

import base64
import httpx

# 對於 base64 編碼的圖像
image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")

image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.standard_b64encode(httpx.get(image2_url).content).decode("utf-8")

# 對於基於 URL 的圖像,您可以直接在請求中使用 URL

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

Base64 編碼圖像範例

image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {"type": "text", "text": "Describe this image."},
            ],
        }
    ],
)
print(message)

基於 URL 的圖像範例

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-4-7",
    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": "Describe this image."},
            ],
        }
    ],
)
print(message)

Files API 圖像示例

對於您會重複使用的圖像,或當您想避免編碼開銷時,請使用 Files API。上傳圖像一次,然後在後續訊息中參考返回的 file_id,而不是重新發送 base64 資料。

在多輪對話和代理工作流中,每個請求都會重新發送完整的對話歷史記錄。如果圖像是 base64 編碼的,完整的圖像位元組會包含在每一輪的有效負載中,這可能會隨著對話的增長而顯著增加請求大小和延遲。將圖像上傳到 Files API 並通過 file_id 參考它們,無論對話歷史記錄中累積了多少圖像,都能保持請求有效負載較小。

client = anthropic.Anthropic()

# 上傳圖像檔案
with open("image.jpg", "rb") as f:
    file_upload = client.beta.files.upload(file=("image.jpg", f, "image/jpeg"))

# 在訊息中使用上傳的檔案
message = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    betas=["files-api-2025-04-14"],
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {"type": "file", "file_id": file_upload.id},
                },
                {"type": "text", "text": "Describe this image."},
            ],
        }
    ],
)

print(message.content)

請參閱 Messages API 示例 以獲取更多示例代碼和參數詳細資訊。


限制

雖然 Claude 的圖像理解能力是最先進的,但需要注意一些限制:

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

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


常見問題


深入探索視覺

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

  • 多模態食譜:此食譜提供了有關 開始使用圖像 和 視覺最佳實踐技術 的提示,以確保圖像的最高質量性能。了解如何有效地使用圖像提示 Claude 以執行任務,例如 解釋和分析圖表 或 從表單中提取內容。
  • API 參考:Messages API 的文檔,包括涉及圖像的示例 API 調用。

如果您有任何其他問題,請聯繫 支持團隊。您也可以加入 開發者社區 與其他創作者聯繫並獲得 Anthropic 專家的幫助。

Was this page helpful?

  • Base64 編碼圖像範例
  • 基於 URL 的圖像範例
  • Files API 圖像示例