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.
| Tipo | Descrição |
|---|
video | Vídeo de fundo em loop. |
image | Imagem de fundo estática. |
logo | Sobreposição de logótipo. |
intro-video | Reproduz antes de o karaoke começar. |
outro-video | Reproduz depois de o karaoke terminar. |
Endpoints
| Method | Path | Purpose |
|---|
GET | /media | Listar media da conta autenticada. |
POST | /media | Registar 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.
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.Fazer PUT dos bytes do ficheiro
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
--data-binary "@./background.mp4"
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.
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"
}
}
}
}'
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