Это руководство описывает, как работать с изображениями в Claude, включая лучшие практики, примеры кода и ограничения, которые следует учитывать.
Используйте возможности зрения Claude через:
Вы можете включить несколько изображений в один запрос: до 20 для claude.ai и до 600 для запросов API (100 для моделей с окном контекста 200k токенов). Claude анализирует все предоставленные изображения при формулировании своего ответа. Это может быть полезно для сравнения или противопоставления изображений.
Если вы отправите изображение размером более 8000x8000 пикселей, оно будет отклонено. Если вы отправите более 20 изображений в одном запросе API, это ограничение составляет 2000x2000 пикселей.
Хотя API поддерживает до 600 изображений на запрос, ограничения размера запроса (32 МБ для стандартных конечных точек; меньше на некоторых сторонних платформах) могут быть достигнуты в первую очередь. Для большого количества изображений рассмотрите возможность загрузки с помощью Files API и ссылки по file_id, чтобы сохранить размер полезной нагрузки запроса небольшим.
Даже при использовании Files API запросы с большим количеством больших изображений могут завершиться ошибкой до достижения количества 600 изображений. Уменьшите размеры изображений или размеры файлов (например, путем понижающей дискретизации) перед загрузкой (см. Оценка размера изображения).
Чтобы минимизировать задержку без ущерба для качества вывода, измените размер изображений перед загрузкой, если они слишком большие. На Claude Opus 4.6, Claude Sonnet 4.6 и более ранних моделях, если длинный край вашего изображения превышает 1568 пикселей или ваше изображение содержит более ~1600 токенов, оно сначала масштабируется вниз, сохраняя соотношение сторон, пока не будет находиться в пределах ограничений размера.
Если ваше входное изображение слишком большое и требует изменения размера, это увеличивает задержку time-to-first-token, без пользы для качества вывода. Очень маленькие изображения размером менее 200 пикселей с любой стороны могут снизить качество вывода.
Для моделей до Claude Opus 4.7, чтобы улучшить time-to-first-token, рассмотрите возможность изменения размера изображений не более чем до 1,15 мегапикселей (и в пределах 1568 пикселей в обоих измерениях). Для Claude Opus 4.7 см. Поддержка высокого разрешения ниже.
Claude Opus 4.7 — первая модель Claude с поддержкой высокого разрешения. Максимальное разрешение изображения составляет 2576 пикселей на длинном краю (по сравнению с 1568 пикселей на предыдущих моделях). Это открывает прирост производительности на рабочих нагрузках, требующих интенсивной работы с видением, и особенно ценно для компьютерного использования, понимания снимков экрана и анализа документов.
Поддержка высокого разрешения автоматична на Claude Opus 4.7 и не требует бета-заголовка или согласия на стороне клиента.
Стоимость токена: Изображения с полным разрешением на Claude Opus 4.7 могут использовать примерно в 3 раза больше токенов изображения, чем на предыдущих моделях (до 4784 токенов на изображение, по сравнению с предыдущим ограничением примерно ~1600 токенов на изображение). Если вам не нужна дополнительная четкость, понизьте дискретизацию изображений перед отправкой, чтобы контролировать стоимость токенов.
Математика координат: На Claude Opus 4.7 координаты указания и ограничивающего прямоугольника, возвращаемые моделью, имеют соотношение 1
с фактическими пикселями изображения, поэтому преобразование масштабного коэффициента не требуется. Это упрощает рабочие процессы компьютерного использования, аннотирования и локализации.Вот таблица максимальных размеров изображений, принимаемых API, которые не будут изменены для распространенных соотношений сторон. С Claude Sonnet 4.6 эти изображения используют примерно 1600 токенов и около $4,80/1k изображений.
| Соотношение сторон | Размер изображения |
|---|---|
| 1:1 | 1092x1092 px |
| 3:4 | 951x1268 px |
| 2:3 | 896x1344 px |
| 9:16 | 819x1456 px |
| 1:2 | 784x1568 px |
Каждое изображение, которое вы включаете в запрос к Claude, учитывается в использовании токенов. Чтобы рассчитать приблизительную стоимость, умножьте приблизительное количество токенов изображения на цену за токен модели, которую вы используете.
Если ваше изображение не требует изменения размера, вы можете оценить количество используемых токенов с помощью этого алгоритма: tokens = (width px * height px)/750
Вот примеры приблизительной токенизации и стоимости для различных размеров изображений в пределах ограничений размера API на основе цены Claude Sonnet 4.6 за токен в размере $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 имейте в виду следующее для получения лучших результатов:
Многие из методов подсказок, которые хорошо работают для текстовых взаимодействий с Claude, также могут быть применены к подсказкам на основе изображений.
Эти примеры демонстрируют лучшие практики структур подсказок, включающих изображения.
Так же как размещение длинных документов перед вашим запросом улучшает результаты в текстовых подсказках, Claude работает лучше всего, когда изображения идут перед текстом. Изображения, размещенные после текста или интерполированные с текстом, по-прежнему работают хорошо, но если ваш вариант использования позволяет, предпочитайте структуру изображение-затем-текст.
Следующие примеры демонстрируют, как использовать возможности зрения Claude, используя различные языки программирования и подходы. Вы можете предоставить изображения Claude тремя способами:
imageПримеры подсказок с 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-7",
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-7",
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-7",
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?