# App media (/docs/api/reference/app-media)



App media is the optional-but-recommended step between creating an influencer and generating content. Without it, content generation has to imagine your customer's product. With it, the planner anchors on real assets the customer uploaded.

| Kind         | What it does                                                                          | Required for                                                                  |
| ------------ | ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `logo`       | The customer's brand logo. One per project — uploading another replaces the previous. | End-cards, anywhere the logo is composited in.                                |
| `screenshot` | Product screenshots — UI shots of the app or website. Multiple allowed.               | Slideshow-builder + slideshow-remix composites that show product context.     |
| `demo-video` | A short video of the product in use. Multiple allowed.                                | **Unlocks `ugc-remix`** — the format treats the demo video as the core media. |

Uploads are URL-based. Partners hand us a public URL; the server fetches it through the SSRF guard, validates Content-Type + size, stores in R2, and creates the `media_library` row.

## In this section [#in-this-section]

<Cards>
  <Card title="Upload app media" href="/docs/api/reference/app-media/upload-app-media" description="POST a public URL; Layers downloads + stores it." />

  <Card title="List app media" href="/docs/api/reference/app-media/list-app-media" description="Group the project's logo, screenshots, and demo videos." />

  <Card title="Delete app media" href="/docs/api/reference/app-media/delete-app-media" description="Soft-delete a partner-managed asset." />
</Cards>
