Claude Platform Docs
MessagesИзображения и зрение

Зрение

Возможности зрения Claude позволяют ему понимать и анализировать изображения, открывая захватывающие возможности для мультимодального взаимодействия.

В этом руководстве описывается, как отправлять изображения Claude, какие ограничения и затраты применяются, а также где найти рекомендации для рабочих процессов на основе координат.


Отправка изображений Claude

Используйте возможности зрения Claude через:

  • claude.ai. Загрузите изображение так же, как файл, или перетащите изображение прямо в окно чата.
  • Playground в Claude Console. Добавляйте изображения непосредственно в любой блок сообщения User.
  • Запрос API. См. следующие примеры.

В API предоставляйте изображения Claude в виде блоков содержимого image, используя один из трёх типов источников:

  1. Изображение в кодировке base64, встроенное в тело запроса
  2. URL-ссылка на изображение, размещённое в интернете
  3. file_id, возвращённый Files API (загрузите один раз, ссылайтесь многократно)

Пример изображения в кодировке base64

image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5",
    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)

Пример изображения на основе URL

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://platform.claude.com/docs/images/vision-example.jpg",
                    },
                },
                {"type": "text", "text": "Describe this image."},
            ],
        }
    ],
)
print(message)

Пример изображения через Files API

Для изображений, которые вы будете использовать многократно, или когда вы хотите избежать накладных расходов на кодирование, используйте Files API. Загрузите изображение один раз, а затем ссылайтесь на возвращённый file_id в последующих сообщениях вместо повторной отправки данных base64.

client = anthropic.Anthropic()

# Загрузите файл изображения
with open("vision-example.jpg", "rb") as f:
    file_upload = client.files.upload(file=("vision-example.jpg", f, "image/jpeg"))

# Используйте загруженный файл в сообщении
message = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    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: и так далее), чтобы вы могли ссылаться на них по имени в вашей подсказке и в последующих ходах.

image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image2_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGNgYPgPAAEDAQAIicLsAAAAAElFTkSuQmCC"

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Image 1:"},
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image1_data,
                    },
                },
                {"type": "text", "text": "Image 2:"},
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image2_data,
                    },
                },
                {"type": "text", "text": "How are these images different?"},
            ],
        }
    ],
)
print(message)

В многоходовом диалоге добавляйте новые изображения в последующих ходах user таким же образом. Claude имеет доступ ко всем изображениям из предыдущих ходов, поэтому уточняющие вопросы, такие как «Похожи ли они на первые два?», работают без повторного включения предыдущих изображений в содержимое нового хода.


Ограничения и стоимость изображений

Ограничения запросов

Максимальное количество изображений на сообщение или запрос:

  • 20 на сообщение на claude.ai.
  • 100 на запрос в API для моделей с контекстным окном в 200 тыс. токенов.
  • 600 на запрос в API для всех остальных моделей.

Максимальные размеры одного изображения — 8000x8000 пикселей.

Если один запрос API содержит более 20 изображений, к каждому изображению в этом запросе применяется более строгое ограничение размеров. Все блоки image в запросе учитываются при подсчёте этого порога, включая изображения из предыдущих ходов диалога, которые вы отправляете повторно, и изображения, вложенные в содержимое tool_result (например, снимки экрана, возвращаемые инструменту использования компьютера). На Amazon Bedrock и Google Cloud блоки документов, такие как PDF, также учитываются при подсчёте этого порога. Изображения, превышающие более строгое ограничение, отклоняются с ошибкой invalid_request_error, сообщение которой ссылается на «many-image requests» и указывает текущее ограничение в пикселях. Чтобы оставаться в пределах ограничения на всех платформах, либо измените размер каждого изображения так, чтобы ни одна из сторон не превышала 2000 пикселей, либо ограничьте запрос 20 или менее блоками изображений и документов.

Максимальный размер одного изображения:

  • 10 МБ (в кодировке base64) при прямом использовании Claude API.
  • 5 МБ (в кодировке base64) на Amazon Bedrock и Google Cloud.
  • 10 МБ на claude.ai.

Поддерживаемые форматы

Claude поддерживает изображения JPEG, PNG, GIF и WebP (image/jpeg, image/png, image/gif, image/webp). Анимация не поддерживается, используется только первый кадр.

Разрешение и стоимость в токенах

Claude рассматривает изображения фрагментами (patches), а не пикселями. Каждый фрагмент — это блок изображения размером 28×28 пикселей, называемый визуальным токеном. Таким образом, изображение стоит ⌈width / 28⌉ × ⌈height / 28⌉ визуальных токенов.

Каждая модель имеет максимальное нативное разрешение изображения, выраженное в виде ограничения по длинной стороне и ограничения по визуальным токенам. Изображения, превышающие любое из этих ограничений, уменьшаются перед обработкой; точное правило см. в разделе Как Claude изменяет размер и дополняет изображения. Исключение составляют снимки экрана и увеличенные изображения, которые вы возвращаете наборам инструментов использования компьютера и использования браузера: API отклоняет изображение tool_result, превышающее ограничения модели, с ошибкой валидации вместо его уменьшения, поэтому изменяйте размер таких изображений в вашем приложении перед их возвратом. Чтобы любое другое изображение чрезмерного размера отклонялось с ошибкой вместо уменьшения, задайте поле transformations блока изображения.

Уровень разрешенияМоделиМакс. длинная сторонаМакс. визуальных токенов
Высокое разрешениеClaude 4.7 и более поздние модели2576 пикселей4784
СтандартноеВсе остальные модели1568 пикселей1568

Поддержка высокого разрешения включается автоматически на перечисленных моделях и не требует бета-заголовка или включения на стороне клиента.

В следующей таблице показаны уменьшенное разрешение и стоимость в визуальных токенах для нескольких размеров изображений на каждом уровне:

