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

# Medios

> Fondos reutilizables, logotipos y videos de intro/outro

Los medios son archivos reutilizables — fondos de video, imágenes estáticas, logotipos y clips de intro/outro — que subes una sola vez y referencias desde presets o desde la configuración del proyecto. Esto evita volver a subir el mismo archivo cada vez que renderizas una nueva pista.

## Tipos de medios

| Tipo          | Descripción                                     |
| ------------- | ----------------------------------------------- |
| `video`       | Video de fondo en bucle.                        |
| `image`       | Imagen de fondo estática.                       |
| `logo`        | Superposición de logotipo.                      |
| `intro-video` | Se reproduce antes de que empiece el karaoke.   |
| `outro-video` | Se reproduce después de que termine el karaoke. |

## Endpoints

| Método   | Path               | Propósito                                                       |
| -------- | ------------------ | --------------------------------------------------------------- |
| `GET`    | `/media`           | Lista los medios de la cuenta autenticada.                      |
| `POST`   | `/media`           | Registra un archivo subido previamente como medio reutilizable. |
| `GET`    | `/media/{mediaId}` | Obtiene un único elemento de medios.                            |
| `DELETE` | `/media/{mediaId}` | Elimina un elemento de medios.                                  |

Los esquemas completos de solicitud y respuesta están en **API reference**.

## Flujo de carga

Crear un elemento de medios es un proceso de dos pasos. Primero sube los bytes del archivo y luego registra el archivo subido como medio reutilizable.

<Steps>
  <Step title="Create an upload target">
    ```bash theme={null}
    curl -X POST https://api.youka.io/es/api/v1/uploads \
      -H "Authorization: Bearer yk_..." \
      -H "Content-Type: application/json" \
      -d '{
        "filename": "background.mp4",
        "contentType": "video/mp4",
        "contentLength": 8421120
      }'
    ```

    La respuesta contiene `inputFileId` y `uploadUrl`.
  </Step>

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

  <Step title="Register the media item">
    ```bash theme={null}
    curl -X POST https://api.youka.io/es/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 respuesta incluye el nuevo `mediaId` y la `url` del medio. Usa la
    `url` dentro de presets o de la configuración del proyecto.
  </Step>
</Steps>

<Note>
  `POST /media` no acepta cargas de archivos en bruto. Espera un `inputFileId`
  de una llamada previa `POST /uploads` + `PUT`.
</Note>

## Listar medios

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

Devuelve un array de todos los elementos de medios reutilizables en la cuenta autenticada.

## Aplicar un fondo

Referencia los medios subidos desde un preset o directamente desde la configuración del proyecto:

```bash theme={null}
curl -X PATCH https://api.youka.io/es/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"
        }
      }
    }
  }'
```

## Eliminar medios

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

<Warning>
  Eliminar medios no afecta a los proyectos ni a las exportaciones renderizadas
  previamente con ellos. Los renderizados futuros que referencien los medios
  eliminados volverán al fondo predeterminado.
</Warning>

## Qué sigue

* [Render settings reference](/en/render-settings-reference) — todas las rutas de campos compartidas y los valores enum
* [Presets](/es/api/presets) — agrupa medios con otros ajustes de render
* [Project settings](/es/api/project-settings) — aplica fondos a un proyecto
* [SDK media](/es/sdk/media) — el mismo flujo en TypeScript
