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]
A local file path (./song.mp3) or an HTTP/HTTPS URL
(https://example.com/song.mp4).
Options
| Option | Description |
|---|
--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 |
--export | Create an export after the project is ready |
--download | Create 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
| Option | Description |
|---|
--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>
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]
| Option | Description |
|---|
--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