Skip to main content
A project is the work-in-progress resource for one karaoke track. It owns the source media, synced lyrics, separated stems, render settings, and the exports created from it.

project create

Create a new project from a local file or a URL.
youka project create <source> [options]
source
string
required
A local file path (./song.mp3) or an HTTP/HTTPS URL (https://example.com/song.mp4).

Options

OptionDescription
--title <title>Project title
--mode <mode>none, transcribe, or align
--lyrics <text>Lyrics text
--lang <code>Language code
--sync-model <model>Lyrics sync model
--split-model <model>Stem separation model
--max-video-quality <quality>Maximum video quality for URL sources: 720p, 1080p, 4k, or best
--preset <presetId>Apply a preset while creating the project
--exportCreate an export after the project is ready
--downloadCreate an export, wait for it, and download it
--output <path>Output path for --download

Examples

youka project create ./song.mp3 \
  --title "My Song" \
  --mode transcribe \
  --lang en \
  --wait \
  --json
Rules:
  • If you pass lyrics and omit --mode, the CLI defaults to align
  • align requires lyrics
  • transcribe and none do not accept lyrics
  • --download implies --export
  • --max-video-quality only applies to HTTP/HTTPS URL sources. It defaults to 1080p, uses the best available quality up to that limit, and falls back to the best available format when the platform does not expose a capped stream.

project list

List all projects for the authenticated account.
youka project list
youka project list --json

project quote

Quote the credits required to create a project without creating the project.
youka project quote <source> [options]
source accepts the same local file path or HTTP/HTTPS URL forms as project create. Without --duration, the CLI uploads the source so the server can measure the media exactly, but it does not create a project.

Options

OptionDescription
--title <title>Project title
--mode <mode>none, transcribe, or align
--lyrics <text>Lyrics text for align
--lang <code>Language code
--sync-model <model>Lyrics sync model
--split-model <model>Stem separation model
--max-video-quality <quality>Maximum video quality for URL sources: 720p, 1080p, 4k, or best
--duration <seconds>Quote from a known duration without uploading the source
Examples:
youka project quote ./song.mp3 --mode transcribe --json
youka project quote https://example.com/song.mp4 --max-video-quality 4k --mode transcribe --json
youka project quote ./song.mp3 --duration 210 --mode none --json

project show

Get the current project state, including normalized state, pendingOperation, stems, settings, and exports.
youka project show <projectId>
projectId
string
required
The project ID returned by project create.

project wait

Poll a project until it reaches a terminal state.
youka project wait <projectId> --json

project delete

Delete a project and all its associated stems, lyrics, and exports.
youka project delete <projectId> --idempotency-key delete-<projectId>
Deletion is permanent. Pass --idempotency-key to make retries safe.

project sync

Re-run lyric transcription or alignment on an existing project.
youka project sync <projectId> [options]
OptionDescription
--mode <mode>transcribe or align
--text <text>Lyrics text
--lang <code>Language code
--sync-model <model>Lyrics sync model
Example:
youka project sync $PROJECT_ID \
  --mode align \
  --text "$(cat lyrics.txt)" \
  --wait \
  --json

project separate

Re-run stem separation on an existing project.
youka project separate <projectId> [--split-model <model>]
Example:
youka project separate $PROJECT_ID --split-model audioshakeai --wait --json

project settings

Read or update the active project settings.
youka project settings <projectId>
youka project settings <projectId> --preset <presetId> --body ./settings.json
If neither --preset nor --body is present, the command returns the current settings. If either is present, it performs an update. Examples:
youka project settings $PROJECT_ID --json

project stem list

List stems for a project.
youka project stem list <projectId>
youka project stem list <projectId> --json

project stem download

Download one or more stem files to disk. Stems are downloaded in their original stored format; the CLI does not transcode them.
youka project stem download <projectId> <stemId> --output ./stems
youka project stem download <projectId> --type instrumental --output ./stems
youka project stem download <projectId> --type original --type backing-vocals --type vocals --output ./stems
youka project stem download <projectId> --all --output ./stems
Supported --type values are original, instrumental, vocals, and backing_vocals. The CLI also accepts backing-vocals, backingVocals, and backingvocals as aliases.

What’s next