> ## 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.

# Projetos

> Crie, inspecione, aguarde e altere projetos de karaokê em andamento

Um projeto é o recurso de trabalho em andamento para uma faixa de karaokê. Ele contém a mídia de origem, letras sincronizadas, stems separados, configurações de renderização e as exportações criadas a partir dele.

## `project create`

Crie um novo projeto a partir de um arquivo local ou de uma URL.

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

<ParamField path="source" type="string" required>
  Um caminho de arquivo local (`./song.mp3`) ou uma URL HTTP/HTTPS
  (`https://example.com/song.mp4`).
</ParamField>

### Options

| Option                          | Description                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------ |
| `--title <title>`               | Título do projeto                                                              |
| `--mode <mode>`                 | `none`, `transcribe` ou `align`                                                |
| `--lyrics <text>`               | Texto da letra                                                                 |
| `--lang <code>`                 | Código do idioma                                                               |
| `--sync-model <model>`          | Modelo de sincronização de letras                                              |
| `--split-model <model>`         | Modelo de separação de stems                                                   |
| `--max-video-quality <quality>` | Qualidade máxima de vídeo para fontes por URL: `720p`, `1080p`, `4k` ou `best` |
| `--preset <presetId>`           | Aplicar um preset ao criar o projeto                                           |
| `--export`                      | Criar uma exportação após o projeto estar pronto                               |
| `--download`                    | Criar uma exportação, aguardar e fazer o download                              |
| `--output <path>`               | Caminho de saída para `--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>

Regras:

* Se você passar letras e omitir `--mode`, a CLI usa `align` por padrão
* `align` exige letras
* `transcribe` e `none` não aceitam letras
* `--download` implica `--export`
* `--max-video-quality` se aplica apenas a fontes por URL HTTP/HTTPS. O padrão é `1080p`, usa a melhor qualidade disponível até esse limite e recorre ao melhor formato disponível quando a plataforma não expõe um stream com limite de qualidade.

## `project list`

Liste todos os projetos da conta autenticada.

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

## `project quote`

Faça uma cotação dos créditos necessários para criar um projeto sem criar o projeto.

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

`source` aceita as mesmas formas de caminho de arquivo local ou URL HTTP/HTTPS que
`project create`. Sem `--duration`, a CLI faz upload da origem para que o servidor
possa medir a mídia com precisão, mas não cria um projeto.

### Options

| Option                          | Description                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------ |
| `--title <title>`               | Título do projeto                                                              |
| `--mode <mode>`                 | `none`, `transcribe` ou `align`                                                |
| `--lyrics <text>`               | Texto da letra para `align`                                                    |
| `--lang <code>`                 | Código do idioma                                                               |
| `--sync-model <model>`          | Modelo de sincronização de letras                                              |
| `--split-model <model>`         | Modelo de separação de stems                                                   |
| `--max-video-quality <quality>` | Qualidade máxima de vídeo para fontes por URL: `720p`, `1080p`, `4k` ou `best` |
| `--duration <seconds>`          | Fazer a cotação a partir de uma duração conhecida sem fazer upload da origem   |

Exemplos:

```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`

Obtenha o estado atual do projeto, incluindo `state` normalizado, `pendingOperation`, stems, configurações e exportações.

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

<ParamField path="projectId" type="string" required>
  O ID do projeto retornado por `project create`.
</ParamField>

## `project wait`

Consulte um projeto até ele atingir um estado terminal.

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

## `project delete`

Exclua um projeto e todos os stems, letras e exportações associados a ele.

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

<Warning>
  A exclusão é permanente. Passe `--idempotency-key` para tornar as tentativas repetidas seguras.
</Warning>

## `project sync`

Execute novamente a transcrição ou o alinhamento de letras em um projeto existente.

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

| Option                 | Description                       |
| ---------------------- | --------------------------------- |
| `--mode <mode>`        | `transcribe` ou `align`           |
| `--text <text>`        | Texto da letra                    |
| `--lang <code>`        | Código do idioma                  |
| `--sync-model <model>` | Modelo de sincronização de letras |

Exemplo:

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

## `project separate`

Execute novamente a separação de stems em um projeto existente.

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

Exemplo:

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

## `project settings`

Leia ou atualize as configurações ativas do projeto.

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

Se nem `--preset` nem `--body` estiver presente, o comando retorna as configurações atuais. Se qualquer um deles estiver presente, ele executa uma atualização.

Exemplos:

<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`

Liste os stems de um projeto.

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

## `project stem download`

Baixe um ou mais arquivos de stem para o disco. Os stems são baixados no formato
original em que foram armazenados; a CLI não os transcodifica.

```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
```

Os valores suportados para `--type` são `original`, `instrumental`, `vocals` e
`backing_vocals`. A CLI também aceita `backing-vocals`, `backingVocals` e
`backingvocals` como aliases.

## O que vem a seguir

* [Exports](/pt/cli/exports) - renderize o karaokê finalizado
* [Presets](/pt/cli/presets) - gerencie configurações de renderização reutilizáveis
* [Render settings reference](/en/render-settings-reference) - campos compartilhados de preset e configurações
