Creating a project
For most cases, useclient.projects.create() — it handles uploads for you.
Source types
- path
- bytes
- url
Reads a file from disk.
Other fields
string
Project title. Defaults to the source filename.
SplitModel
Stem separation model. Defaults to
mdx23c. See Split model
reference.string
Apply a reusable preset at creation time.
LyricsSource
Configure lyrics sync. See below.
Lyrics sources
client.projects.create(input, options?)
client.projects.create() also accepts a low-level inputFile source when you already have an uploaded inputFileId.
client.projects.quote(input, options?)
Quote the credits required to create a project without creating it.
client.projects.quote(...) accepts the same source forms as
client.projects.create(...), including URL maxVideoQuality. If you already
know the media duration and do not want to upload the file just to quote, pass
the low-level REST shape:
client.uploads.create(body, options?)
Allocate an upload slot and get a signed URL.
client.uploads.upload(uploadUrl, body, options?)
PUT the file bytes to the signed URL.
FetchBody
required
Any
fetch-compatible body: Blob, File, ArrayBuffer, Uint8Array,
ReadableStream, or string.YoukaRequestError with code UPLOAD_FAILED if the upload returns a non-2xx status.
client.projects.get(projectId, options?)
Fetch the full project state, including stems, lyrics, and exports.
client.projects.update(projectId, body, options?)
Patch project metadata.
title or artists.
client.projects.list(options?)
List every project owned by the authenticated account.
getProject).
client.projects.delete(projectId, options?)
Delete a project and all its associated stems, lyrics, and exports.
What’s next
- Stems — re-run stem separation
- Lyrics sync — re-sync lyrics
- Exports — render finished videos
- Tasks — wait on project operations with
client.projects.wait
