Передача медиа на вход

Как передавать изображения, документы, аудио и видео в запросах к AI моделям

Передача медиа на вход

В этом гайде вы узнаете, как передавать различные типы медиафайлов в запросах к AI моделям.

Поддержка медиа зависит от выбранной модели. Проверяйте поле input_modalities модели в каталоге моделей.

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

ТипФорматы
ИзображенияPNG, JPEG, GIF, WebP
ДокументыPDF, DOCX, TXT
АудиоMP3, WAV, FLAC, M4A
ВидеоMP4, MOV, WebM

Способы передачи

1. URL файла

Самый простой способ - передать публичный URL файла:

curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-astra",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "Что изображено на этой картинке?"},
          {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
        ]
      }
    ]
  }'

2. Base64

Для локальных файлов используйте кодировку Base64:

curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-astra",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "Опиши это изображение"},
          {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,<BASE64>"}}
        ]
      }
    ]
  }'

Изображения

Поддерживаемые форматы

ФорматMIME-типПримечание
PNGimage/pngРекомендуется для скриншотов
JPEGimage/jpegРекомендуется для фотографий
GIFimage/gifТолько первый кадр
WebPimage/webpСовременный формат

Уровень детализации

Параметр detail управляет качеством обработки изображения и влияет на стоимость:

ЗначениеОписание
autoАвтоматический выбор (по умолчанию)
lowНизкое качество: быстрее и дешевле
highВысокое качество: точнее, но дороже
{
  "type": "image_url",
  "image_url": {
    "url": "https://example.com/image.jpg",
    "detail": "high"
  }
}

Несколько изображений

curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-astra",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "Сравни эти два изображения"},
          {"type": "image_url", "image_url": {"url": "https://example.com/image1.jpg"}},
          {"type": "image_url", "image_url": {"url": "https://example.com/image2.jpg"}}
        ]
      }
    ]
  }'

Документы

Документы на вход поддерживают немногие модели. Проверяйте поле input_modalities модели в каталоге моделей.

Для передачи документов (PDF, DOCX, TXT) используйте тип file:

curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-astra",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "Кратко перескажи содержание документа"},
          {"type": "file", "file": {"filename": "report.pdf", "file_data": "data:application/pdf;base64,<BASE64>"}}
        ]
      }
    ]
  }'

Поддерживаемые форматы

ФорматMIME-тип
PDFapplication/pdf
DOCXapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
TXTtext/plain

Аудио

Для передачи аудио на вход используйте тип input_audio. Аудио передаётся в формате base64:

curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-6-astra",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "Что говорит человек на этой записи?"},
          {"type": "input_audio", "input_audio": {"data": "<BASE64>", "format": "wav"}}
        ]
      }
    ]
  }'

Поддерживаемые форматы аудио

ФорматЗначение format
WAVwav
MP3mp3
FLACflac
M4Am4a

Видео

Видео через video_url поддерживается только моделями Gemini. В качестве ссылок принимаются только URL YouTube.

Для передачи видео используйте тип video_url:

curl -X POST "https://api.usellm.ru/v1/chat/completions" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-3.8-flash",
    "messages": [
      {
        "role": "user",
        "content": [
          {"type": "text", "text": "Опиши что происходит в этом видео"},
          {"type": "video_url", "video_url": {"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}}
        ]
      }
    ]
  }'

Советы и лучшие практики

Следующие шаги