Базовая информация о том, как в API работает компьютеное зрение доступна здесь.

curl https://api.proxyapi.ru/openai/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <КЛЮЧ>" \
  -d '{
    "model": "gpt-4o-mini",
    "input": [
      {
        "role": "user",
        "content": [
          {"type": "input_text", "text": "Что изображено на картинке?"},
          {
            "type": "input_image",
            "image_url": "https://domain.com/your_image.jpg"
          }
        ]
      }
    ]
  }'

curl https://api.proxyapi.ru/openai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <КЛЮЧ>" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "Что изображено на картинке?"},
          {
            "type": "image_url",
            "image_url": "https://domain.com/your_image.jpg"
          }
        ]
      }
    ]
  }'

import base64
from openai import OpenAI

client = OpenAI(
    api_key="<КЛЮЧ>",
    base_url="https://api.proxyapi.ru/openai/v1",
)

# Кодирование изображения в base64
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode("utf-8")


# Путь к изображению
image_path = "path_to_your_image.jpg"

# Получение строки base64
base64_image = encode_image(image_path)


response = client.responses.create(
    model="gpt-4o-mini",
    input=[
        {
            "role": "user",
            "content": [
                { "type": "input_text", "text": "Что изображено на картинке?" },
                {
                    "type": "input_image",
                    "image_url": f"data:image/jpeg;base64,{base64_image}",
                },
            ],
        }
    ],
)

import base64
from openai import OpenAI

client = OpenAI(
    api_key="<КЛЮЧ>",
    base_url="https://api.proxyapi.ru/openai/v1",
)

# Кодирование изображения в base64
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode("utf-8")

# Путь к изображению
image_path = "path_to_your_image.jpg"

# Получение строки base64
base64_image = encode_image(image_path)

chat_completion = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Что изображено на картинке?"},
            {
                "type": "image_url",
                "image_url": f"data:image/jpeg;base64,{base64_image}",
            },
        ],
    }],
)

Входные изображения должны соответствовать следующим требованиям для использования в API:

Поддерживаемые типы файлов:

  • PNG (.png)
  • JPEG (.jpeg, .jpg)
  • WEBP (.webp)
  • Неанимированный GIF (.gif)

Ограничения по размеру:

  • До 20MB на изображение
  • Низкое разрешение: 512x512 пикселей
  • Высокое разрешение: короткая сторона — 768 пикселей, длинная сторона — до 2000 пикселей

Другие требования:

  • Без водяных знаков или логотипов
  • Без текста
  • Без NSFW-контента
  • Изображения должны быть достаточно чёткими, чтобы человек мог их понять

Параметр detail сообщает модели, какой уровень детализации использовать при обработке и распознавании изображения (низкий, высокий или auto, чтобы модель сама выбрала). Если параметр не указан, модель использует auto. Укажите его сразу после image_url, вот так:

{
    "type": "input_image",
    "image_url": "https://domain.com/your_image.jpg",
    "detail": "high",
}

Вы можете сэкономить токены и ускорить ответы, используя detail: "low". Это позволяет модели обрабатывать изображение с бюджетом в 85 токенов. Модель получает изображение с низким разрешением 512px x 512px. Это подходит, если для вашего случая не требуется видеть изображение с высоким разрешением (например, если вы спрашиваете о форме или цвете на изображении).

Или предоставить модели больше деталей, чтобы она могла глубже понять изображение, используя detail: "high". Это позволяет модели увидеть изображение с низким разрешением (с использованием 85 токенов), а затем создать подробные фрагменты, используя 170 токенов для каждого блока 512px x 512px.

Responses API может принимать и обрабатывать несколько входных изображений. Модель обрабатывает каждое изображение и использует информацию со всех изображений для ответа на вопрос.

curl https://api.proxyapi.ru/openai/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <КЛЮЧ>" \
  -d '{
    "model": "gpt-4o-mini",
    "input": [
      {
        "role": "user",
        "content": [
          {"type": "input_text", "text": "Есть ли отличия между изображениями?"},
          {
            "type": "input_image",
            "image_url": "https://domain.com/image1.jpg"
          },
          {
            "type": "input_image",
            "image_url": "https://domain.com/image2.jpg"
          }
        ]
      }
    ]
  }'

В этом примере модели передаются два изображения. Она может отвечать на вопросы о каждом изображении по отдельности или об обоих сразу.

ProxyAPI Logo

Доступ к последним разработкам мировых лидеров в области AI для вашего проекта или бизнеса в России. Без VPN и блокировок. Оплата в рублях.

Accepted payment methods