Skip to main content
Media são ficheiros reutilizáveis — fundos em vídeo, imagens estáticas, logótipos e clips de introdução/finalização — que carrega uma vez e referencia a partir de presets ou das definições do projeto. Isto evita ter de voltar a carregar o mesmo ficheiro sempre que renderiza uma nova faixa.

Tipos de media

TipoDescrição
videoVídeo de fundo em loop.
imageImagem de fundo estática.
logoSobreposição de logótipo.
intro-videoReproduz antes de o karaoke começar.
outro-videoReproduz depois de o karaoke terminar.

Endpoints

MethodPathPurpose
GET/mediaListar media da conta autenticada.
POST/mediaRegistar um ficheiro previamente carregado como media reutilizável.
GET/media/{mediaId}Obter um único item de media.
DELETE/media/{mediaId}Eliminar um item de media.
Os esquemas completos de request e response estão na referência da API.

Fluxo de upload

Criar um item de media é um processo em dois passos. Primeiro, carregue os bytes do ficheiro e, depois, registe o ficheiro carregado como media reutilizável.
1

Criar um destino de upload

curl -X POST https://api.youka.io/pt/api/v1/uploads \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "filename": "background.mp4",
    "contentType": "video/mp4",
    "contentLength": 8421120
  }'
A resposta contém inputFileId e uploadUrl.
2

Fazer PUT dos bytes do ficheiro

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

Registar o item de media

curl -X POST https://api.youka.io/pt/api/v1/media \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: bg-loop-v1" \
  -H "Content-Type: application/json" \
  -d '{
    "inputFileId": "file_abc123",
    "type": "video"
  }'
A resposta inclui o novo mediaId e o url do media. Use o url dentro de presets ou das definições do projeto.
POST /media não aceita uploads de ficheiros em bruto. Espera um inputFileId de uma chamada anterior POST /uploads + PUT.

Listar media

curl https://api.youka.io/pt/api/v1/media \
  -H "Authorization: Bearer yk_..."
Devolve um array com todos os itens de media reutilizáveis na conta autenticada.

Aplicar um fundo

Referencie media carregados a partir de um preset ou diretamente a partir das definições do projeto:
curl -X PATCH https://api.youka.io/pt/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"
        }
      }
    }
  }'

Eliminar media

curl -X DELETE https://api.youka.io/pt/api/v1/media/bg_abc123 \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: delete-bg_abc123"
Eliminar media não afeta projetos ou exportações renderizados anteriormente com esse media. Renderizações futuras que referenciem o media eliminado irão voltar para o fundo predefinido.

O que se segue