# Изображения и файлы

Отправляйте изображения и PDF-файлы моделям, которые их принимают, и укладывайтесь в лимит размера запроса.

Модели, которые принимают не только текст, указывают это в `architecture.input_modalities` в `GET /api/v1/models`; в [каталоге](/models) можно фильтровать по типу входа. Передавайте части содержимого в сообщении `user` в формате OpenAI.

## Изображения

```json
{
  "model": "google/gemma-3-4b-it",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "What is in this picture?" },
        { "type": "image_url", "image_url": { "url": "https://example.com/photo.jpg" } }
      ]
    }
  ]
}
```

`url` может быть и data URL: `data:image/png;base64,…`.

## Файлы

```json
{ "type": "file", "file": { "filename": "invoice.pdf", "file_data": "data:application/pdf;base64,…" } }
```

## Размер и стоимость

- Тело запроса — не больше **4 МиБ**. Base64 увеличивает файл на треть: для больших изображений лучше давать публичный URL.
- Изображения и файлы оплачиваются как входные токены по ценам модели.
- Перед запросом средства резервируются по размеру всего тела, поэтому большой base64-файл требует большего доступного баланса, даже если итоговая стоимость невелика.

Роутер не проверяет, принимает ли модель изображения: модель без такого входа ответит ошибкой или проигнорирует эту часть. Сначала проверьте `input_modalities`.
