Skip to main content
Los proyectos son el recurso de nivel superior en Youka. Cada proyecto contiene su archivo de origen, stems separados, letras sincronizadas, exportaciones y la configuración del proyecto.

Crear un proyecto

En la mayoría de los casos, usa client.projects.create() — se encarga de las subidas por ti.

Tipos de source

Lee un archivo desde el disco.

Otros campos

string
Título del proyecto. De forma predeterminada, usa el nombre de archivo del origen.
SplitModel
Modelo de separación de stems. El valor predeterminado es mdx23c. Consulta la referencia de modelos de split.
string
Aplica un preset reutilizable en el momento de la creación.
LyricsSource
Configura la sincronización de letras. Ver abajo.

Fuentes de letras

client.projects.create(input, options?)

client.projects.create() también acepta un source inputFile de bajo nivel cuando ya tienes un inputFileId subido.

client.projects.quote(input, options?)

Cotiza los créditos necesarios para crear un proyecto sin crearlo.
client.projects.quote(...) acepta los mismos formatos de source que client.projects.create(...), incluido maxVideoQuality para URL. Si ya conoces la duración del archivo multimedia y no quieres subir el archivo solo para cotizar, pasa la forma REST de bajo nivel:

client.uploads.create(body, options?)

Reserva un slot de subida y obtén una URL firmada.

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

Haz PUT de los bytes del archivo a la URL firmada.
FetchBody
required
Cualquier body compatible con fetch: Blob, File, ArrayBuffer, Uint8Array, ReadableStream o string.
Lanza YoukaRequestError con el código UPLOAD_FAILED si la subida devuelve un estado no 2xx.

client.projects.get(projectId, options?)

Obtén el estado completo del proyecto, incluidos stems, letras y exportaciones.

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

Aplica un patch a los metadatos del proyecto.
Pasa al menos uno de title o artists.

client.projects.list(options?)

Lista todos los proyectos propiedad de la cuenta autenticada.
Devuelve un array de elementos de lista de proyectos (una forma más ligera que getProject).

client.projects.delete(projectId, options?)

Elimina un proyecto y todos sus stems, letras y exportaciones asociadas.
La eliminación es permanente. Úsalo junto con una clave de idempotencia para que los reintentos sean seguros.

Qué sigue

  • Stems — volver a ejecutar la separación de stems
  • Lyrics sync — volver a sincronizar las letras
  • Exports — renderizar videos terminados
  • Tasks — esperar operaciones del proyecto con client.projects.wait