laravel-mediaman maintained by emaia
Description
MediaMan - Elegant & powerful media management package for Laravel!
Author
Last update
2026/08/19 23:01
(dev-main)
License
Downloads
82
Tags
Last update
2026/08/19 23:01
License
Require
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- php ^8.3
- intervention/image ^4.0
- ext-fileinfo *
- symfony/uid ^7.2|^8.0
Last update
2026/08/19 23:01
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- symfony/uid ^7.2|^8.0
- ext-fileinfo *
Last update
2026/08/19 20:56
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- symfony/uid ^7.2|^8.0
- ext-fileinfo *
Last update
2026/07/30 18:42
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-fileinfo *
Last update
2026/06/26 20:59
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-fileinfo *
Last update
2026/06/26 01:01
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
- ext-fileinfo *
Last update
2026/06/25 22:35
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
- ext-fileinfo *
Last update
2026/06/20 21:10
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/20 21:10
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/20 20:17
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/20 18:58
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/19 19:48
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/19 04:09
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/18 22:57
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/18 22:27
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/18 22:10
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/18 03:23
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/17 22:19
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/17 21:02
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/17 19:50
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/17 16:29
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/17 02:39
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/17 00:09
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/16 19:04
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
- ext-curl *
Last update
2026/06/16 16:48
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
Last update
2026/06/16 15:40
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
Last update
2026/06/16 15:07
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
Last update
2026/05/21 16:56
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
Last update
2026/05/17 06:17
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^4.0
Last update
2026/05/17 06:09
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/05/17 06:09
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/05/17 03:06
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/05/17 02:18
License
Require
- php ^8.3
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/05/17 01:41
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/05/17 01:36
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/05/17 01:05
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/05/16 20:46
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/04/06 15:31
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/04/06 15:16
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/04/06 02:09
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/04/06 02:01
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/04/06 01:35
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/04/05 01:17
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/04/05 01:17
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/03/18 00:32
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Last update
2026/03/18 00:06
License
Require
- php ^8.2
- illuminate/support ^12.0|^13.0
- illuminate/database ^12.0|^13.0
- illuminate/validation ^12.0|^13.0
- intervention/image ^3.0
Laravel MediaMan
MediaMan is an elegant and powerful media management package for Laravel apps with a painless uploader, virtual collections, automatic conversions and responsive images, and per-model channel associations.
The API is fluent and UI-agnostic — you stay in control of how things look and behave. Equally, at home in a web app or an API server.
Quick example
$media = MediaUploader::fromRequest('featured_image')
->useCollection('Posts')
->upload();
$post = Post::find(1);
$post->attachMedia($media, 'featured-image-channel');
Core concepts
- Uploader — fluent entry point. Uploads exist independently of any model.
- Media — any uploaded file, persisted as its own record. Validate types/sizes in your form requests.
- Collections — a virtual group of media; many-to-many with Media. Great for asset libraries.
- Channels — per-model tags (
avatar,gallery, …) stored in the polymorphicmediaman_mediablespivot. They also drive conversions. - Conversions — transformations registered globally (resize, watermark, format change) and run when media is attached to a channel.
- Responsive Images — multi-size, multi-format variants (AVIF/HEIC/WebP/JPG/PNG) with ready-made
<picture>/srcsetHTML.
Documentation
| Installation | Requirements, composer, publishing assets, upgrade paths |
| Configuration | Disk, queue, image driver, validation, security, MediaResolver, per-variant disk, responsive images, placeholder |
| Media | The Media entity: retrieve, update, delete, HTTP responses, mail, copy/attachTo |
| Collections | MediaCollection: CRUD, validation, auto-prune |
| Models & Channels | HasMedia trait: attach, sync, retrieve, order; channel fallbacks, conversions, validation rules |
| Conversions | Global registration, per-channel execution, per-conversion disk, format detection, failure isolation |
| Responsive images | Generation, per-format quality, HEIC/AVIF/WebP support, <picture> / srcset, width calculators |
| Uploads | MediaUploader: source, fromRequest, fromDisk, fromBase64, fromUrl, fromStream, fromString |
| Security | SVG sanitizer, disallowed extensions, file-size bounds, SSRF guard, orphan cleanup |
| Events | The six package events |
| Artisan commands | Doctor health check, publish assets, orphan cleanup, conversion/responsive generation and stats |
| Recipes | PDF/video thumbnails, image optimization, ZIP downloads, multi-file uploads, partial attach |
| API reference | Public surface by class/trait |
Release history: CHANGELOG.md. Upgrade notes: UPGRADING.md.
Requirements
| Laravel | Package | PHP |
|---|---|---|
| v12–v13 | 2.x–3.x | 8.3+ |
Quick install
composer require emaia/laravel-mediaman
php artisan mediaman:publish
php artisan storage:link
php artisan migrate
php artisan mediaman:doctor
See Installation for the full setup, including the upgrade path for existing installations.
Contribution and license
Found a bug? Open an issue. Feature requests & PRs are welcome.
The MIT License (MIT). Please read the License File for more information.