Back to docs Bibliothèque média
Live

Bibliothèque média

The single store for every asset. You upload once and reuse everywhere: Studio, Pages, Products, Presentations, Ads. Each file keeps its alt-text, its tags, its usage history and its lineage when it comes from a generation.

Overview

The media library is the source of truth for a workspace's files. An image, a logo, an icon, an Open Graph image, an avatar, a video, a PDF document. Each item carries its MIME type, its size, its dimensions, a checksum, and editorial metadata: kind, collection, tags, alt-text, caption. You sort your assets into named collections (persona, brand, inspiration, product shots, OG) and find them again by filter or by search.

Files live in a storage bucket, served by short-lived signed URL for private assets, by public URL for the ones filed under a public prefix. An upload computes a checksum and dedups on the spot: if the same file already exists unarchived in the workspace, you get the existing one instead of a duplicate. A workspace can have a byte quota, checked before every upload.

The part that matters for real use: usage tracking and lineage. When another module places an image (a page, a Studio draft, an ad visual, a booking avatar), it records the usage. On each file you see who references it and how many times. Generated images keep the trace of their parents (the reference images used to generate them) and their children (what was generated from them). A file with no usage for a while surfaces as an orphan so it can be purged.

What the module does

File kinds and collections

Each item has a kind that drives its display and its filters. The main page filters by kind and by collection, with a full-text search over alt-text, caption and generation prompt. Collections are named folders with their own dedicated pages.

  • Kinds: photo, logo, icon, Open Graph, avatar, AI generated, video, document, other
  • Shipped collections: persona, brand, inspiration, product shots, OG
  • Full-text search over alt-text, caption and generation prompt
  • Every file carries free tags, editable at any time

Upload, dedup and quota

An upload computes a SHA-256 checksum and looks for a duplicate in the workspace. If the file already exists and is not archived, you get the existing one, not a copy. Before writing, the workspace checks its byte quota: if the upload would exceed it, it is refused. A cross-workspace dedup pass also runs on a schedule: for a given checksum it keeps the oldest and archives the rest.

Signed URLs and public assets

Private files are served by short-lived signed URL, one hour by default. Files filed under a public prefix come out as a stable public URL. Opening a file's detail mints a fresh signed URL each time, so a copied link expires, which is intended.

Cross-module usage tracking

When another module places a file on an entity, it records the usage: the entity type, its id, and the field involved. The record is idempotent on the file, entity, field triple, so no double counting. On a file's detail you read the list of entities that reference it, and the usage count shows on the thumbnail.

  • Studio: post visuals and generated YouTube thumbnails
  • Pages: images placed inside a page block
  • Ads: ad visuals and brand kit
  • Booking: avatar on the booking page

Lineage of generated images

An AI-generated image keeps its parents (the reference images passed to the model) and records its model, its prompt and its generation metadata. The file detail shows the source images at the top and the derived images below. You can trace a final visual back to the references that produced it.

Reference personas

A workspace can mark a small selection of files as active personas. These are the images that Studio generation passes to the model by default as references, to keep a face or a style consistent. The selection is validated: each id must belong to the workspace.

Orphans and purge

A file with no recorded usage, older than a threshold, surfaces in an orphan report sorted by size. On the platform side, MCP tools give per-workspace usage, the orphan list, quota setting, and the hard purge of files archived long enough.

How to use it

  1. 01

    Upload your assets

    From /media, you drag your files into the upload zone. The checksum dedups, the quota is checked, the item shows in the grid.

  2. 02

    Sort and describe

    You open a file, set a kind, a collection, tags, an alt-text and a caption. Full-text search relies on these fields.

  3. 03

    Reuse elsewhere

    From Studio, Pages or Ads, you pick a library file instead of re-uploading. The usage is recorded on the file.

  4. 04

    Mark your personas

    You select the reference images to pass by default to Studio generation, to keep a consistent style.

  5. 05

    Track usage and lineage

    On a file's detail, you see who references it, its source images and its derived images.

  6. 06

    Clean up orphans

    You spot files with no usage for a while and archive them, or hard-purge them on the platform side.

Connections