В этом руководстве описывается, как работать с изображениями в Claude, включая лучшие практики, примеры кода и ограничения, о которых следует помнить.
Используйте возможности зрения Claude через:
В один запрос можно включить несколько изображений, которые Claude проанализирует совместно при формулировании ответа. Это может быть полезно для сравнения или сопоставления изображений.
Максимальное количество изображений на одно сообщение или запрос:
Максимальные размеры одного изображения — 8000x8000 пикселей. Если вы отправляете более 20 изображений в одном запросе API, этот лимит снижается до 2000x2000 пикселей.
Максимальный размер одного изображения:
Хотя API поддерживает до 600 изображений на запрос, ограничения на размер запроса (32 МБ для стандартных конечных точек; меньше на некоторых партнёрских платформах, например Amazon Bedrock и Vertex AI) могут быть достигнуты раньше. При большом количестве изображений рассмотрите возможность загрузки через Files API и ссылки по file_id, чтобы сохранить небольшой размер полезной нагрузки запроса.
Даже при использовании Files API запросы с большим количеством крупных изображений могут завершиться ошибкой до достижения лимита в 600 изображений. Уменьшите размеры изображений или размеры файлов (например, путём понижения разрешения) перед загрузкой (см. Оценка размера изображения).
Изображение использует приблизительно width * height / 750 токенов, где ширина и высота выражены в пикселях.
Максимальное нативное разрешение изображения:
Если ваше входное изображение больше этого нативного разрешения, оно сначала будет изменено до максимально возможного размера с сохранением соотношения сторон. Кроме того, изображения дополняются снизу и справа до размера, кратного 28 пикселям.
Когда вы просите Claude вывести координаты (точки, ограничивающие рамки и т. д.), они будут выражены относительно изменённого/дополненного изображения, и их нужно будет соответствующим образом масштабировать/сместить на стороне клиента на основе исходных и изменённых размеров.
Чтобы минимизировать задержку и упростить рабочие процессы на основе координат, рекомендуется изменять размер изображений перед их загрузкой.
Каждое изображение, которое вы включаете в запрос к Claude, учитывается в использовании токенов. Чтобы рассчитать приблизительную стоимость, умножьте приблизительное количество токенов изображения, вычисленное как указано выше, на цену за токен модели, которую вы используете.
Вот примеры приблизительной токенизации и стоимости для различных размеров изображений в пределах ограничений размера API на основе цены Claude Sonnet 4.6 за токен — $3 за миллион входных токенов:
| Размер изображения | Кол-во токенов | Стоимость / изображение | Стоимость / 1 тыс. изображений |
|---|---|---|---|
| 200x200 px (0,04 мегапикселя) | ~54 | ~$0,00016 | ~$0,16 |
| 1000x1000 px (1 мегапиксель) | ~1334 | ~$0,004 | ~$4,00 |
| 1092x1092 px (1,19 мегапикселя) | ~1568 | ~$0,0047 | ~$4,70 |
| 1920x1080 px (2,07 мегапикселя) | ~1568 | ~$0,0047 | ~$4,70 |
| 2000x1500 px (3 мегапикселя) | ~1568 | ~$0,0047 | ~$4,70 |
Обратите внимание, что последние три изображения уменьшаются перед обработкой.
Claude Opus 4.7 — первая модель Claude с поддержкой изображений высокого разрешения; Claude Opus 4.8, Claude Fable 5, Claude Mythos 5 и более поздние модели также её поддерживают. Максимальное разрешение изображения составляет 2576 пикселей по длинной стороне, по сравнению с 1568 пикселями в предыдущих моделях. Это обеспечивает прирост производительности в задачах с интенсивным использованием зрения и особенно ценно для работы с компьютером, понимания скриншотов и анализа документов.
Поддержка высокого разрешения включается автоматически в Claude Opus 4.7 и более поздних моделях и не требует бета-заголовка или включения на стороне клиента.
Изображения высокого разрешения в Claude Opus 4.7, Claude Opus 4.8, Claude Fable 5 и Claude Mythos 5 могут использовать примерно в 3 раза больше токенов изображения, чем в предыдущих моделях (4784 против 1568 токенов на изображение). Если вам не нужна дополнительная детализация, уменьшите разрешение изображений перед отправкой, чтобы контролировать затраты на токены.
Вот те же размеры изображений, токенизированные для Claude Opus 4.7 и Claude Opus 4.8, на основе их цены за токен — $5 за миллион входных токенов:
| Размер изображения | Кол-во токенов | Стоимость / изображение | Стоимость / 1 тыс. изображений |
|---|---|---|---|
| 200x200 px (0,04 мегапикселя) | ~54 | ~$0,00027 | ~$0,27 |
| 1000x1000 px (1 мегапиксель) | ~1334 | ~$0,0067 | ~$6,70 |
| 1092x1092 px (1,19 мегапикселя) | ~1590 | ~$0,0080 | ~$8,00 |
| 1920x1080 px (2,07 мегапикселя) | ~2765 | ~$0,014 | ~$14,00 |
| 2000x1500 px (3 мегапикселя) | ~4000 | ~$0,020 | ~$20,00 |
При предоставлении изображений Claude учитывайте следующее для получения наилучших результатов:
Многие из техник составления подсказок, которые хорошо работают для текстового взаимодействия с Claude, также могут применяться к подсказкам на основе изображений.
Эти примеры демонстрируют лучшие практики структурирования подсказок с использованием изображений.
Так же как размещение длинных документов перед вашим запросом улучшает результаты в текстовых подсказках, Claude работает лучше всего, когда изображения идут перед текстом. Изображения, размещённые после текста или перемежающиеся с текстом, по-прежнему работают хорошо, но если ваш сценарий использования позволяет, предпочтительнее структура «сначала изображение, затем текст».
Следующие примеры демонстрируют, как использовать возможности зрения Claude с помощью различных языков программирования и подходов. Вы можете предоставить изображения Claude тремя способами:
imageНа Amazon Bedrock и Vertex AI в настоящее время доступны только источники в кодировке base64.
Примеры подсказок с base64 используют следующие переменные:
import base64
import httpx
# Для изображений в кодировке base64
image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")
image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.standard_b64encode(httpx.get(image2_url).content).decode("utf-8")
# Для изображений по URL можно использовать URL-адреса напрямую в запросахНиже приведены примеры того, как включить изображения в запрос Messages API, используя изображения в кодировке base64 и URL-ссылки:
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 являются передовыми, существуют некоторые ограничения, о которых следует знать:
Всегда тщательно проверяйте и верифицируйте интерпретации изображений Claude, особенно для критически важных сценариев использования. Не используйте Claude для задач, требующих идеальной точности или анализа чувствительных изображений без человеческого контроля.
Готовы начать создавать с использованием изображений в Claude? Вот несколько полезных ресурсов:
Если у вас есть другие вопросы, обратитесь в службу поддержки. Вы также можете присоединиться к сообществу разработчиков, чтобы общаться с другими создателями и получать помощь от экспертов Anthropic.
Was this page helpful?