> ## Documentation Index
> Fetch the complete documentation index at: https://docs.youka.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Проекты

> Создавайте, просматривайте, ожидайте готовности и изменяйте караоке‑проекты в процессе работы

Проект — это ресурс «в процессе работы» для одного караоке-трека. Он содержит исходное медиа, синхронизированный текст, разделённые стемы, настройки рендера и экспорты, созданные на его основе.

## `project create`

Создать новый проект из локального файла или URL.

```bash theme={null}
youka project create <source> [options]
```

<ParamField path="source" type="string" required>
  Путь к локальному файлу (`./song.mp3`) или HTTP/HTTPS URL
  (`https://example.com/song.mp4`).
</ParamField>

### Options

| Option                          | Description                                                                      |
| ------------------------------- | -------------------------------------------------------------------------------- |
| `--title <title>`               | Название проекта                                                                 |
| `--mode <mode>`                 | `none`, `transcribe` или `align`                                                 |
| `--lyrics <text>`               | Текст lyrics                                                                     |
| `--lang <code>`                 | Код языка                                                                        |
| `--sync-model <model>`          | Модель синхронизации lyrics                                                      |
| `--split-model <model>`         | Модель разделения стемов                                                         |
| `--max-video-quality <quality>` | Максимальное качество видео для URL-источников: `720p`, `1080p`, `4k` или `best` |
| `--preset <presetId>`           | Применить пресет при создании проекта                                            |
| `--export`                      | Создать экспорт после того, как проект будет готов                               |
| `--download`                    | Создать экспорт, дождаться его готовности и скачать                              |
| `--output <path>`               | Путь вывода для `--download`                                                     |

### Examples

<CodeGroup>
  ```bash local-file theme={null}
  youka project create ./song.mp3 \
    --title "My Song" \
    --mode transcribe \
    --lang en \
    --wait \
    --json
  ```

  ```bash url theme={null}
  youka project create "https://example.com/song.mp4" \
    --max-video-quality 4k \
    --download \
    --output ./karaoke.mp4 \
    --json
  ```

  ```bash align theme={null}
  youka project create ./song.mp3 \
    --mode align \
    --lyrics "$(cat lyrics.txt)" \
    --sync-model audioshake-alignment \
    --wait \
    --json
  ```
</CodeGroup>

Правила:

* Если вы передаёте lyrics и не указываете `--mode`, CLI по умолчанию использует `align`
* `align` требует lyrics
* `transcribe` и `none` не принимают lyrics
* `--download` подразумевает `--export`
* `--max-video-quality` применяется только к HTTP/HTTPS URL-источникам. По умолчанию это `1080p`, используется лучшее доступное качество в пределах этого лимита, а когда платформа не предоставляет поток с ограничением, используется лучший доступный формат.

## `project list`

Показать список всех проектов для аутентифицированного аккаунта.

```bash theme={null}
youka project list
youka project list --json
```

## `project quote`

Рассчитать количество кредитов, необходимых для создания проекта, не создавая проект.

```bash theme={null}
youka project quote <source> [options]
```

`source` принимает те же формы локального пути к файлу или HTTP/HTTPS URL, что и
`project create`. Без `--duration` CLI загружает источник, чтобы сервер
мог точно измерить длительность медиа, но проект не создаёт.

### Options

| Option                          | Description                                                                      |
| ------------------------------- | -------------------------------------------------------------------------------- |
| `--title <title>`               | Название проекта                                                                 |
| `--mode <mode>`                 | `none`, `transcribe` или `align`                                                 |
| `--lyrics <text>`               | Текст lyrics для `align`                                                         |
| `--lang <code>`                 | Код языка                                                                        |
| `--sync-model <model>`          | Модель синхронизации lyrics                                                      |
| `--split-model <model>`         | Модель разделения стемов                                                         |
| `--max-video-quality <quality>` | Максимальное качество видео для URL-источников: `720p`, `1080p`, `4k` или `best` |
| `--duration <seconds>`          | Рассчитать по известной длительности без загрузки источника                      |

Examples:

```bash theme={null}
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`

Получить текущее состояние проекта, включая нормализованные `state`, `pendingOperation`, стемы, настройки и экспорты.

```bash theme={null}
youka project show <projectId>
```

<ParamField path="projectId" type="string" required>
  ID проекта, возвращаемый командой `project create`.
</ParamField>

## `project wait`

Опрашивать проект до тех пор, пока он не достигнет терминального состояния.

```bash theme={null}
youka project wait <projectId> --json
```

## `project delete`

Удалить проект и все связанные с ним стемы, lyrics и экспорты.

```bash theme={null}
youka project delete <projectId> --idempotency-key delete-<projectId>
```

<Warning>
  Удаление необратимо. Передайте `--idempotency-key`, чтобы повторы запроса были безопасными.
</Warning>

## `project sync`

Повторно запустить транскрибацию или выравнивание lyrics для существующего проекта.

```bash theme={null}
youka project sync <projectId> [options]
```

| Option                 | Description                 |
| ---------------------- | --------------------------- |
| `--mode <mode>`        | `transcribe` или `align`    |
| `--text <text>`        | Текст lyrics                |
| `--lang <code>`        | Код языка                   |
| `--sync-model <model>` | Модель синхронизации lyrics |

Example:

```bash theme={null}
youka project sync $PROJECT_ID \
  --mode align \
  --text "$(cat lyrics.txt)" \
  --wait \
  --json
```

## `project separate`

Повторно запустить разделение стемов для существующего проекта.

```bash theme={null}
youka project separate <projectId> [--split-model <model>]
```

Example:

```bash theme={null}
youka project separate $PROJECT_ID --split-model audioshakeai --wait --json
```

## `project settings`

Прочитать или обновить активные настройки проекта.

```bash theme={null}
youka project settings <projectId>
youka project settings <projectId> --preset <presetId> --body ./settings.json
```

Если ни `--preset`, ни `--body` не указаны, команда возвращает текущие настройки. Если указан хотя бы один из них, выполняется обновление.

Examples:

<CodeGroup>
  ```bash show theme={null}
  youka project settings $PROJECT_ID --json
  ```

  ```bash update theme={null}
  youka project settings $PROJECT_ID \
    --preset preset_abc123 \
    --body ./project-settings.json \
    --json
  ```
</CodeGroup>

## `project stem list`

Показать список стемов проекта.

```bash theme={null}
youka project stem list <projectId>
youka project stem list <projectId> --json
```

## `project stem download`

Скачать один или несколько стем-файлов на диск. Стемы скачиваются в исходном
сохранённом формате; CLI не выполняет их транскодирование.

```bash theme={null}
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
```

Поддерживаемые значения `--type`: `original`, `instrumental`, `vocals` и
`backing_vocals`. CLI также принимает `backing-vocals`, `backingVocals` и
`backingvocals` как алиасы.

## Что дальше

* [Exports](/ru/cli/exports) — отрендерить готовое караоке
* [Presets](/ru/cli/presets) — управлять переиспользуемыми конфигурациями рендера
* [Render settings reference](/en/render-settings-reference) — общие поля пресетов и настроек
