muhammadkazimsadiq/filament-video-importer

This is my package filament-video-importer

Maintainers

Package info

github.com/MuhammadKazimSadiq/filament-video-importer

Homepage

Issues

pkg:composer/muhammadkazimsadiq/filament-video-importer

Fund package maintenance!

MuhammadKazimSadiq

Statistics

Installs: 9

Dependents: 0

Suggesters: 0

Stars: 1

1.0.0 2026-03-01 18:44 UTC

This package is auto-updated.

Last update: 2026-04-29 20:00:16 UTC


README

Latest Version on Packagist Total Downloads License

The Filament Video Importer is a filament plugin that allows you to seamlessly import videos from YouTube, Vimeo, and Bunny.net directly into your Laravel database.

It features a modern, user-friendly 4-step wizard with field mapping intelligence and field discovery.

🚀 Key Features

  • Multi-Platform: Full support for YouTube, Vimeo, and Bunny.net (Stream).
  • Flexible Fetching: Import entire playlists, folders, or specific video IDs.
  • Custom Mapping: Customize mapping of API fields (Title, Duration, URL, etc.) to your custom database columns.
  • Background Imports: Native support for Laravel Queues via a simple ->queue() method.

📦 Installation

Install the package via composer:

composer require muhammadkazimsadiq/filament-video-importer

1. Configuration

Publish the configuration file:

php artisan vendor:publish --tag="filament-video-importer-config"

⚙️ Configuration

API Keys

Add your credentials to your .env file:

YOUTUBE_API_KEY=your_youtube_key
VIMEO_ACCESS_TOKEN=your_vimeo_token
BUNNY_API_KEY=your_bunny_key
BUNNY_LIBRARY_ID=your_bunny_library_id

Map Your Model

In config/video-importer.php, set the model where videos should be imported:

'model' => \App\Models\Video::class,

🛠️ Usage

Register the ImportVideosAction in your Filament Resource's headerActions() or inside any Table/Page action list.

use MuhammadKazimSadiq\FilamentVideoImporter\Actions\ImportVideosAction;

public static function table(Table $table): Table
{
    return $table
        ->headerActions([
            ImportVideosAction::make()
                ->label('Import Videos')
                ->queue(), // Enable background processing (Recommended for large playlists)
        ]);
}

🌍 Translations

The plugin supports multi-language setups. You can publish translations to customize them:

php artisan vendor:publish --tag="filament-video-importer-translations"

🤝 Credits

📄 License

The MIT License (MIT). Please see License File for more information.