本指南介紹如何在 Claude 中使用圖像,包括最佳實踐、程式碼範例和需要注意的限制。
透過以下方式使用 Claude 的視覺功能:
您可以在單一請求中包含多個圖像(claude.ai 最多 20 個,API 請求最多 100 個)。Claude 在制定回應時會分析所有提供的圖像。這對於比較或對比圖像很有幫助。
如果您提交的圖像大於 8000x8000 像素,將被拒絕。如果您在一個 API 請求中提交超過 20 個圖像,此限制為 2000x2000 像素。
雖然 API 支援每個請求 100 個圖像,但標準端點的 32MB 請求大小限制。
為了獲得最佳效能,我們建議在上傳前調整過大的圖像大小。如果您的圖像長邊超過 1568 像素,或您的圖像超過約 1,600 個 token,它將首先被縮小,保持寬高比,直到符合大小限制。
如果您的輸入圖像過大需要調整大小,這將增加 首個 token 的延遲時間,而不會為您提供任何額外的模型效能。任何邊小於 200 像素的非常小的圖像可能會降低效能。
為了改善 首個 token 的延遲時間,我們建議 將圖像調整為不超過 1.15 百萬像素(且在兩個維度上都在 1568 像素以內)。
以下是我們 API 接受的常見寬高比的最大圖像大小表,這些圖像不會被調整大小。使用 Claude Sonnet 3.7 模型,這些圖像使用約 1,600 個 token,每 1K 個圖像約 $4.80。
| 寬高比 | 圖像大小 |
|---|---|
| 1 | 1092x1092 像素 |
| 3 | 951x1268 像素 |
| 2 | 896x1344 像素 |
| 9 | 819x1456 像素 |
| 1 | 784x1568 像素 |
您在 Claude 請求中包含的每個圖像都計入您的 token 使用量。要計算近似成本,請將近似圖像 token 數乘以您使用的 模型的每個 token 價格。
如果您的圖像不需要調整大小,您可以透過此演算法估計使用的 token 數:tokens = (width px * height px)/750
以下是基於 Claude Sonnet 3.7 每個 token $3 百萬輸入 token 價格,在我們 API 大小限制內的不同圖像大小的近似 token 化和成本範例:
| 圖像大小 | Token 數 | 每個圖像成本 | 每 1K 個圖像成本 |
|---|---|---|---|
| 200x200 像素(0.04 百萬像素) | 約 54 | 約 $0.00016 | 約 $0.16 |
| 1000x1000 像素(1 百萬像素) | 約 1334 | 約 $0.004 | 約 $4.00 |
| 1092x1092 像素(1.19 百萬像素) | 約 1590 | 約 $0.0048 | 約 $4.80 |
向 Claude 提供圖像時,請記住以下幾點以獲得最佳結果:
許多 適用於 Claude 文字互動的提示技術 也可以應用於基於圖像的提示。
這些範例展示了涉及圖像的最佳實踐提示結構。
就像文件查詢位置一樣,Claude 在圖像位於文字之前時效果最佳。 放在文字之後或與文字交錯的圖像仍會表現良好,但如果您的使用案例允許, 我們建議採用圖像優先的結構。
以下範例展示如何使用各種程式設計語言和方法使用 Claude 的視覺功能。您可以透過三種方式向 Claude 提供圖像:
image 內容區塊中的 base64 編碼圖像base64 範例提示使用這些變數:
以下是如何在 Messages API 請求中使用 base64 編碼圖像和 URL 參考包含圖像的範例:
對於您將重複使用的圖像或想要避免編碼開銷時,請使用 檔案 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."
}
]
}
]
}'