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

Эндпоинт тот же — /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 г.