POST Media

Универсальный API генерации медиа (изображения, видео, аудио)

POST Media

Универсальный эндпоинт для генерации медиа контента. Поддерживает различные модели и провайдеров через единый интерфейс.

Общие параметры

ПараметрТипОбязательныйОписание
modelstringДаID модели для генерации
inputobjectДаПараметры генерации (зависят от модели)
asyncbooleanНетПринудительный асинхронный режим
userstringНетИдентификатор конечного пользователя
providerobjectНетКонфигурация роутинга по провайдерам

Передача файлов (URL и base64)

Для моделей, поддерживающих image-to-image или video-to-video, медиа файлы передаются в массиве images или videos. Каждый элемент — объект с полями:

ПолеТипОписание
type"url" | "base64"Формат данных
datastringURL файла или base64-строка (с data URI или без)

Пример с base64

curl -X POST "https://api.usellm.ru/v1/media" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-3.8-flash",
    "input": {
      "prompt": "Сделай изображение ярче и добавь закат на фоне",
      "images": [
        {
          "type": "base64",
          "data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..."
        }
      ]
    }
  }'

Можно комбинировать URL и base64 в одном запросе:

{
  "model": "openai/gpt-image-1",
  "input": {
    "prompt": "Объедини эти изображения в коллаж",
    "images": [
      { "type": "url", "data": "https://example.com/photo1.png" },
      { "type": "base64", "data": "data:image/jpeg;base64,/9j/4AAQSkZJRg..." }
    ]
  }
}

Base64 поддерживается как с data URI (data:image/png;base64,...), так и без — просто строка base64. Если провайдер не поддерживает base64 напрямую, файл автоматически загружается в хранилище и передаётся как URL.

Типы контента

  • Изображения (Seedream, Nano Banana, GPT Image и др.)
  • Видео (Veo, Wan, Kling, Seedance, Sora и др.)
  • Аудио — синтез речи (TTS) и распознавание речи (STT)

Хранение результатов

При генерации медиа контента usellm автоматически:

  1. Скачивает результат у AI провайдера на собственное хранилище
  2. Хранит файлы 7 дней для повторного доступа
  3. Раздаёт через CDN для быстрого доступа

После истечения 7 дней файлы автоматически удаляются. Для постоянного хранения используйте Storage API с политикой PERMANENT.

Руководства по моделям

Подробные примеры, параметры и особенности каждой модели — в руководствах раздела Генерация медиа.

Ответ

Возвращает объект Media Status со статусом pending:

{
  "id": "aig_abc123",
  "object": "media.generation",
  "status": "pending",
  "created": 1703001244,
  "model": "google/gemini-3.8-flash"
}

Используйте GET /v1/media/{id} для проверки статуса и получения результата.