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 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.
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
thumbnailvariant, 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 type filter.
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 values; a small blue dot appears on the button whenever the filter is set to anything other than All, so you can see at a glance that the grid is being narrowed.
| Show | What it matches | How it appears in the grid | Where the file is stored |
|---|---|---|---|
| All | every asset in the library | mixed | — |
| Images | PNG, JPEG, GIF, WebP and SVG | the picture, at the thumbnail CDN variant | Cloudflare Images |
| Videos | anything uploaded through the video flow | the Stream poster frame at the asset’s thumbnail timestamp | Cloudflare Stream |
| Audio | MP3 | a generated file-type icon | object storage, served from /f/… |
| Docs | every other file — PDFs, office documents, archives, plain text | a generated file-type icon | object storage, served from /f/… |
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 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 this library but cannot add to it: list_assets is the only asset tool on the server, it returns active (non-deleted) assets with an optional single-type filter, and there is no upload, edit or delete tool beside it. That is worth knowing before you write a prompt that assumes otherwise — MCP tools for forms and assets sets out exactly what the surface does and does not cover.
Adding to the library
Three 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.
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.