Skip to main content
Projetos são o recurso de nível superior no Youka. Cada projeto contém seu arquivo de origem, stems separados, letras sincronizadas, exportações e configurações do projeto.

Criando um projeto

Na maioria dos casos, use client.projects.create() — ele cuida dos uploads para você.

Tipos de source

Lê um arquivo do disco.

Outros campos

string
Título do projeto. O padrão é o nome do arquivo de origem.
SplitModel
Modelo de separação de stems. O padrão é mdx23c. Veja a referência de modelo de split.
string
Aplique um preset reutilizável no momento da criação.
LyricsSource
Configure a sincronização de letras. Veja abaixo.

Sources de letras

client.projects.create(input, options?)

client.projects.create() também aceita um source inputFile de baixo nível quando você já tem um inputFileId enviado.

client.projects.quote(input, options?)

Estime os créditos necessários para criar um projeto sem criá-lo.
client.projects.quote(...) aceita as mesmas formas de source que client.projects.create(...), incluindo maxVideoQuality para URL. Se você já souber a duração da mídia e não quiser enviar o arquivo apenas para estimar, passe o formato REST de baixo nível:

client.uploads.create(body, options?)

Alocar um slot de upload e obter uma URL assinada.

client.uploads.upload(uploadUrl, body, options?)

Faça PUT dos bytes do arquivo para a URL assinada.
FetchBody
required
Qualquer body compatível com fetch: Blob, File, ArrayBuffer, Uint8Array, ReadableStream ou string.
Lança YoukaRequestError com o código UPLOAD_FAILED se o upload retornar um status não-2xx.

client.projects.get(projectId, options?)

Buscar o estado completo do projeto, incluindo stems, letras e exportações.

client.projects.update(projectId, body, options?)

Aplique patch nos metadados do projeto.
Passe pelo menos um entre title ou artists.

client.projects.list(options?)

Liste todos os projetos pertencentes à conta autenticada.
Retorna um array de itens de lista de projetos (um formato mais enxuto do que getProject).

client.projects.delete(projectId, options?)

Exclua um projeto e todos os stems, letras e exportações associados.
A exclusão é permanente. Use junto uma chave de idempotência para que novas tentativas sejam seguras.

Próximos passos

  • Stems — executar novamente a separação de stems
  • Lyrics sync — sincronizar letras novamente
  • Exports — renderizar vídeos finalizados
  • Tasks — aguardar operações do projeto com client.projects.wait