Skip to main content
Медиа — это файлы для повторного использования: видеофоны, статические изображения, логотипы и клипы для интро/аутро — которые вы загружаете один раз и затем ссылаетесь на них из пресетов или настроек проекта. Это избавляет от необходимости повторно загружать один и тот же файл каждый раз при рендеринге нового трека.

Типы медиа

ТипОписание
videoЗацикленное видео фона.
imageСтатическое фоновое изображение.
logoОверлей с логотипом.
intro-videoВоспроизводится перед началом караоке.
outro-videoВоспроизводится после завершения караоке.

Эндпоинты

MethodPathPurpose
GET/mediaСписок медиа для аутентифицированного аккаунта.
POST/mediaЗарегистрировать ранее загруженный файл как повторно используемое медиа.
GET/media/{mediaId}Получить один медиа-объект.
DELETE/media/{mediaId}Удалить медиа-объект.
Полные схемы запросов и ответов приведены в Справочнике API.

Процесс загрузки

Создание медиа-объекта — это процесс из двух шагов. Сначала загрузите байты файла, затем зарегистрируйте загруженный файл как повторно используемое медиа.
1

Создайте цель для загрузки

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.
2

Отправьте байты файла через PUT

curl -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary "@./background.mp4"
3

Зарегистрируйте медиа-объект

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"
Удаление медиа не влияет на проекты или экспорты, которые уже были отрендерены с ним. Будущие рендеры, которые ссылаются на удалённое медиа, вернутся к фону по умолчанию.

Что дальше