В этом руководстве описывается, как отправлять изображения в Claude, какие ограничения и затраты применяются, а также где найти рекомендации по рабочим процессам на основе координат.
Используйте возможности зрения Claude через:
В API предоставляйте изображения Claude в виде блоков контента image, используя один из трёх типов источников:
file_id, возвращённый Files API (загрузите один раз, ссылайтесь многократно)На Amazon Bedrock и Google Cloud в настоящее время доступны только источники в кодировке base64.
Так же как размещение длинных документов перед вашим запросом улучшает результаты в текстовых подсказках, Claude работает лучше всего, когда изображения идут перед текстом. Изображения, размещённые после текста или перемежающиеся с текстом, также работают хорошо, но если ваш сценарий использования позволяет, предпочитайте структуру «сначала изображение, затем текст».
image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-8",
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)client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-8",
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. Загрузите изображение один раз, затем ссылайтесь на возвращённый 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-8",
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 анализирует их совместно. Это полезно для сравнения изображений, вопросов о различиях или работы с последовательностью, например страницами документа. При отправке нескольких изображений предваряйте каждое из них короткой текстовой меткой (Image 1:, Image 2: и так далее), чтобы вы могли ссылаться на них по имени в вашей подсказке и в последующих ходах.
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Image 1:"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC",
},
},
{"type": "text", "text": "Image 2:"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGNgYPgPAAEDAQAIicLsAAAAAElFTkSuQmCC",
},
},
{"type": "text", "text": "How are these images different?"},
],
}
],
)
print(message)В многоходовом диалоге добавляйте новые изображения в последующих ходах user таким же образом. Claude имеет доступ ко всем изображениям из предыдущих ходов, поэтому уточняющие вопросы, такие как «Похожи ли они на первые два?», работают без повторного включения более ранних изображений в содержимое нового хода.
Максимальное количество изображений на сообщение или запрос:
Максимальные размеры одного изображения — 8000x8000 пикселей.
Если один запрос к API содержит более 20 изображений, применяется более строгое ограничение размеров для каждого изображения. На Amazon Bedrock и Google Cloud блоки документов, такие как PDF, также учитываются при расчёте этого порога. Изображения, превышающие более строгое ограничение, отклоняются с ошибкой invalid_request_error, в сообщении которой упоминается «many-image requests» и указывается текущее ограничение в пикселях. Чтобы оставаться в пределах ограничения на всех платформах, либо измените размер каждого изображения так, чтобы ни одно измерение не превышало 2000 пикселей, либо ограничьте запрос 20 или менее блоками изображений и документов.
Максимальный размер одного изображения:
Хотя API поддерживает до 600 изображений на запрос, ограничения размера запроса (32 МБ для стандартных конечных точек; меньше на некоторых партнёрских платформах, например Amazon Bedrock и Google Cloud) могут быть достигнуты раньше. Для большого количества изображений рассмотрите загрузку через Files API и ссылку по file_id, чтобы сохранить полезную нагрузку запроса небольшой.
Даже при использовании Files API запросы с большим количеством крупных изображений могут завершиться неудачей до достижения лимита в 600 изображений. Уменьшите размеры изображений или размеры файлов (например, путём понижения разрешения) перед загрузкой (см. Разрешение и стоимость в токенах).
Claude поддерживает изображения JPEG, PNG, GIF и WebP (image/jpeg, image/png, image/gif, image/webp). Анимации не поддерживаются, и используется только первый кадр.
Claude рассматривает изображения в виде патчей, а не пикселей. Каждый патч — это блок изображения размером 28×28 пикселей, называемый визуальным токеном. Таким образом, изображение стоит ⌈width / 28⌉ × ⌈height / 28⌉ визуальных токенов.
Каждая модель имеет максимальное нативное разрешение изображения, выраженное как ограничение длинной стороны и ограничение визуальных токенов. Изображения, превышающие любое из ограничений, уменьшаются перед обработкой; точное правило см. в разделе Как Claude изменяет размер и дополняет изображения.
| Уровень разрешения | Модели | Макс. длинная сторона | Макс. визуальных токенов |
|---|---|---|---|
| Высокое разрешение | Claude Fable 5, Claude Mythos 5, Claude Opus 4.8, Claude Opus 4.7, Claude Sonnet 5 | 2576 пикс. | 4784 |
| Стандартное | Все остальные модели | 1568 пикс. | 1568 |
Поддержка высокого разрешения автоматическая для перечисленных моделей и не требует бета-заголовка или включения на стороне клиента.
В следующей таблице показана стоимость в визуальных токенах для нескольких размеров изображений на каждом уровне:
| Размер изображения | Токены стандартного уровня | Токены уровня высокого разрешения |
|---|---|---|
| 200x200 пикс. (0,04 мегапикселя) | 64 | 64 |
| 1000x1000 пикс. (1 мегапиксель) | 1296 | 1296 |
| 1092x1092 пикс. (1,19 мегапикселя) | 1521 | 1521 |
| 1920x1080 пикс. (2,07 мегапикселя) | 1560 | 2691 |
| 2000x1500 пикс. (3 мегапикселя) | 1564 | 3888 |
| 3840x2160 пикс. (8,29 мегапикселя) | 1560 | 4784 |
Чтобы оценить стоимость, умножьте количество токенов на цену за токен модели, которую вы используете. Например, при цене Claude Haiku 4.5 в $1 за миллион входных токенов (стандартный уровень) изображение 1000×1000 стоит около $1,30 за тысячу изображений. При цене Claude Opus 4.8 в $5 за миллион (уровень высокого разрешения) то же изображение стоит около $6,48 за тысячу, а изображение 4K — около $23,92 за тысячу.
Изображения высокого разрешения могут использовать примерно в три раза больше визуальных токенов, чем то же изображение на модели стандартного уровня. Если вам не нужна дополнительная точность, которую высокое разрешение обеспечивает для использования компьютера, понимания скриншотов и плотных документов, уменьшайте разрешение изображений перед отправкой, чтобы контролировать затраты на токены. Чтобы минимизировать задержку и упростить рабочие процессы на основе координат, предпочитайте изменять размер изображений перед их загрузкой.
При предоставлении изображений Claude учитывайте следующее для достижения наилучших результатов:
Для ограничивающих рамок, точек и пиксельных координат см. Координаты и ограничивающие рамки. Claude возвращает абсолютные пиксельные координаты относительно изображения, которое он видит после изменения размера; это руководство описывает, как Claude изменяет размер и дополняет изображения, а также как предварительно изменить размер или масштабировать, чтобы координаты соответствовали вашему исходному изображению.
Хотя возможности Claude по пониманию изображений являются передовыми, существуют некоторые ограничения, о которых следует знать:
Всегда тщательно проверяйте и верифицируйте интерпретации изображений Claude, особенно для сценариев использования с высокими ставками. Не используйте Claude для задач, требующих идеальной точности или анализа чувствительных изображений без человеческого контроля.
Получите советы и лучшие практики для таких задач, как интерпретация диаграмм и извлечение содержимого из форм.
См. документацию по Messages API, включая примеры вызовов API с изображениями.
Was this page helpful?