Загрузка...

Изображения

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

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

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

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

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

Вот как отправить изображение, используя 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": "https://example.com/image.jpg"
            }
          }
        ]
      }
    ]
  }'

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

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

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

# Кодирование изображения в 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 изображением

# Используя переменную 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"'"
            }
          }
        ]
      }
    ]
  }'

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

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