POST Media
Универсальный API генерации медиа (изображения, видео, аудио)
POST Media
Универсальный эндпоинт для генерации медиа контента. Поддерживает различные модели и провайдеров через единый интерфейс.
Общие параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
model | string | Да | ID модели для генерации |
input | object | Да | Параметры генерации (зависят от модели) |
async | boolean | Нет | Принудительный асинхронный режим |
user | string | Нет | Идентификатор конечного пользователя |
provider | object | Нет | Конфигурация роутинга по провайдерам |
Передача файлов (URL и base64)
Для моделей, поддерживающих image-to-image или video-to-video, медиа файлы передаются в массиве images или videos. Каждый элемент — объект с полями:
| Поле | Тип | Описание |
|---|---|---|
type | "url" | "base64" | Формат данных |
data | string | URL файла или 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 автоматически:
- Скачивает результат у AI провайдера на собственное хранилище
- Хранит файлы 7 дней для повторного доступа
- Раздаёт через 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} для проверки статуса и получения результата.