Asset Library

Everything you upload to Leed lands in a single library: pictures, video, audio and files, shared by every page, form, email template and profile in the workspace. There is no second media manager to keep in step. The library is a section of the Design workspace, and the same list feeds the editor’s asset picker, the Feature Image field and the drag-and-drop overlay — so an asset you upload while writing one page is immediately available to every other.

Where the library lives

The rail down the left of the CMS is Know · Design · Engage · Plan · Deploy · Chat. Assets sit under Design. Open Design, then use the section picker at the top of the left panel — the control that reads Site by default — and choose Assets, described there as Images, files & media. It is the last of the seven sections behind that picker; the Design workspace covers the other six and how the panel remembers where you were.

The Design workspace with the left panel on the Assets section, showing a thumbnail grid of images, a video, an audio file and two documents

The URL for the section is /assets, and an open asset is /assets/<assetId> — a real, shareable address, so a colleague you send it to lands on the same asset rather than on the library. Opening one of those addresses directly, from a bookmark, a reload or a restored session, also scrolls the grid so the selected tile sits in the middle of the panel rather than below the fold.

Reading the grid

The panel is a grid of square tiles, each at least 85 pixels wide, with the asset’s name truncated to one line underneath. Hovering a tile shows the full name as a tooltip. What the thumbnail actually is depends on the type:

  • an image is drawn from the image CDN at its thumbnail variant, so the grid stays fast even when the originals are large;
  • a video shows the Cloudflare Stream poster frame taken at whatever timestamp the asset carries — the frame you chose with Set Thumbnail from Current Position, or the frame at 0 s if you never chose one;
  • audio and documents have no picture to show, so Leed draws a file-type icon from the file’s extension.

There is no list view and no size or date column here. The detail you need about one asset is on the asset itself.

Finding one asset

Two controls sit in the panel header, and they combine: a search box and a filter menu that narrows the grid by type and by label.

Search is the box reading Search assets…. It is a case-insensitive substring match on the asset’s name and nothing else — not the filename, not the description, not the alt text and not a transcript. An image you uploaded as IMG_4471.jpg and never renamed is found by typing 4471; the same image is not found by typing a word that appears in its alt text. That is the single best reason to give assets real names as you upload them.

Show is the slider-icon button beside the search box. Its menu is headed Show and carries five type values, with a Labels section beneath them; a small blue dot appears on the button whenever the type is set to anything other than All or any label is selected, so you can see at a glance that the grid is being narrowed.

ShowWhat it matchesHow it appears in the gridWhere the file is stored
Allevery asset in the librarymixed—
ImagesPNG, JPEG, GIF, WebP and SVGthe picture, at the thumbnail CDN variantCloudflare Images
Videosanything uploaded through the video flowthe Stream poster frame at the asset’s thumbnail timestampCloudflare Stream
AudioMP3a generated file-type iconobject storage, served from /f/…
Docsevery other file — PDFs, office documents, archives, plain texta generated file-type iconobject storage, served from /f/…

The Labels section lists the labels carried by at least one asset in the library, as pills you toggle on and off without the menu closing. Select several and an asset carrying any of them is shown; the label selection, the type and the search then combine with each other. A label no asset carries is not offered, nor are the two reserved labels Leed manages itself — marketing approved and the profile-picture label — and the whole section is hidden when no label is in use or your role cannot read labels.

The list is always sorted by name, A to Z. There is no other sort order and no way to reverse it. When nothing matches you get one of two messages: No assets yet when the library is genuinely empty, and No matches when your search or filter has excluded everything.

What opens when you click a tile

Clicking a tile opens the asset in the canvas beside the panel. The header shows the asset’s name as the title, and its type as the subtitle: Image, Video, Audio · <filename> or Document · <filename> — so a document or audio file tells you what the underlying file is called without your having to expand anything.

The asset canvas for the image Sunrise, with the preview, the Name and Alt Text fields, the Marketing approved checkbox, and the right rail on its Analytics tab

The body of the canvas is the type-specific editor. Images get a preview, a name and alt text; video and audio get a player, playback options and a transcript; documents get a preview or a file icon and their extracted text. Asset details and usage covers the fields every type shares — labels, marketing approval, the embed snippet, and the list of everywhere the asset is used. Asset, variant, label and marketing approved are all Leed terms with narrow meanings; the glossary has each of them in one line.

The right rail’s Analytics tab is a placeholder

Deleted assets

Deleting an asset is a soft delete. The library list is filtered to exclude anything with a deletion date, so a deleted asset disappears from this grid and from every picker at once, and searching for it finds nothing. The record itself is retained for 60 days before a scheduled cleanup removes the underlying file for good.

Delete is blocked outright while the asset is referenced anywhere — a page, a form, an email template or a profile. That rule, what the button looks like when it is blocked, and how to clear a reference are on asset details and usage. Deleting needs asset:delete, which starts at the Content Publisher role, while uploading and editing need asset:create and asset:update, which the Content Writer role carries; the privilege matrix has the full grid.

Where the old /library URL went

The standalone “All Content” library screen no longer exists. /library still resolves — it redirects to the Site section of the Design workspace, not to Assets, so a bookmark never 404s but it does not land you here either. Legacy URLs that still work lists the rest.

Reading the library from an AI client

An AI client connected to the Operator MCP can read and tidy this library but cannot add to it. list_assets lists active assets, filtered by type, by label and by a substring of the name or filename; get_asset reads one in full, including where it is used; update_asset changes one asset’s name, alt text (images only) or labels; change_asset_labels adds and removes labels on up to 200 assets at once; and delete_asset soft-deletes one, refused while anything still references it. The two bulk and destructive tools ask for confirmation before they act. There is no upload tool — files come in through the CMS or the leed CLI, below. MCP tools for forms and assets sets out exactly what the surface does and does not cover.

Adding to the library

Four routes put files in here, and each is documented on its own page because the rules genuinely differ.

New asset at the top of the Assets panel opens a four-way chooser — Image, Video, Audio, Document — and then the matching upload dialog. Images have a size limit, an optional crop step, duplicate detection and AI-written alt text; uploading images covers all four. Video goes to Cloudflare Stream and has a processing wait; audio is MP3 only; documents accept anything at all. Those three are on video, audio and document assets.

You do not have to use this panel. Dragging a file from your desktop onto any screen in the CMS opens the right upload dialog with the file already loaded — see uploading by drag and drop. And you can generate an image from a prompt instead of finding one; it lands in this library like any other asset, as AI image generation describes.

From a terminal, leed asset upload uploads a file or a whole folder from your site checkout, checks each one for duplicates and returns a ready-to-paste Leed Markdown reference; leed asset list, get, set and export find assets, change their metadata and labels, and download originals. Uploading images covers what the upload does with an image, and the CLI command reference has every flag.

To put something you have found here onto a page, use the editor’s Asset button rather than copying a URL — that is what keeps the reference tracked. Inserting media and embeds covers the picker and what each asset type becomes on the page.

ESC