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

# Youka CLI

> Créez du karaoké, personnalisez le style et exportez des vidéos MP4 depuis la ligne de commande

La Youka CLI encapsule l’API publique afin que vous puissiez créer un karaoké à partir d’une chanson, personnaliser les paroles et le style vidéo, puis exporter un MP4 final depuis votre terminal ou depuis un agent.

## Installation

<CodeGroup>
  ```bash npm theme={null}
  npm install -g @youka/cli
  ```

  ```bash pnpm theme={null}
  pnpm add -g @youka/cli
  ```

  ```bash yarn theme={null}
  yarn global add @youka/cli
  ```
</CodeGroup>

Vérifiez l’installation :

```bash theme={null}
youka --version
youka --help
```

## Configurer l’authentification

<Steps>
  <Step title="Obtenir une clé API">
    Rendez-vous sur [online.youka.io/account](https://online.youka.io/account), ouvrez
    **API keys**, puis copiez une nouvelle clé.
  </Step>

  <Step title="Enregistrer la clé">
    Enregistrez la clé dans `~/.youka/config.json` :

    ```bash theme={null}
    youka login YOUR_API_KEY
    ```

    Ou exportez-la comme variable d’environnement :

    ```bash theme={null}
    export YOUKA_API_KEY=YOUR_API_KEY
    ```
  </Step>
</Steps>

## Créer un karaoké à partir d’un fichier

Utilisez un fichier audio ou vidéo local comme source :

```bash theme={null}
youka project create ./song.mp3 --download --output ./karaoke.mp4 --wait --json
```

Cela envoie la source, crée le projet de karaoké, génère un export et télécharge la vidéo MP4 finalisée.

## Créer un karaoké à partir d’une URL

Passez une URL source HTTP ou HTTPS au lieu d’un chemin de fichier :

```bash theme={null}
youka project create "https://example.com/song.mp4" --download --output ./karaoke.mp4 --wait --json
```

Pour les URL de vidéos hébergées, Youka utilise `yt-dlp` pour télécharger depuis l’URL. Vous pouvez installer les dépendances de téléchargement d’URL avant la première importation d’URL :

```bash theme={null}
youka deps ensure --for url
```

## Référence

<Columns cols={2}>
  <Card title="Account" icon="key" href="/fr/cli/account">
    Connectez-vous, déconnectez-vous et inspectez l’état de l’authentification.
  </Card>

  <Card title="Credits" icon="coins" href="/fr/cli/credits">
    Consultez le solde actuel et les packs de crédits expirants.
  </Card>

  <Card title="Billing" icon="credit-card" href="/fr/cli/billing">
    Affichez les tarifs et créez des URL de paiement ou de portail.
  </Card>

  <Card title="Projects" icon="folder" href="/fr/cli/projects">
    Créez, inspectez, attendez et mettez à jour des projets.
  </Card>

  <Card title="Exports" icon="file-video" href="/fr/cli/exports">
    Générez des artefacts d’export cloud ou locaux et téléchargez-les.
  </Card>

  <Card title="Presets" icon="palette" href="/fr/cli/presets">
    Gérez des configurations de rendu réutilisables.
  </Card>

  <Card title="Media" icon="image" href="/fr/cli/media">
    Téléversez et gérez des médias réutilisables.
  </Card>

  <Card title="Tasks" icon="list-check" href="/fr/cli/tasks">
    Inspectez l’état des tâches de bas niveau lorsque nécessaire.
  </Card>

  <Card title="Dependencies" icon="box" href="/fr/cli/deps">
    Inspectez et installez les dépendances d’import d’URL et de rendu local.
  </Card>

  <Card title="Global options" icon="gear" href="/fr/cli/global-options">
    Options disponibles sur chaque commande.
  </Card>
</Columns>

## Prêt pour les agents par défaut

Chaque commande prend en charge un mode lisible par machine qui renvoie une unique enveloppe JSON au format stable. Utilisez ces options pour piloter la CLI depuis des agents ou des scripts :

| Option                    | Objectif                                                                                                         |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `--json`                  | Affiche exactement une enveloppe JSON sur stdout. La progression et les logs sont supprimés.                     |
| `--body <file\|->`        | Fusionne une charge utile JSON depuis un fichier ou stdin. Les options CLI remplacent les champs correspondants. |
| `--wait`                  | Interroge les jobs async (création de projet, exports) jusqu’à atteindre un état terminal.                       |
| `--idempotency-key <key>` | Transmet une clé d’idempotence à toute opération d’écriture.                                                     |
| `--quiet`                 | Supprime la sortie de progression non-JSON lorsqu’utilisé avec `--wait`.                                         |
| `--api <url>`             | Remplace l’URL de base de l’API publique.                                                                        |

Format de l’enveloppe JSON :

```json theme={null}
{
  "ok": true,
  "data": {
    /* command result */
  }
}
```

En cas d’échec :

```json theme={null}
{
  "ok": false,
  "error": {
    "code": "INVALID_INPUT",
    "message": "Human-readable description",
    "details": {
      /* optional */
    }
  }
}
```

Voir [Global options](/fr/cli/global-options) pour la liste complète.

## Export cloud vs local

`export create` s’exécute dans le cloud par défaut. Passez `--local` pour effectuer le rendu sur votre machine en utilisant la chaîne d’outils Remotion incluse. Les rendus locaux nécessitent les dépendances de rendu :

```bash theme={null}
youka deps ensure --for render
```

Voir [Exports](/fr/cli/exports) pour le workflow complet.

## Et ensuite

* [Account](/fr/cli/account) - enregistrez votre clé API
* [Projects](/fr/cli/projects) - créer et traiter des projets
* [Exports](/fr/cli/exports) - générer une vidéo de karaoké finalisée
* [AI agents](/fr/agents) - piloter la CLI depuis un workflow automatisé
