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.
karaoke | lyric-video
Workflow. Defaults to
karaoke. lyric-video uses the original audio without stem separation.SplitModel
Stem separation model for karaoke. Defaults to
mdx23c. Rejected for lyric-video. 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
Lyric-video creation and model discovery
kind and lyric-processing choices work with projects.quote. Lyric-video quotes charge zero separation credits. Quote and create validate the same model, language, account, and source requirements. Quotes do not reserve credits or capacity.
Use lyricsSource: null to skip lyric processing. Reference text in transcription is guidance and may differ from the result. Models that need isolated vocals cannot process a no-separation lyric video.
See Automate lyric videos for capabilities, exact timing updates, and catalogue checkpoints.