Skip to main content
Projects são o recurso de nível mais alto no Youka. Cada project é dono do seu arquivo de origem, letras, exportações e configurações do projeto. Projetos de karaokê também contêm stems separados.

Criando um projeto

Na maioria dos casos, use client.projects.create() — ele faz os 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.
karaoke | lyric-video
Fluxo de trabalho. O padrão é karaoke. lyric-video usa o áudio original sem separação de stems.
SplitModel
Modelo de separação de stems para karaoke. O padrão é mdx23c. Rejeitado para lyric-video. Veja a referência de modelo de split .
string
Aplica 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?)

Cote 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 URL maxVideoQuality. Se você já souber a duração da mídia e não quiser enviar o arquivo apenas para cotar, passe o formato REST de baixo nível:

client.uploads.create(body, options?)

Aloque um slot de upload e obtenha 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?)

Busque 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 listagem de projetos (um formato mais enxuto do que getProject).

client.projects.delete(projectId, options?)

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

Próximos passos

  • Stems — execute novamente a separação de stems
  • Lyrics sync — sincronize as letras novamente
  • Exports — renderize vídeos finalizados
  • Tasks — aguarde operações do projeto com client.projects.wait

Criação de lyric-video e descoberta de modelos

As mesmas escolhas de kind e de processamento de letras funcionam com projects.quote. Cotações de lyric-video cobram zero créditos de separação. Quote e create validam os mesmos requisitos de modelo, idioma, conta e source. Cotações não reservam créditos nem capacidade. Use lyricsSource: null para pular o processamento de letras. O texto de referência na transcrição serve como orientação e pode diferir do resultado. Modelos que precisam de vocais isolados não conseguem processar um lyric video sem separação. Veja Automate lyric videos para capacidades, atualizações de timing exato e checkpoints do catálogo.