--- title: Defining conversions weight: 2 --- A media conversion can be added to your model in the `registerMediaConversions`-function. It should start with a call to `addMediaConversion`. From there on you can use any of the methods available in the API. They are all chainable. Take a look in the [Defining conversions section](/laravel-medialibrary/v8/converting-images/defining-conversions/) for more details. ## General methods ### addMediaConversion ```php /* * Add a conversion. */ public function addMediaConversion(string $name): \Spatie\MediaLibrary\Conversions\Conversion ``` ### performOnCollections ```php /* * Set the collection names on which this conversion must be performed. * * @param string $collectionNames,... */ public function performOnCollections($collectionNames): self ``` ### queued ```php /* * Mark this conversion as one that should be queued. */ public function queued(): self ``` ### nonQueued ```php /* * Mark this conversion as one that should not be queued. */ public function nonQueued(): self ``` ### useLoadingAttributeValue This is the value that, when this conversation is converted to html, will be used in the `loading` attribute. The loading attribute is a standardised attribute that controls lazy loading behaviour of the browser. Possible values are `lazy`, `eager`, `auto` or null if you don't want to set any loading instruction. You can learn more on native lazy loading [in this post on css-tricks](https://css-tricks.com/native-lazy-loading/). ## Image manipulations You may add any call to one of [the manipulation functions](https://docs.spatie.be/image) available on [the spatie/image package](https://github.com/spatie/image).