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

# Médias

> Arrière-plans, logos et vidéos d’intro/outro réutilisables

Les médias sont des fichiers réutilisables — arrière-plans vidéo, images statiques, logos et clips d’intro/outro — que vous téléversez une seule fois et que vous référencez depuis des presets ou les paramètres du projet. Cela évite de devoir retéléverser le même fichier à chaque fois que vous rendez une nouvelle piste.

## Types de médias

| Type          | Description                            |
| ------------- | -------------------------------------- |
| `video`       | Vidéo d’arrière-plan en boucle.        |
| `image`       | Image d’arrière-plan statique.         |
| `logo`        | Superposition de logo.                 |
| `intro-video` | Lecture avant le démarrage du karaoké. |
| `outro-video` | Lecture après la fin du karaoké.       |

## Endpoints

| Method   | Path               | Purpose                                                         |
| -------- | ------------------ | --------------------------------------------------------------- |
| `GET`    | `/media`           | Lister les médias pour le compte authentifié.                   |
| `POST`   | `/media`           | Enregistrer un fichier déjà téléversé comme média réutilisable. |
| `GET`    | `/media/{mediaId}` | Récupérer un élément média unique.                              |
| `DELETE` | `/media/{mediaId}` | Supprimer un élément média.                                     |

Les schémas complets des requêtes et des réponses se trouvent dans la **API reference**.

## Flux de téléversement

La création d’un élément média est un processus en deux étapes. Téléversez d’abord les octets du fichier, puis enregistrez le fichier téléversé comme média réutilisable.

<Steps>
  <Step title="Créer une cible de téléversement">
    ```bash theme={null}
    curl -X POST https://api.youka.io/fr/api/v1/uploads \
      -H "Authorization: Bearer yk_..." \
      -H "Content-Type: application/json" \
      -d '{
        "filename": "background.mp4",
        "contentType": "video/mp4",
        "contentLength": 8421120
      }'
    ```

    La réponse contient `inputFileId` et `uploadUrl`.
  </Step>

  <Step title="PUT les octets du fichier">
    ```bash theme={null}
    curl -X PUT "$UPLOAD_URL" \
      -H "Content-Type: video/mp4" \
      --data-binary "@./background.mp4"
    ```
  </Step>

  <Step title="Enregistrer l’élément média">
    ```bash theme={null}
    curl -X POST https://api.youka.io/fr/api/v1/media \
      -H "Authorization: Bearer yk_..." \
      -H "Idempotency-Key: bg-loop-v1" \
      -H "Content-Type: application/json" \
      -d '{
        "inputFileId": "file_abc123",
        "type": "video"
      }'
    ```

    La réponse inclut le nouveau `mediaId` et l’`url` du média. Utilisez l’`url` dans les presets ou les paramètres du projet.
  </Step>
</Steps>

<Note>
  `POST /media` n’accepte pas de téléversements de fichiers bruts. Il attend un `inputFileId`
  issu d’un appel préalable `POST /uploads` + `PUT`.
</Note>

## Lister les médias

```bash theme={null}
curl https://api.youka.io/fr/api/v1/media \
  -H "Authorization: Bearer yk_..."
```

Renvoie un tableau de tous les éléments média réutilisables du compte authentifié.

## Appliquer un arrière-plan

Référencez les médias téléversés depuis un preset ou directement depuis les paramètres du projet :

```bash theme={null}
curl -X PATCH https://api.youka.io/fr/api/v1/projects/prj_abc/settings \
  -H "Authorization: Bearer yk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "settings": {
      "style": {
        "background": {
          "type": "image",
          "url": "https://cdn.youka.io/backgrounds/bg_abc123.jpg",
          "objectFit": "cover"
        }
      }
    }
  }'
```

## Supprimer des médias

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

<Warning>
  La suppression des médias n’affecte pas les projets ou exports déjà rendus avec
  ceux-ci. Les rendus futurs qui référencent le média supprimé reviendront à
  l’arrière-plan par défaut.
</Warning>

## Et ensuite

* [Render settings reference](/en/render-settings-reference) — tous les chemins de champs partagés et les valeurs enum
* [Presets](/fr/api/presets) — regrouper les médias avec d’autres paramètres de rendu
* [Project settings](/fr/api/project-settings) — appliquer des arrière-plans à un projet
* [SDK media](/fr/sdk/media) — le même flux en TypeScript
