Skip to main content
Exportações renderizam um vídeo de karaokê ou de letras a partir de um projeto. Use client.exports.create(...) como o ponto de entrada principal. Escolha target: "local" quando quiser que o SDK renderize diretamente na máquina atual; caso contrário, a exportação na nuvem é o padrão.

client.exports.create(projectId, input, options?)

Escolha o destino da exportação com target: "cloud" | "local".
Use a nuvem quando você quiser uma exportação assíncrona gerenciada. Use local quando você quiser renderizar diretamente na máquina do chamador.

Campos comuns

Use fps: 60 para movimentos mais suaves. Cotações na nuvem aplicam um multiplicador de créditos de 1.5x em 60 fps. Exportações na nuvem em 60 fps com transparência ficam disponíveis quando a duração e a resolução selecionadas se encaixam nos limites da nuvem.

Exemplo com volumes de stems

Exemplo com substituição de configurações

Veja Referência de configurações de render para o formato completo de settingsOverride.

client.exports.quote(projectId, input, options?)

Faça a cotação dos créditos necessários para uma exportação na nuvem sem iniciar a exportação.
Exportações locais rodam na máquina do chamador e não usam créditos de exportação na nuvem, então quote(...) é apenas para exportações na nuvem.

client.exports.list(projectId, input?, options?)

Liste exportações de um projeto, com paginação.
number
Número da página. O padrão é 1 no servidor.
number
Tamanho da página. O padrão é 100. Máximo 100.

client.exports.get(exportId, options?)

Busque uma exportação apenas pelo ID, sem conhecer o projeto pai.

Exportação local

Use onDependencyProgress se você quiser atualizações enquanto o toolchain de renderização local está sendo instalado ou verificado.

client.exports.prepareLocal(projectId, body, options?)

Retorne o payload preparado necessário para renderizar uma exportação localmente. Use isto ao integrar com @youka/remotion ou outro renderizador local. O servidor retorna as entradas da composição, URLs de assets e parâmetros de renderização sem enfileirar uma renderização na nuvem.
client.exports.prepareLocal(...) não inicia uma renderização na nuvem. Nenhum compute faturável é consumido do lado da Youka.

Aguardando uma exportação

Exportações na nuvem são assíncronas. Use client.exports.wait(...):

Baixando o resultado

Exportações na nuvem finalizam com uma url assinada. Use o helper embutido para fazer streaming do arquivo para o disco. output pode ser um diretório ou um caminho completo de arquivo, e filename é opcional:

Próximos passos

  • Tasks — handles de operação e polling avançado de tarefas
  • Presets — configurações de render reutilizáveis
  • Project settings — aplique patch nas configurações ativas de um projeto

Snapshots de versão e timing

Liste versões com client.projects.versions.list(projectId). Passe versionId para exports.create, exports.quote ou exports.prepareLocal. O estilo pertence a essa versão, enquanto o alinhamento selecionado pertence ao projeto. Handles de operação de exportação na nuvem e payloads locais incluem versionId, alignmentId e alignmentRevision. Esses campos identificam o mesmo snapshot de timing usado para construir a composição. Uma preparação ou exportação posterior pode observar edições mais recentes. Salve o payload preparado se um renderizador externo precisar usar exatamente esse snapshot e atualize URLs assinadas de mídia expiradas. Para silenciar todos os stems, construa stemVolumes a partir dos IDs de stem do projeto com todos os valores definidos como zero. A exportação local com transparência usa ProRes 4444 em um contêiner MOV. Uma saída silenciosa ainda pode ter um stream de áudio. Veja Automate lyric videos para o exemplo completo de exportação.