# Project Settings — Media (/docs/projects/settings-media)



`/project/{projectId}/project-settings/media` redirects to the **App
Media** sub-page by default.

Three sibling routes under `/project-settings/media`:

* `/app-media` — see below.
* `/influencer` — AI brand ambassador library. See
  [Influencers](/docs/projects/settings-influencers).
* `/products` — product catalog. See
  [Products](/docs/projects/settings-products).

## App Media (`/app-media`) [#app-media-app-media]

Renders a three-panel bento grid with upload buttons for:

* **Logo** — one image.
* **End Card** — one image.
* **Mobile Screens** — images or a demo video.

The page is filtered to media whose `media_role` is one of `logo`,
`end-card`, `app-screenshot`, or `app-demo`.

### Upload limits [#upload-limits]

| Role                  | Max size | Formats                         | Min dimensions |
| --------------------- | -------- | ------------------------------- | -------------- |
| Logo                  | 5 MB     | PNG, WebP, JPEG, HEIC/HEIF, SVG | 200×200        |
| End Card              | 5 MB     | PNG, WebP, JPEG, HEIC/HEIF      | 720px wide     |
| Mobile Screen (image) | 5 MB     | PNG, WebP, JPEG, HEIC/HEIF      | 720px          |
| Mobile Screen (video) | 100 MB   | MP4, MOV                        | 720px          |

Aspect ratio is not enforced — the generation pipeline letterboxes as
needed.

There is no audio or document upload in this UI. There are no tag /
retag controls exposed here — `media_role` is set based on which
upload section received the file.

## Preview / delete [#preview--delete]

Click any tile to open the full-screen preview. From there you can
delete. Deleting calls the delete API which soft-deletes the
media-library row (`is_deleted = true`); there is no documented 30-day
hard-purge schedule in the current code.
