PHPackages                             gromatics/laravel-nova-unsplash-media-library - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. gromatics/laravel-nova-unsplash-media-library

ActiveLibrary[Image &amp; Media](/categories/media)

gromatics/laravel-nova-unsplash-media-library
=============================================

Search and add Unsplash images to media library in Laravel Nova

1.0.4(1y ago)18MITVuePHP &gt;=8.0

Since Jun 9Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Gromatics/laravel-nova-unsplash-media-library)[ Packagist](https://packagist.org/packages/gromatics/laravel-nova-unsplash-media-library)[ RSS](/packages/gromatics-laravel-nova-unsplash-media-library/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (6)Used By (0)

Laravel Nova Unsplash Media Library
===================================

[](#laravel-nova-unsplash-media-library)

Laravel Nova Unsplash Media Library is a package that integrates Unsplash with Laravel Nova, enabling you to search and select images from Unsplash directly within your Nova resource. This package builds upon Spatie's Laravel Media Library for robust media handling.

[![Draggable](example.gif)](example.gif)

Installation
------------

[](#installation)

### Step 1: Get an Unsplash API Key

[](#step-1-get-an-unsplash-api-key)

First, you need to obtain an Unsplash API key. Follow these steps:

1. Go to the Unsplash Developers page.
2. Sign up or log in to your Unsplash account.
3. Create a new application to get your API key.

### Step 2: Install Spatie Laravel Media Library

[](#step-2-install-spatie-laravel-media-library)

Follow the installation and setup guide for [Spatie's Laravel Media Library](https://spatie.be/docs/laravel-medialibrary/v11/installation-setup).

### Step 3: Install Laravel Nova Unsplash Media Library

[](#step-3-install-laravel-nova-unsplash-media-library)

Install the Laravel Nova Unsplash Media Library package via Composer:

```
composer require gromatics/laravel-nova-unsplash-media-library

```

### Step 4: Publish Configuration (optional)

[](#step-4-publish-configuration-optional)

Publish the configuration file:

```
php artisan vendor:publish --provider="Gromatics\LaravelNovaUnsplashMediaLibrary\FieldServiceProvider"

```

### Step 5: Configure Unsplash API Key

[](#step-5-configure-unsplash-api-key)

Add your Unsplash API key to the .env file:

```
UNSPLASH_CLIENT_ID=your_unsplash_client_id

```

Usage
-----

[](#usage)

### Step 1: Prepare Your Model

[](#step-1-prepare-your-model)

Ensure your model is set up to use the Spatie Media Library:

```
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Spatie\Image\Manipulations;

class YourModel extends Model implements HasMedia
{
use InteractsWithMedia;

    public function registerMediaConversions(Media $media = null): void
    {
        $this
            ->addMediaConversion('thumb')
            ->fit(Manipulations::FIT_CROP, 150, 150)
            ->nonQueued();
    }
}

```

Step 2: Add UnsplashMediaLibrary to Your Nova Resource
------------------------------------------------------

[](#step-2-add-unsplashmedialibrary-to-your-nova-resource)

Add the UnsplashMediaLibrary field to your Nova resource:

```
use YourName\LaravelNovaUnsplashMediaLibrary\UnsplashMediaLibrary;

class YourResource extends Resource
{
// Other resource methods...

    public function fields(Request $request)
    {
        return [
            ID::make()->sortable(),
            UnsplashMediaLibrary::make('Image'),
            // Other fields...
        ];
    }
}

```

### License

[](#license)

This package is open-sourced software licensed under the MIT license.

### Contributing

[](#contributing)

Contributions are welcome! Please open a new issue or submit a pull request.

### Support

[](#support)

For support or any questions, please open an issue on the GitHub repository.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

5

Last Release

703d ago

PHP version history (2 changes)1.0.0PHP ^7.3|^8.0

1.0.2PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/aa76e70c3ac9fef66272649b88babbe7ab9c02856064e9bb8b4f75f841708f82?d=identicon)[Sauruz](/maintainers/Sauruz)

---

Top Contributors

[![Sauruz](https://avatars.githubusercontent.com/u/3843532?v=4)](https://github.com/Sauruz "Sauruz (6 commits)")

---

Tags

spatielaravelmedia librarynovaUnsplash

### Embed Badge

![Health badge](/badges/gromatics-laravel-nova-unsplash-media-library/health.svg)

```
[![Health](https://phpackages.com/badges/gromatics-laravel-nova-unsplash-media-library/health.svg)](https://phpackages.com/packages/gromatics-laravel-nova-unsplash-media-library)
```

###  Alternatives

[tomatophp/filament-media-manager

Manage your media files using spatie media library with easy to use GUI for FilamentPHP

14543.9k3](/packages/tomatophp-filament-media-manager)[classic-o/nova-media-library

Tool and field that will let you managing files and add them to the posts

154172.0k](/packages/classic-o-nova-media-library)[r64/nova-image-cropper

A Laravel Nova field.

56293.4k](/packages/r64-nova-image-cropper)[mostafaznv/nova-video

Video Field for Laravel Nova

22398.0k1](/packages/mostafaznv-nova-video)[stepanenko3/nova-media-field

A Laravel Nova field for laravel-medilibrary.

1717.5k](/packages/stepanenko3-nova-media-field)[okipa/laravel-medialibrary-ext

Extra features for spatie/laravel-medialibrary package.

1011.2k](/packages/okipa-laravel-medialibrary-ext)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
