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

# Préréglages

> Configurations de rendu réutilisables — créer, mettre à jour, lister et définir la valeur par défaut du compte

Un préréglage est une configuration de rendu réutilisable — arrière-plan, style des sous-titres, mise en page — que vous pouvez appliquer à n’importe quel projet ou export. Utilisez des préréglages lorsque vous souhaitez une apparence cohérente sur de nombreux morceaux.

Voir [Référence des paramètres de rendu](/en/render-settings-reference) pour la forme complète de `preset` et toutes les options basées sur des enums.

## Quand utiliser un préréglage

<Columns cols={2}>
  <Card title="Utilisez un préréglage lorsque…" icon="check">
    Vous voulez le même rendu sur de nombreux projets et devez le mettre à jour à
    un seul endroit.
  </Card>

  <Card title="Utilisez les paramètres de projet lorsque…" icon="sliders" href="/fr/api/project-settings">
    Vous avez besoin de personnalisations locales au projet qui ne valent pas la
    peine d’être partagées.
  </Card>
</Columns>

## Endpoints

| Method   | Path                  | Purpose                                                |
| -------- | --------------------- | ------------------------------------------------------ |
| `GET`    | `/presets`            | Lister les préréglages du compte authentifié.          |
| `POST`   | `/presets`            | Créer un nouveau préréglage.                           |
| `GET`    | `/presets/{presetId}` | Récupérer un préréglage unique.                        |
| `PATCH`  | `/presets/{presetId}` | Mettre à jour le nom, le corps, ou définir par défaut. |
| `DELETE` | `/presets/{presetId}` | Supprimer un préréglage.                               |

Les schémas complets de requête et de réponse sont disponibles sous **API reference** dans la barre latérale.

## Créer un préréglage

```bash theme={null}
curl -X POST https://api.youka.io/fr/api/v1/presets \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: create-neon-night-v1" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Neon Night",
    "preset": {
      "background": {
        "type": "gradient",
        "colors": ["#12001f", "#2f0a57"],
        "angle": 90
      },
      "singerTextStyles": {
        "0": {
          "fontFamily": "Inter",
          "textColor": "#00f5ff",
          "effectColor": "#ff4fd8"
        }
      }
    },
    "isDefault": false
  }'
```

La réponse inclut le nouveau `presetId`. Conservez-le et référencez-le depuis les projets ou les exports.

<Tip>
  Associez chaque `POST` à une clé d’idempotence. Réutiliser la même clé avec le
  même payload renvoie le préréglage d’origine au lieu d’en créer un doublon.
</Tip>

## Découvrir les champs valides d’un préréglage

Les préréglages sont validés côté serveur par rapport au `KaraokePresetSchema`. Le SDK exporte ce schéma afin que vous puissiez le convertir en JSON Schema à l’exécution :

```ts theme={null}
import { KaraokePresetSchema } from "@youka/sdk";

const jsonSchema = KaraokePresetSchema.toJSONSchema();
```

Depuis la CLI :

```bash theme={null}
youka preset schema --json
```

Les auteurs d’agents devraient appeler ceci avant de modifier des préréglages afin que le modèle connaisse chaque champ valide et chaque type de valeur.

Référence lisible :

* [Référence des paramètres de rendu](/en/render-settings-reference)
* [Préréglages CLI](/fr/cli/presets)
* [Préréglages SDK](/fr/sdk/presets)

## Mettre à jour un préréglage

```bash theme={null}
curl -X PATCH https://api.youka.io/fr/api/v1/presets/preset_abc123 \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Neon Night v2",
    "preset": {
      "singerTextStyles": {
        "0": {
          "textColor": "#ff2a2a"
        }
      }
    }
  }'
```

Passez n’importe quel sous-ensemble de `name` et `preset`. Les champs que vous n’incluez pas restent inchangés.

## Définir le préréglage par défaut

Chaque compte possède au plus un préréglage par défaut, appliqué automatiquement aux nouveaux projets.

```bash theme={null}
curl -X PATCH https://api.youka.io/fr/api/v1/presets/preset_abc123 \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "isDefault": true
  }'
```

Définir un nouveau préréglage par défaut désactive automatiquement le précédent.

## Appliquer un préréglage

Référencez un préréglage à trois endroits :

| Where                         | Field                                                  |
| ----------------------------- | ------------------------------------------------------ |
| Lors de la création du projet | `presetId` dans `POST /projects`                       |
| À tout moment sur un projet   | `presetId` dans `PATCH /projects/{projectId}/settings` |
| Au moment de l’export         | `presetId` dans `POST /projects/{projectId}/exports`   |

Exemple lors de l’export :

```bash theme={null}
curl -X POST https://api.youka.io/fr/api/v1/projects/prj_abc/exports \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "presetId": "preset_abc123",
    "resolution": "1080p",
    "quality": "high"
  }'
```

## Supprimer un préréglage

```bash theme={null}
curl -X DELETE https://api.youka.io/fr/api/v1/presets/preset_abc123 \
  -H "Authorization: Bearer yk_..." \
  -H "Idempotency-Key: delete-preset_abc123"
```

<Warning>
  Supprimer un préréglage n’affecte pas les projets ni les exports qui ont été
  rendus auparavant avec celui-ci. Les futurs exports qui référencent le
  préréglage supprimé échoueront.
</Warning>

## Et ensuite

* [Référence des paramètres de rendu](/en/render-settings-reference) — tous les chemins de champs partagés et les valeurs d’enum
* [Médias](/fr/api/media) — référencés depuis les corps de préréglage
* [Paramètres du projet](/fr/api/project-settings) — appliquer un préréglage à un projet
* [Préréglages CLI](/fr/cli/presets) — le même flux depuis le terminal
* [Préréglages SDK](/fr/sdk/presets) — les mêmes endpoints en TypeScript
