本指南介紹如何在 Claude 中使用圖像,包括最佳實踐、代碼示例和需要注意的限制。
通過以下方式使用 Claude 的視覺功能:
您可以在單個請求中包含多個圖像(claude.ai 最多 20 個,API 請求最多 100 個)。Claude 將在制定響應時分析所有提供的圖像。這對於比較或對比圖像很有幫助。
如果您提交的圖像大於 8000x8000 像素,將被拒絕。如果您在一個 API 請求中提交超過 20 個圖像,此限制為 2000x2000 像素。
雖然 API 支持每個請求 100 個圖像,但標準端點有 32MB 請求大小限制。
為了獲得最佳性能,如果圖像太大,我們建議在上傳前調整圖像大小。如果您的圖像長邊超過 1568 像素,或您的圖像超過約 1,600 個令牌,它將首先被縮小,保持寬高比,直到它在大小限制內。
如果您的輸入圖像太大需要調整大小,它將增加 首令牌時間 的延遲,而不會為您提供任何額外的模型性能。任何邊小於 200 像素的非常小的圖像可能會降低性能。
為了改進 首令牌時間,我們建議 將圖像調整為不超過 1.15 百萬像素(且在兩個維度上都在 1568 像素內)。
以下是我們的 API 接受的常見寬高比的最大圖像大小表,這些圖像不會被調整大小。使用 Claude Sonnet 4.5,這些圖像使用約 1,600 個令牌,每 1K 個圖像約 $4.80。
| 寬高比 | 圖像大小 |
|---|---|
| 1:1 | 1092x1092 px |
| 3:4 | 951x1268 px |
| 2:3 | 896x1344 px |
| 9:16 | 819x1456 px |
| 1:2 | 784x1568 px |
您在請求 Claude 中包含的每個圖像都計入您的令牌使用量。要計算近似成本,請將近似圖像令牌數乘以您使用的 模型的每令牌價格。
如果您的圖像不需要調整大小,您可以通過此算法估計使用的令牌數:tokens = (width px * height px)/750
以下是基於 Claude Sonnet 4.5 每令牌價格 $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 提供圖像時,請記住以下幾點以獲得最佳結果:
許多 適用於與 Claude 進行基於文本互動的提示技術 也可以應用於基於圖像的提示。
這些示例演示了涉及圖像的最佳實踐提示結構。
就像文檔查詢放置一樣,Claude 在圖像位於文本之前時效果最好。 放在文本之後或與文本交錯的圖像仍然會表現良好,但如果您的用例允許, 我們建議採用圖像優先的結構。
以下示例演示了如何使用各種編程語言和方法使用 Claude 的視覺功能。您可以通過三種方式向 Claude 提供圖像:
image 內容塊中的 base64 編碼圖像base64 示例提示使用這些變量:
以下是如何使用 base64 編碼圖像和 URL 引用在 Messages API 請求中包含圖像的示例:
對於您將重複使用的圖像或當您想避免編碼開銷時,請使用 文件 API:
有關更多示例代碼和參數詳細信息,請參閱 Messages API 示例。
雖然 Claude 的圖像理解功能是最先進的,但需要注意一些限制:
始終仔細審查和驗證 Claude 的圖像解釋,特別是對於高風險用例。不要在沒有人工監督的情況下使用 Claude 進行需要完美精度或敏感圖像分析的任務。
準備好開始使用 Claude 的影像功能進行開發了嗎?以下是一些有用的資源:
如果您有任何其他問題,請隨時聯絡我們的支援團隊。您也可以加入我們的開發者社群,與其他創作者聯繫並獲得 Anthropic 專家的幫助。
# 對於基於 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 調用中使用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-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "'"$BASE64_IMAGE_DATA"'"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'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-5",
"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."
}
]
}
]
}'# 首先,將您的圖像上傳到文件 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 "[email protected]"
# 然後在您的消息中使用返回的 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-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'