Мультимодальность: изображения на вход

Современные модели «видят» картинки: можно отправить изображение и спросить, что на нём.

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

Что это даёт

  • Описать содержимое фото, скриншота, схемы.
  • Извлечь текст из изображения (OCR-подобные задачи).
  • Разобрать график, таблицу, диаграмму.
  • Понять интерфейс по скриншоту (основа computer use).

Заметьте: речь о картинках на вход. Генерацию изображений делают другие модели; здесь модель изображения только анализирует.

Как передать изображение

Два способа: закодировать в base64 и вложить в запрос, либо передать URL. Изображение — это ещё один блок в content рядом с текстом-вопросом.

import base64, anthropic

client = anthropic.Anthropic()
with open("chart.png", "rb") as f:
    img_b64 = base64.standard_b64encode(f.read()).decode()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=512,
    messages=[{"role": "user", "content": [
        {"type": "image", "source": {
            "type": "base64", "media_type": "image/png", "data": img_b64
        }},
        {"type": "text", "text": "Что показывает этот график?"},
    ]}],
)
{
  "type": "image",
  "source": {"type": "url", "url": "https://example.com/photo.jpg"}
}

Сколько это стоит

Изображение тоже считается в токенах — по своему размеру/разрешению. Крупные картинки «съедают» заметно больше токенов, чем абзац текста. Если высокая детализация не нужна, уменьшайте разрешение перед отправкой.

Текст и изображение вместе

Сила мультимодальных моделей в том, что текст и картинку можно комбинировать в одном запросе и даже в диалоге. Можно приложить скриншот ошибки и спросить «что не так и как починить», передать фото чека и попросить вынуть позиции в JSON (привет, структурированный вывод из раздела 4), или показать макет и попросить описать вёрстку. Изображение — это просто ещё один блок content, поэтому оно встраивается в ту же механику сообщений и ролей, что и текст.

Ограничения и нюансы

  • Поддерживаемые форматы обычно PNG, JPEG, GIF, WebP; есть ограничения на размер и число картинок.
  • Модель может ошибаться в мелких деталях, точных числах на графике, плохо читаемом тексте — проверяйте критичные данные.
  • Несколько изображений в одном запросе — можно, но это растёт по токенам и стоимости.

Итог

  • Модели принимают изображения на вход: описание, разбор графиков, чтение текста, скриншоты.
  • Передают base64 или URL отдельным блоком image рядом с вопросом.
  • Картинки считаются в токенах; крупные — дороже, уменьшайте разрешение при необходимости.
Проверьте себя
1. Что означает мультимодальность в контексте этого урока?
AПоддержка нескольких языков
BСпособность модели принимать на вход изображения, а не только текст
CГенерация изображений моделью
DРабота с несколькими моделями сразу
2. Какими двумя способами обычно передают изображение модели?
AТолько текстовым описанием
BКак base64-данные или как URL, отдельным блоком image в content
CТолько ссылкой в системном промпте
DЧерез stop_sequences
3. Как изображения влияют на стоимость запроса?
AНикак, картинки бесплатны
BОни считаются в токенах по размеру/разрешению; крупные изображения дороже
CОни удваивают цену любого запроса
DСтоимость зависит только от текста
Поддержать проект