Injection zones in the media library admin UI for registering custom tools
Warden
Strapi version:
v5---
What I'm asking for
Public, stable injection zones in the media library admin interface so that developers can register their own custom tools — for example a custom image editor, a watermarking tool, a CDN purge button, or an AI background remover — without patching Strapi internals.
Current behaviour
The Upload plugin admin UI has no documented public surface for customisation. Adding a custom action button or panel to the asset detail view requires overriding internal Strapi source files. There is no equivalent of the Content Manager injection zones (
listView.actions
, editView.informations
, etc.) for the media library.Expected behaviour
The media library exposes named injection zones a developer can target from a custom plugin:
- upload.asset.detail.actions— toolbar slot next to the built-in Download/Copy URL buttons on the asset detail panel
- upload.asset.detail.sidebar— a collapsible sidebar panel below asset metadata (good for custom editors or external service panels)
- upload.asset.list.bulk-actions— additional items in the bulk-action toolbar when multiple assets are selected
- upload.header.actions— slot next to the Upload button in the library header
Each zone receives the current asset (or selected assets) as props so custom tools have full context.
Example use case
A custom plugin registers a "Compress & Replace" button in
upload.asset.detail.actions
. When clicked it opens a modal, runs the asset through a custom Sharp pipeline with tighter settings, and replaces the file — all without touching Strapi core code.Why this matters
Different projects need different image workflows. Injection zones let the Strapi team ship and maintain a clean default media library while the community builds specialised tools on top of it — the same model that makes the Content Manager extensible today.