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.