Часть моделей принимает на вход не только текст, но и изображения: скриншот, фотографию документа, схему, график. Модель описывает, что на картинке, читает текст с неё, сравнивает несколько изображений между собой.
Эндпоинт тот же — /v1/chat/completions. Меняется только устройство сообщения.
Поле content вместо строки принимает список: сначала текст, затем изображение. Изображение кодируется в base64 и подставляется как data-URL — строка вида data:image/jpeg;base64,<данные>, где после запятой идёт содержимое файла.
curl "https://api.proxyapi.ru/v1/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <КЛЮЧ>" \ -d '{ "model": "anthropic/claude-sonnet-4-5", "messages": [{ "role": "user", "content": [ {"type": "text", "text": "Что изображено на картинке?"}, {"type": "image_url", "image_url": { "url": "data:image/jpeg;base64,<ИЗОБРАЖЕНИЕ В BASE64>" }} ] }] }'
Ответ приходит обычным текстом, как и на любой другой запрос. Тело запроса с картинкой вырастает примерно на треть от размера файла — base64 всегда длиннее исходных данных.
В одно сообщение можно вложить несколько изображений — например, чтобы попросить сравнить их между собой. Каждое оплачивается отдельно и занимает место в контексте, поэтому осмысленный предел обычно ниже технического.
Изображения из предыдущих сообщений передаются заново вместе со всей историей — модель не хранит переписку.
Форматы и предельный размер задаёт конечный сервис, а не ProxyAPI. Почти везде принимают PNG, JPEG, WebP и неанимированный GIF. Слишком большие файлы либо уменьшаются автоматически, либо отклоняются с ошибкой 400 — точные пороги у каждого свои.
Изображения понимают не все модели: текстовой модели без такой поддержки картинка либо не поможет, либо приведёт к ошибке.
Изображение переводится в токены и оплачивается как входные данные. Чем больше разрешение, тем больше токенов, поэтому картинку стоит уменьшать до того размера, на котором ещё различимо нужное. Для мелкого текста в документе это, наоборот, повод не экономить.
- Генерация изображений — обратная задача: получить картинку от модели.
- Генерация текста — устройство запроса и ответа.
Частые вопросы
В каком виде передаётся файл?
Изображение кодируется в base64 и подставляется как data-URL в поле url. Отдельной загрузки файла на сервер не требуется — картинка уходит вместе с телом запроса.
Сколько изображений помещается в один запрос?
Жёсткого предела в формате нет, но каждое изображение оплачивается и занимает контекст. Практический предел определяется размером контекста модели и бюджетом на запрос.
Почему запрос с картинкой стоит дороже текстового?
Изображение переводится в токены и учитывается как входные данные. Чем выше разрешение, тем больше токенов уходит на одну картинку.
Может ли модель вернуть изображение в ответ?
На этом эндпоинте нет — ответ всегда текстовый. Для получения картинки используется отдельный эндпоинт генерации изображений.
Последняя редакция: 2 сентября 2026 г.