Изображения и PDF
Изображения и PDF передаются прямо в сообщении, вместе с текстом. Файл кодируется в base64 и вставляется в запрос: отдельной загрузки файлов у роутера нет.
Проверить поддержку у модели можно по GET /v1/models:
- картинки: в
capabilities.modality_inputестьimage; - PDF: в
capabilities.featuresестьpdf_input.
См. Модели.
Изображение на Chat Completions
Заголовок раздела «Изображение на Chat Completions»Контент сообщения становится массивом блоков. Картинка передаётся блоком image_url со ссылкой вида data::
B64=$(base64 < chart.png | tr -d '\n')
curl https://api.waibee.com/v1/chat/completions \ -H "Authorization: Bearer $WAIBEE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "google/gemini-3.6-flash", "messages": [{ "role": "user", "content": [ { "type": "text", "text": "Что на картинке? Одно слово." }, { "type": "image_url", "image_url": { "url": "data:image/png;base64,'"$B64"'" } } ] }] }'В одном сообщении можно передать несколько блоков: текст и картинки идут в том порядке, в котором вы их перечислили.
PDF на Chat Completions
Заголовок раздела «PDF на Chat Completions»Документ передаётся блоком file: имя файла плюс его содержимое в file_data.
{ "role": "user", "content": [ { "type": "file", "file": { "filename": "report.pdf", "file_data": "data:application/pdf;base64,<base64>" } }, { "type": "text", "text": "Найди в документе итоговую сумму." } ]}Изображение и PDF на Messages
Заголовок раздела «Изображение и PDF на Messages»Формат Anthropic использует блоки image и document с объектом source:
{ "role": "user", "content": [ { "type": "document", "source": { "type": "base64", "media_type": "application/pdf", "data": "<base64>" } }, { "type": "text", "text": "Какой код указан в документе?" } ]}Для картинки тип блока image, а media_type соответствует формату (image/png, image/jpeg, image/webp).
| Ограничение | Значение |
|---|---|
| Один вложенный файл | 50 МБ в исходном размере |
| Всё тело запроса | 100 МБ |
Base64 увеличивает объём примерно на треть, но лимит на файл считается по исходному размеру. Превышение возвращает 413, подробнее в Лимитах.
Что учитывать
Заголовок раздела «Что учитывать»- Вложения тарифицируются как токены ввода. Правила пересчёта у каждой модели свои: страница PDF или крупная картинка легко стоит несколько тысяч токенов. Считайте фактический расход по
usage, см. Токены и usage. - Уменьшайте картинки до отправки. Модель всё равно масштабирует изображение под свой предел разрешения, а лишние пиксели превращаются в лишние токены и задержку.
- Сканы распознаются моделью, а не отдельным OCR. Качество на плохих сканах и рукописном тексте заметно падает: если это ваш основной сценарий, проверяйте результат на своих файлах.
- Многостраничные PDF дробите. Разделить документ и задать вопрос по конкретному разделу обычно дешевле и точнее, чем отправить сотню страниц одним запросом.
- Один и тот же документ выгодно закэшировать. Если вы задаёте несколько вопросов по одному файлу, отметьте блок с документом маркером
cache_control, см. Кэширование промптов.