Зрение
Это руководство описывает, как работать с изображениями в Claude, включая лучшие практики, примеры кода и ограничения, которые следует учитывать.
Как использовать зрение
Используйте возможности зрения Claude через:
- claude.ai. Загрузите изображение как файл или перетащите изображение прямо в окно чата.
- Console Workbench. Если вы выберете модель, которая принимает изображения (только модели Claude 3 и 4), кнопка добавления изображений появится в верхнем правом углу каждого блока сообщения пользователя.
- Запрос API. См. примеры в этом руководстве.
Перед загрузкой
Основы и ограничения
Вы можете включить несколько изображений в один запрос (до 20 для claude.ai и 100 для запросов API). Claude будет анализировать все предоставленные изображения при формулировании своего ответа. Это может быть полезно для сравнения или противопоставления изображений.
Если вы отправите изображение размером более 8000x8000 пикселей, оно будет отклонено. Если вы отправите более 20 изображений в одном запросе API, это ограничение составляет 2000x2000 пикселей.
Хотя API поддерживает 100 изображений на запрос, существует ограничение размера запроса 32 МБ для стандартных конечных точек.
Оценка размера изображения
Для оптимальной производительности мы рекомендуем изменять размер изображений перед загрузкой, если они слишком большие. Если длинный край вашего изображения превышает 1568 пикселей или ваше изображение содержит более ~1600 токенов, оно сначала будет масштабировано вниз, сохраняя соотношение сторон, пока не будет находиться в пределах ограничений размера.
Если ваше входное изображение слишком большое и требует изменения размера, это увеличит задержку time-to-first-token, не давая вам никакого дополнительного улучшения производительности модели. Очень маленькие изображения размером менее 200 пикселей с любой стороны могут снизить производительность.
Чтобы улучшить time-to-first-token, мы рекомендуем изменять размер изображений не более чем до 1,15 мегапикселей (и в пределах 1568 пикселей в обоих измерениях).
Вот таблица максимальных размеров изображений, принимаемых нашим API, которые не будут изменены для распространенных соотношений сторон. С моделью Claude Sonnet 3.7 эти изображения используют примерно 1600 токенов и около $4,80/1K изображений.
| Соотношение сторон | Размер изображения |
|---|---|
| 1 | 1092x1092 px |
| 3 | 951x1268 px |
| 2 | 896x1344 px |
| 9 | 819x1456 px |
| 1 | 784x1568 px |
Расчет стоимости изображения
Каждое изображение, которое вы включаете в запрос к Claude, учитывается в использовании ваших токенов. Чтобы рассчитать приблизительную стоимость, умножьте приблизительное количество токенов изображения на цену за токен модели, которую вы используете.
Если ваше изображение не требует изменения размера, вы можете оценить количество используемых токенов с помощью этого алгоритма: tokens = (width px * height px)/750
Вот примеры приблизительной токенизации и стоимости для различных размеров изображений в пределах ограничений размера API на основе цены Claude Sonnet 3.7 за токен в размере $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 работает лучше всего, когда изображения предшествуют тексту. Изображения, размещенные после текста или интерполированные с текстом, по-прежнему будут работать хорошо, но если ваш вариант использования это позволяет, мы рекомендуем структуру изображение-затем-текст.
О примерах подсказок
Следующие примеры демонстрируют, как использовать возможности зрения Claude, используя различные языки программирования и подходы. Вы можете предоставить изображения Claude тремя способами:
- Как изображение, закодированное в base64, в блоках содержимого
image - Как ссылка URL на изображение, размещенное в Интернете
- Используя Files API (загрузить один раз, использовать несколько раз)
Примеры подсказок base64 используют эти переменные:
# Для изображений на основе URL вы можете использовать URL непосредственно в вашем JSON запросе
# Для изображений, закодированных в base64, вам нужно сначала закодировать изображение
# Пример того, как закодировать изображение в base64 в bash:
BASE64_IMAGE_DATA=$(curl -s "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg" | base64)
# Закодированные данные теперь можно использовать в ваших вызовах APIimport 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 непосредственно в ваших запросахimport axios from 'axios';
// Для изображений, закодированных в base64
async function getBase64Image(url: string): Promise<string> {
const response = await axios.get(url, { responseType: 'arraybuffer' });
return Buffer.from(response.data, 'binary').toString('base64');
}
// Использование
async function prepareImages() {
const imageData = await getBase64Image('https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg');
// Теперь вы можете использовать imageData в ваших вызовах API
}
// Для изображений на основе URL вы можете использовать URL непосредственно в ваших запросахimport java.io.IOException;
import java.util.Base64;
import java.io.InputStream;
import java.net.URL;
public class ImageHandlingExample {
public static void main(String[] args) throws IOException, InterruptedException {
// Для изображений, закодированных в base64
String image1Url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg";
String image1MediaType = "image/jpeg";
String image1Data = downloadAndEncodeImage(image1Url);
String image2Url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg";
String image2MediaType = "image/jpeg";
String image2Data = downloadAndEncodeImage(image2Url);
// Для изображений на основе URL вы можете использовать URL непосредственно в ваших запросах
}
private static String downloadAndEncodeImage(String imageUrl) throws IOException {
try (InputStream inputStream = new URL(imageUrl).openStream()) {
return Base64.getEncoder().encodeToString(inputStream.readAllBytes());
}
}
}Ниже приведены примеры того, как включить изображения в запрос Messages API, используя изображения, закодированные в base64, и ссылки на URL:
Пример изображения, закодированного в base64
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "'"$BASE64_IMAGE_DATA"'"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Пример изображения на основе URL
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"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."
}
]
}
]
}'Пример изображения Files API
Для изображений, которые вы будете использовать повторно или когда вы хотите избежать затрат на кодирование, используйте Files API:
# Сначала загрузите ваше изображение в Files API
curl -X POST https://api.anthropic.com/v1/files \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-F "[email protected]"
# Затем используйте возвращенный file_id в вашем сообщении
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'Дополнительные примеры кода и детали параметров см. в примерах Messages API.
Ограничения
Хотя возможности понимания изображений Claude находятся на передовой, есть некоторые ограничения, о которых следует знать:
- Идентификация людей: Claude не может использоваться для идентификации (т.е. назвать) людей на изображениях и откажется это делать.
- Точность: Claude может галлюцинировать или делать ошибки при интерпретации изображений низкого качества, повернутых или очень маленьких изображений размером менее 200 пикселей.
- Пространственное рассуждение: Способности Claude к пространственному рассуждению ограничены. Он может испытывать трудности с задачами, требующими точной локализации или макетов, такими как чтение циферблата аналоговых часов или описание точных позиций шахматных фигур.
- Подсчет: Claude может дать приблизительный подсчет объектов на изображении, но может быть не всегда точным, особенно с большим количеством маленьких объектов.
- Изображения, созданные ИИ: Claude не знает, является ли изображение созданным ИИ, и может быть неправ, если его спросить. Не полагайтесь на него для обнаружения поддельных или синтетических изображений.
- Неприемлемое содержание: Claude не будет обрабатывать неприемлемые или явные изображения, которые нарушают нашу Политику приемлемого использования.
- Приложения здравоохранения: Хотя Claude может анализировать общие медицинские изображения, он не предназначен для интерпретации сложных диагностических сканирований, таких как КТ или МРТ. Результаты Claude не должны рассматриваться как замена профессиональной медицинской консультации или диагностики.
Всегда тщательно проверяйте и верифицируйте интерпретации изображений Claude, особенно для высокорисковых вариантов использования. Не используйте Claude для задач, требующих идеальной точности или чувствительного анализа изображений без надзора человека.
Часто задаваемые вопросы
Углубитесь в зрение
Готовы начать создавать с изображениями, используя Claude? Вот несколько полезных ресурсов:
- Мультимодальная кулинарная книга: Эта кулинарная книга содержит советы по началу работы с изображениями и лучшие практики методов для обеспечения наивысшего качества производительности с изображениями. Посмотрите, как вы можете эффективно подсказать Claude с изображениями для выполнения задач, таких как интерпретация и анализ диаграмм или извлечение содержимого из форм.
- Справочник API: Посетите нашу документацию для Messages API, включая примеры вызовов API, включающих изображения.
Если у вас есть другие вопросы, не стесняйтесь обратиться к нашей команде поддержки. Вы также можете присоединиться к нашему сообществу разработчиков, чтобы связаться с другими создателями и получить помощь от экспертов Anthropic.