Медиа — это файлы для повторного использования: видеофоны, статические изображения, логотипы и клипы для интро/аутро — которые вы загружаете один раз и затем ссылаетесь на них из пресетов или настроек проекта. Это избавляет от необходимости повторно загружать один и тот же файл каждый раз при рендеринге нового трека.
Типы медиа
| Тип | Описание |
|---|
video | Зацикленное видео фона. |
image | Статическое фоновое изображение. |
logo | Оверлей с логотипом. |
intro-video | Воспроизводится перед началом караоке. |
outro-video | Воспроизводится после завершения караоке. |
Эндпоинты
| Method | Path | Purpose |
|---|
GET | /media | Список медиа для аутентифицированного аккаунта. |
POST | /media | Зарегистрировать ранее загруженный файл как повторно используемое медиа. |
GET | /media/{mediaId} | Получить один медиа-объект. |
DELETE | /media/{mediaId} | Удалить медиа-объект. |
Полные схемы запросов и ответов приведены в Справочнике API.
Процесс загрузки
Создание медиа-объекта — это процесс из двух шагов. Сначала загрузите байты файла, затем зарегистрируйте загруженный файл как повторно используемое медиа.
Создайте цель для загрузки
curl -X POST https://api.youka.io/ru/api/v1/uploads \
-H "Authorization: Bearer yk_..." \
-H "Content-Type: application/json" \
-d '{
"filename": "background.mp4",
"contentType": "video/mp4",
"contentLength": 8421120
}'
Ответ содержит inputFileId и uploadUrl.Отправьте байты файла через PUT
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
--data-binary "@./background.mp4"
Зарегистрируйте медиа-объект
curl -X POST https://api.youka.io/ru/api/v1/media \
-H "Authorization: Bearer yk_..." \
-H "Idempotency-Key: bg-loop-v1" \
-H "Content-Type: application/json" \
-d '{
"inputFileId": "file_abc123",
"type": "video"
}'
Ответ включает новый mediaId и медиа-url. Используйте
url внутри пресетов или настроек проекта.
POST /media не принимает загрузку «сырых» файлов. Он ожидает inputFileId
из предыдущих вызовов POST /uploads + PUT.
Получить список медиа
curl https://api.youka.io/ru/api/v1/media \
-H "Authorization: Bearer yk_..."
Возвращает массив всех повторно используемых медиа-объектов в аутентифицированном аккаунте.
Применить фон
Ссылайтесь на загруженные медиа из пресета или напрямую из настроек проекта:
curl -X PATCH https://api.youka.io/ru/api/v1/projects/prj_abc/settings \
-H "Authorization: Bearer yk_..." \
-H "Content-Type: application/json" \
-d '{
"settings": {
"style": {
"background": {
"type": "image",
"url": "https://cdn.youka.io/backgrounds/bg_abc123.jpg",
"objectFit": "cover"
}
}
}
}'
Удалить медиа
curl -X DELETE https://api.youka.io/ru/api/v1/media/bg_abc123 \
-H "Authorization: Bearer yk_..." \
-H "Idempotency-Key: delete-bg_abc123"
Удаление медиа не влияет на проекты или экспорты, которые уже были отрендерены с
ним. Будущие рендеры, которые ссылаются на удалённое медиа, вернутся к фону
по умолчанию.
Что дальше