Skip to main content
Los proyectos son el recurso de nivel superior en Youka. Cada proyecto posee su archivo de origen, letras, exportaciones y ajustes del proyecto. Los proyectos de karaoke también contienen stems separados.

Creación de un proyecto

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

Tipos de fuente

Lee un archivo desde el disco.

Otros campos

string
Título del proyecto. Por defecto, el nombre de archivo de la fuente.
karaoke | lyric-video
Flujo de trabajo. Por defecto, karaoke. lyric-video usa el audio original sin separación de stems.
SplitModel
Modelo de separación de stems para karaoke. Por defecto, mdx23c. Se rechaza para lyric-video. 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 una fuente 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 las mismas formas de source que client.projects.create(...), incluido maxVideoQuality para URL. Si ya conoces la duración del medio 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 obtiene 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 asociados.
La eliminación es permanente. Acompáñalo 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 letras
  • Exports — renderizar videos terminados
  • Tasks — esperar operaciones de proyecto con client.projects.wait

Creación de lyric-video y descubrimiento de modelos

Las mismas opciones de kind y de procesamiento de letras funcionan con projects.quote. Las cotizaciones de lyric-video cobran cero créditos de separación. Tanto quote como create validan los mismos requisitos de modelo, idioma, cuenta y fuente. Las cotizaciones no reservan créditos ni capacidad. Usa lyricsSource: null para omitir el procesamiento de letras. El texto de referencia en la transcripción sirve como guía y puede diferir del resultado. Los modelos que requieren voces aisladas no pueden procesar un lyric video sin separación. Consulta Automate lyric videos para capacidades, actualizaciones de timing exactas y checkpoints del catálogo.