openbackend / laravel-ai-image-generator
Advanced Laravel package for AI-powered image generation supporting multiple providers (OpenAI DALL-E, Stability AI, Midjourney) with comprehensive features
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/openbackend/laravel-ai-image-generator
Requires
- php: ^8.1|^8.2|^8.3|^8.4
- guzzlehttp/guzzle: ^7.5
- intervention/image: ^2.7|^3.0
- laravel/framework: ^9.0 || ^10.0 || ^11.0 || ^12.0
- league/flysystem: ^3.0
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: ^7.0 || ^8.0 || ^9.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^9.5 || ^10.0
README
An advanced Laravel package for AI-powered image generation supporting multiple providers including OpenAI DALL-E, Stability AI, and Midjourney. Generate stunning images from text prompts with comprehensive features like automatic storage, thumbnails, rate limiting, and detailed analytics.
Features
- ๐จ Multiple AI Providers: OpenAI DALL-E, Stability AI, Midjourney support
- ๐ Async Generation: Support for background image generation
- ๐พ Automatic Storage: Auto-download and store generated images
- ๐ผ๏ธ Thumbnail Generation: Automatic thumbnail creation in multiple sizes
- ๐ Analytics & Tracking: Comprehensive usage statistics and generation history
- ๐ก๏ธ Rate Limiting: Built-in rate limiting to prevent API abuse
- ๐ Content Filtering: Safety checks for inappropriate content
- โก Caching: Intelligent caching for improved performance
- ๐๏ธ Artisan Commands: CLI tools for easy management
- ๐งช Comprehensive Testing: Full test suite included
- ๐ Detailed Logging: Complete request/response logging
- ๐ฏ Facade Support: Easy-to-use Laravel facades
Requirements
- PHP 8.1 or higher
- Laravel 9.0, 10.0, or 11.0
- GuzzleHttp 7.5+
- Intervention Image 2.7+ or 3.0+ (optional, for thumbnails)
Installation
- Install the package via Composer:
composer require openbackend/laravel-ai-image-generator
- Publish the configuration file:
php artisan vendor:publish --provider="OpenBackend\AiImageGenerator\AiImageGeneratorServiceProvider" --tag="ai-image-generator-config"
- Publish and run the migrations:
php artisan vendor:publish --provider="OpenBackend\AiImageGenerator\AiImageGeneratorServiceProvider" --tag="ai-image-generator-migrations" php artisan migrate
- Add your API keys to your
.envfile:
# OpenAI Configuration OPENAI_API_KEY=your_openai_api_key_here OPENAI_IMAGE_MODEL=dall-e-3 # Stability AI Configuration STABILITY_API_KEY=your_stability_api_key_here # Midjourney Configuration MIDJOURNEY_API_KEY=your_midjourney_api_key_here MIDJOURNEY_API_URL=your_midjourney_api_url_here
Quick Start
use OpenBackend\AiImageGenerator\Facades\AIImageGenerator; // Generate an image with default settings $generation = AIImageGenerator::generate('A beautiful sunset over mountains'); echo $generation->url; // URL to the generated image echo $generation->file_path; // Local file path (if auto-download enabled)
Advanced Usage
// Generate with custom options $generation = AIImageGenerator::generate('A futuristic city', [ 'size' => '1792x1024', 'quality' => 'hd', 'style' => 'natural', 'model' => 'dall-e-3' ]); // Use a specific provider $generation = AIImageGenerator::provider('stability') ->generate('A magical forest', [ 'width' => 1024, 'height' => 1024, 'steps' => 50, 'cfg_scale' => 7 ]); // Async generation (queued) $generation = AIImageGenerator::generateAsync('A space station');
Artisan Commands
# Generate an image from command line php artisan ai-image:generate "A beautiful landscape" --provider=openai --size=1024x1024 # List available providers php artisan ai-image:providers
Configuration
The package provides extensive configuration options in config/aiimagegenerator.php:
- Multiple AI provider support
- Storage and file management
- Rate limiting and security
- Logging and monitoring
- Image processing options
- Caching configuration
Testing
composer test
composer test-coverage
composer analyse
Credits
- OpenBackend Organization
- Rudra Ramesh - Lead Developer
- All Contributors
About OpenBackend
OpenBackend is an open-source organization focused on creating high-quality backend solutions and packages for modern web development. We specialize in Laravel packages, API development tools, and backend infrastructure solutions.
Visit us at openbackend.dev to explore more of our projects.
License
The MIT License (MIT). Please see License File for more information.
Support
- ๐ง Email: contact@openbackend.dev
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ Website: openbackend.dev