本指南介绍了如何在 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 Opus 4.6 时,这些图像大约使用 1,600 个 token,费用约为 $4.80/1K 张图像。
| 宽高比 | 图像尺寸 |
|---|---|
| 1:1 | 1092x1092 px |
| 3:4 | 951x1268 px |
| 2:3 | 896x1344 px |
| 9:16 | 819x1456 px |
| 1:2 | 784x1568 px |
您在请求中包含的每张图像都会计入您的 token 使用量。要计算大致成本,请将图像 token 的大致数量乘以您所使用模型的每 token 价格。
如果您的图像不需要调整大小,您可以通过以下算法估算使用的 token 数量:tokens = (width px * height px)/750
以下是基于 Claude Opus 4.6 每百万输入 token $3 的价格,在我们 API 大小限制内不同图像尺寸的大致 token 化和成本示例:
| 图像尺寸 | Token 数量 | 每张图像成本 | 每 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 示例提示词使用以下变量:
# 对于基于 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 引用包含图像的示例:
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-opus-4-6",
"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-opus-4-6",
"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:
# 首先,将图像上传到 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-opus-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'请参阅 Messages API 示例了解更多示例代码和参数详情。
虽然 Claude 的图像理解能力处于前沿水平,但仍有一些需要注意的限制:
请始终仔细审查和验证 Claude 的图像解读,特别是对于高风险用例。不要在没有人工监督的情况下将 Claude 用于需要完美精度或敏感图像分析的任务。
准备好使用 Claude 的图片功能开始构建了吗?以下是一些有用的资源:
如果您有任何其他问题,请随时联系我们的支持团队。您也可以加入我们的开发者社区,与其他创作者交流并获得 Anthropic 专家的帮助。
Was this page helpful?