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


Как использовать зрение

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

  • claude.ai. Загрузите изображение как файл или перетащите изображение прямо в окно чата.
  • Console Workbench. Если вы выберете модель, которая принимает изображения (только модели Claude 3), кнопка для добавления изображений появится в правом верхнем углу каждого блока сообщений пользователя.
  • API запрос. Смотрите примеры в этом руководстве.

Перед загрузкой

Оценка размера изображения

Вы можете включить несколько изображений в один запрос (до 5 для claude.ai и 100 для API запросов). Claude проанализирует все предоставленные изображения при формулировании своего ответа. Это может быть полезно для сравнения или противопоставления изображений.

Для оптимальной производительности мы рекомендуем изменять размер изображений перед загрузкой, если они превышают ограничения по размеру или токенам. Если длинная сторона вашего изображения превышает 1568 пикселей, или ваше изображение превышает ~1,600 токенов, оно сначала будет уменьшено с сохранением пропорций, пока не окажется в пределах ограничений по размеру.

Если ваше входное изображение слишком большое и требует изменения размера, это увеличит задержку time-to-first-token, не давая вам никакой дополнительной производительности модели. Очень маленькие изображения размером менее 200 пикселей по любой стороне могут ухудшить производительность.

Чтобы улучшить time-to-first-token, мы рекомендуем изменять размер изображений до не более 1.15 мегапикселей (и в пределах 1568 пикселей по обоим измерениям).

Вот таблица максимальных размеров изображений, принимаемых нашим API, которые не будут изменены для распространенных соотношений сторон. С моделью Claude 3.5 Sonnet эти изображения используют примерно 1,600 токенов и около $4.80/1K изображений.

Соотношение сторонРазмер изображения
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

Расчет стоимости изображений

Каждое изображение, которое вы включаете в запрос к Claude, учитывается в использовании токенов. Чтобы рассчитать приблизительную стоимость, умножьте приблизительное количество токенов изображения на цену за токен модели, которую вы используете.

Если ваше изображение не требует изменения размера, вы можете оценить количество используемых токенов по этому алгоритму: tokens = (width px * height px)/750

Вот примеры приблизительной токенизации и стоимости для различных размеров изображений в пределах ограничений размера нашего API на основе цены за токен Claude 3.5 Sonnet в $3 за миллион входных токенов:

Размер изображенияКол-во токеновСтоимость / изображениеСтоимость / 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, учитывайте следующее для получения наилучших результатов:

  • Формат изображения: Используйте поддерживаемый формат изображения: JPEG, PNG, GIF или WebP.
  • Четкость изображения: Убедитесь, что изображения четкие и не слишком размытые или пикселизированные.
  • Текст: Если изображение содержит важный текст, убедитесь, что он разборчив и не слишком мелкий. Избегайте обрезки ключевого визуального контекста только для увеличения текста.

Примеры промптов

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

Эти примеры демонстрируют структуры промптов, соответствующие лучшим практикам при работе с изображениями.

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

О примерах промптов

Эти примеры промптов используют Anthropic Python SDK и получают изображения из Википедии с помощью библиотеки httpx. Вы можете использовать любой источник изображений.

Примеры промптов используют эти переменные.

Python
import base64
import httpx

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")

Чтобы использовать изображения при выполнении API-запроса, вы можете предоставить изображения Claude в виде base64-кодированного изображения в блоках контента image. Вот простой пример на Python, показывающий, как включить base64-кодированное изображение в запрос Messages API:

Python
import anthropic

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

Смотрите примеры Messages API для получения дополнительных примеров кода и деталей параметров.


Ограничения

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

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

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


FAQ


Глубже погружаемся в зрение

Готовы начать создавать с изображениями используя Claude? Вот несколько полезных ресурсов:

Если у вас есть другие вопросы, не стесняйтесь обращаться к нашей команде поддержки. Вы также можете присоединиться к нашему сообществу разработчиков, чтобы связаться с другими создателями и получить помощь от экспертов Anthropic.