Размер изображенияСтандартный уровень: уменьшено доСтандартный уровень: токеныУровень высокого разрешения: уменьшено доУровень высокого разрешения: токены
200x200 пикселей (0,04 мегапикселя)Без изменения размера64Без изменения размера64
1000x1000 пикселей (1 мегапиксель)Без изменения размера1296Без изменения размера1296
1092x1092 пикселей (1,19 мегапикселя)Без изменения размера1521Без изменения размера1521
1920x1080 пикселей (2,07 мегапикселя)1456x819 пикселей1560Без изменения размера2691
2000x1500 пикселей (3 мегапикселя)1269x952 пикселей1564Без изменения размера3888
3840x2160 пикселей (8,29 мегапикселя)1456x819 пикселей15602576x1449 пикселей4784

Когда изображение уменьшается, Claude масштабирует его до наибольшего размера, укладывающегося в ограничения уровня, с сохранением соотношения сторон. Это ограничивает стоимость в токенах. Точное правило и эталонную реализацию см. в разделе Как Claude изменяет размер и дополняет изображения.

Чтобы оценить стоимость, умножьте количество токенов на цену за токен модели, которую вы используете. Например, при цене Claude Haiku 4.5 в $1 за миллион входных токенов (стандартный уровень) изображение 1000×1000 стоит около $1,30 за тысячу изображений. При цене Claude Opus 5 в $5 за миллион (уровень высокого разрешения) то же изображение стоит около $6,48 за тысячу, а изображение 4K — около $23,92 за тысячу.

Изображения высокого разрешения могут использовать примерно до трёх раз больше визуальных токенов, чем то же изображение на модели стандартного уровня. Если вам не нужна дополнительная точность, которую высокое разрешение обеспечивает для использования компьютера, понимания снимков экрана и плотных документов, понижайте разрешение изображений перед отправкой, чтобы контролировать затраты на токены. Чтобы минимизировать задержку и упростить рабочие процессы на основе координат, предпочитайте изменять размер изображений перед их загрузкой.

Рекомендации по качеству изображений

Предоставляя изображения Claude, учитывайте следующее для достижения наилучших результатов:

  • Чёткость изображения: Убедитесь, что изображения чёткие и не слишком размытые или пикселизированные.
  • Текст: Если изображение содержит важный текст, убедитесь, что он разборчив и не слишком мелкий. Избегайте обрезки ключевого визуального контекста исключительно ради увеличения текста.
  • Изменение размера: Учитывайте, что размер вашего изображения может быть изменён, если оно слишком большое (см. Разрешение и стоимость в токенах); это может, например, сделать текст менее разборчивым. Рассмотрите предварительное изменение размера изображений, их обрезку или и то, и другое. Чтобы изображение чрезмерного размера отклонялось с ошибкой вместо изменения размера (важно для рабочих процессов с координатами), пометьте блок изображения с помощью "oversized_image": "error".
  • Сжатие изображений: Сжатие изображений перед отправкой с использованием формата с потерями, такого как JPEG или WebP (режим с потерями), может снизить задержку за счёт уменьшения размера запросов. Однако это может привести к появлению артефактов, которые ухудшают производительность модели, особенно при применении нескольких проходов сжатия. Например, сильное сжатие JPEG может затруднить чтение текста. Убедитесь, что ваши настройки сжатия подходят для задачи, проверив фактические изображения, отправляемые в API.

Координаты и ограничивающие рамки

Информацию об ограничивающих рамках, точках и пиксельных координатах см. в разделе Координаты и ограничивающие рамки. Claude возвращает абсолютные пиксельные координаты относительно изображения, которое он видит после изменения размера; в этом руководстве описывается, как Claude изменяет размер и дополняет изображения и как предварительно изменить размер или пересчитать масштаб, чтобы координаты совпадали с вашим исходным изображением.


Ограничения

Хотя возможности Claude по пониманию изображений являются передовыми, существуют некоторые ограничения, о которых следует знать:

  • Идентификация людей: Claude нельзя использовать для называния имён людей на изображениях, и он отказывается это делать.
  • Точность: Claude может галлюцинировать или допускать ошибки при интерпретации изображений низкого качества, повёрнутых или очень маленьких изображений размером менее 200 пикселей.
  • Пространственное мышление: Выходные данные Claude по координатам и локализации являются приблизительными. Следуйте рекомендациям в разделе Координаты и ограничивающие рамки и проверяйте результаты, прежде чем полагаться на них.
  • Подсчёт: Claude может давать приблизительное количество объектов на изображении, но не всегда может быть абсолютно точным, особенно при большом количестве мелких объектов.
  • Изображения, созданные ИИ: Claude не может определить, создано ли изображение ИИ, и может ошибаться, если его об этом спросить. Не полагайтесь на него для обнаружения поддельных или синтетических изображений.
  • Неприемлемый контент: Claude не обрабатывает неприемлемые или откровенные изображения, нарушающие Политику допустимого использования.
  • Применение в здравоохранении: Хотя Claude может анализировать общие медицинские изображения, он не предназначен для интерпретации сложных диагностических снимков, таких как КТ или МРТ. Результаты Claude не следует рассматривать как замену профессиональной медицинской консультации или диагноза.

Всегда тщательно проверяйте и верифицируйте интерпретации изображений Claude, особенно в сценариях использования с высокими ставками. Не используйте Claude для задач, требующих идеальной точности или анализа чувствительных изображений, без контроля со стороны человека.


Часто задаваемые вопросы


Следующие шаги

Получите советы и лучшие практики для таких задач, как интерпретация диаграмм и извлечение содержимого из форм.

См. документацию Messages API, включая примеры вызовов API с изображениями.

Was this page helpful?