Storing media specific manipulations | laravel-medialibrary | Spatie

 SPATIE

  Laravel Media Library
========================

spatie.be/open-source

  [Docs](https://spatie.be/docs)  [Laravel-medialibrary](https://spatie.be/docs/laravel-medialibrary/v3)  Advanced-usage  Storing media specific manipulations

 Version   v11   v10   v9   v8   v7   v6   v5   v4   v3

 Other versions for crawler [v11](https://spatie.be/docs/laravel-medialibrary/v11) [v10](https://spatie.be/docs/laravel-medialibrary/v10) [v9](https://spatie.be/docs/laravel-medialibrary/v9) [v8](https://spatie.be/docs/laravel-medialibrary/v8) [v7](https://spatie.be/docs/laravel-medialibrary/v7) [v6](https://spatie.be/docs/laravel-medialibrary/v6) [v5](https://spatie.be/docs/laravel-medialibrary/v5) [v4](https://spatie.be/docs/laravel-medialibrary/v4) [v3](https://spatie.be/docs/laravel-medialibrary/v3)

- [ Introduction ](https://spatie.be/docs/laravel-medialibrary/v3/introduction)
- [ Postcardware ](https://spatie.be/docs/laravel-medialibrary/v3/postcardware)
- [ Requirements ](https://spatie.be/docs/laravel-medialibrary/v3/requirements)
- [ Installation &amp; setup ](https://spatie.be/docs/laravel-medialibrary/v3/installation-setup)
- [ Questions and issues ](https://spatie.be/docs/laravel-medialibrary/v3/questions-issues)
- [ Changelog ](https://spatie.be/docs/laravel-medialibrary/v3/changelog)

Basic usage
-----------

- [ Preparing your model ](https://spatie.be/docs/laravel-medialibrary/v3/basic-usage/preparing-your-model)
- [ Associating files ](https://spatie.be/docs/laravel-medialibrary/v3/basic-usage/associating-files)
- [ Retrieving media ](https://spatie.be/docs/laravel-medialibrary/v3/basic-usage/retrieving-media)
- [ Working with collections ](https://spatie.be/docs/laravel-medialibrary/v3/basic-usage/working-with-collections)

Converting images
-----------------

- [ Defining conversions ](https://spatie.be/docs/laravel-medialibrary/v3/converting-images/defining-conversions)
- [ Retrieving converted images ](https://spatie.be/docs/laravel-medialibrary/v3/converting-images/retrieving-converted-images)
- [ Regenerating images ](https://spatie.be/docs/laravel-medialibrary/v3/converting-images/regenerating-images)

Advanced usage
--------------

- [ Working with multiple filesystems ](https://spatie.be/docs/laravel-medialibrary/v3/advanced-usage/working-with-multiple-filesystems)
- [ Storing media specific manipulations ](https://spatie.be/docs/laravel-medialibrary/v3/advanced-usage/storing-media-specific-manipulations)
- [ Using your own model ](https://spatie.be/docs/laravel-medialibrary/v3/advanced-usage/using-your-own-model)
- [ Using a custom directory structure ](https://spatie.be/docs/laravel-medialibrary/v3/advanced-usage/using-a-custom-directory-structure)
- [ Consuming events ](https://spatie.be/docs/laravel-medialibrary/v3/advanced-usage/consuming-events)
- [ Generating custom urls ](https://spatie.be/docs/laravel-medialibrary/v3/advanced-usage/generating-custom-urls)
- [ Adding custom properties ](https://spatie.be/docs/laravel-medialibrary/v3/advanced-usage/adding-custom-properties)

API
---

- [ Adding files ](https://spatie.be/docs/laravel-medialibrary/v3/api/adding-files)
- [ Defining conversions ](https://spatie.be/docs/laravel-medialibrary/v3/api/defining-conversions)

      You are viewing the documentation for **an older version** of this package. You can check the version you are using with the following command:

 `                                    composer show spatie/laravel-medialibrary                                                                                                                                                                                                                                    `

Storing media specific manipulations
====================================

A media object has a property `manipulations`, which can be set to an array of manipulation values, with their conversion name as key.

When saving the media object, the package will regenerate all files and use the saved manipulation as the first manipulation when creating a derived image.

```
// Add a greyscale filter to the 'thumb' manipulations
$mediaItems = $newsItem->getMedia('images');
$mediaItems[0]->manipulations = ['thumb' => ['filt' => 'greyscale']];

// This will cause the thumb conversion to be regenerated
$mediaItems[0]->save();
```

Calling `save` in this example will regenerate the thumb-image. The output will be a greyscale image.
