本指南介绍如何在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个令牌,每1000个图像约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大小限制内不同图像大小的大约令牌化和成本示例:
| 图像大小 | 令牌数 | 每个图像成本 | 每1000个图像成本 |
|---|---|---|---|
| 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请求中包含图像的示例:
对于您将重复使用的图像或想要避免编码开销的情况,请使用Files 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."
}
]
}
]
}'# 首先,将您的图像上传到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 "[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."
}
]
}
]
}'