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

> Как отправить изображения c помощью AI-моделей через RouterAI API.

Запросы с изображениями к мультимодальным моделям доступны через API `/api/v1/chat/completions` с многокомпонентным параметром `messages`. Параметр `image_url` может быть либо URL-адресом, либо изображением в кодировке base64. Обратите внимание, что несколько изображений можно отправлять в отдельных элементах массива содержимого. Количество изображений, которые вы можете отправить в одном запросе, варьируется в зависимости от провайдера и модели. Из-за особенностей парсинга содержимого мы рекомендуем сначала отправлять текстовый запрос, а затем изображения. Если изображения должны идти первыми, рекомендуется поместить их в системный промпт.

RouterAI поддерживает как **прямые URL-адреса**, так и **данные в кодировке base64** для изображений:

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

## Использование URL-адресов изображений

Вот как отправить изображение, используя URL-адрес:

```bash
curl https://routerai.ru/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ROUTERAI_API_KEY" \
  -d '{
    "model": "google/gemini-2.5-flash",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Что изображено на этой картинке?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://example.com/image.jpg"
            }
          }
        ]
      }
    ]
  }'
```

## Использование изображений в кодировке Base64

Для локально хранящихся изображений вы можете отправлять их, используя кодировку base64. Вот как это сделать:

**Шаг 1: Кодирование изображения в base64**

```bash
# Кодирование изображения в base64 и сохранение в переменную
BASE64_IMAGE=$(base64 -w 0 path/to/your/image.jpg)

# Или создание data URL напрямую
DATA_URL="data:image/jpeg;base64,$(base64 -w 0 path/to/your/image.jpg)"
```

**Шаг 2: Отправка запроса с base64 изображением**

```bash
# Используя переменную DATA_URL из предыдущего шага
curl https://routerai.ru/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ROUTERAI_API_KEY" \
  -d '{
    "model": "google/gemini-2.5-flash",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Что изображено на этой картинке?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "'"$DATA_URL"'"
            }
          }
        ]
      }
    ]
  }'
```

**Альтернативный способ (всё в одной команде):**

```bash
curl https://routerai.ru/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ROUTERAI_API_KEY" \
  -d '{
    "model": "google/gemini-2.5-flash",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Что изображено на этой картинке?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/jpeg;base64,'"$(base64 -w 0 path/to/your/image.jpg)"'"
            }
          }
        ]
      }
    ]
  }'
```

## Поддерживаемые типы содержимого изображений

- `image/png`
- `image/jpeg`
- `image/webp`
- `image/gif`
