vedanshi-shethia/gemini-banner
Composer 安装命令:
composer require vedanshi-shethia/gemini-banner
包简介
Laravel package to generate website banners using Gemini AI
README 文档
README
Gemini Banner Generator for Laravel
A Laravel package to generate high-quality website advertisement banners using Google Gemini Image API, designed specifically for book stores and publishers.
This package strictly preserves original book cover text, typography, and layout by enforcing copy-paste image usage instead of AI text recreation.
✨ Features
- 🎨 AI-generated website banners using Google Gemini
- 🔒 Private input images, 🌍 public generated banners
- ❌ Zero text distortion or hallucination
- 📐 Aspect-ratio locking via reference image
- ⚡ Sync & Async (Queue) support
- 🧱 Clean service-based architecture
- 🪄 Facade for simple usage
- 🧪 Queue-safe & retry-safe
- ⚙️ Fully configurable storage paths & disks
- 📦 Laravel auto-discovery support
📦 Installation
Via Composer
composer require vedanshi-shethia/gemini-banner
⚙️ Configuration
Publish the config file:
php artisan vendor:publish --tag=gemini-banner
This creates:
config/gemini-banner.php
🔗 Storage Symlink (Required)
This package stores generated banners on the public disk. Make sure the public storage symlink exists:
php php artisan storage:link
This creates:
public/storage → storage/app/public
🔑 Environment variables
GEMINI_API_KEY=your_google_gemini_api_key # Storage GEMINI_INPUT_DISK=local GEMINI_OUTPUT_DISK=public
🧠 Storage Design (Important)
This package follows industry best practices:
| Type | Disk | Visibility |
|---|---|---|
| Input images | local |
🔒 Private |
| Generated banners | public |
🌍 Public |
storage/
├── app/
│ ├── private/
│ │ └── gemini/input/
│ └── public/
│ └── gemini/output/
⚙️ Config Reference
return [ 'api_key' => env('GEMINI_API_KEY'), 'endpoint' => 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent', 'disks' => [ 'input' => env('GEMINI_INPUT_DISK', 'local'), 'output' => env('GEMINI_OUTPUT_DISK', 'public'), ], 'paths' => [ 'front' => 'gemini/input/front', 'back' => 'gemini/input/back', 'reference' => 'gemini/input/reference', 'output' => 'gemini/output', ], 'cleanup' => [ 'enabled' => true, ], ];
🚀 Usage
1️⃣ Sync Generation (Facade)
use Vedanshi\GeminiBanner\Facades\GeminiBanner; use Vedanshi\GeminiBanner\Http\Requests\GenerateBannerRequest; function (GenerateBannerRequest $request) { $result = GeminiBanner::generate($request->payload()); }
Returns a public URL of the generated banner.
2️⃣ Async Generation (Queue)
use Vedanshi\GeminiBanner\Jobs\GenerateGeminiBannerJob; use Vedanshi\GeminiBanner\Http\Requests\GenerateBannerRequest; function (GenerateBannerRequest $request) { GenerateGeminiBannerJob::dispatch($request->payload()); }
✅ Ideal for:
- Heavy image processing
- High-traffic systems
- Background workflows
🧾 Expected Payload Structure
[
'front_image' => string, // path on input disk
'back_image' => string, // path on input disk
'transparent_image' => string, // path on input disk
'product_name' => string,
]
⚠️ Do NOT pass temp paths (
php/tmp). Files must be stored first using Laravel storage.
🧹 Automatic Cleanup
- Input images are deleted immediately after successful generation
- Cleanup is retry-safe
- Cleanup can be disabled via config
'cleanup' => [ 'enabled' => false, ],
🧱 Architecture Overview
Request / Job
↓
GenerateBannerRequest
↓
GeminiBannerService
↓
Gemini API
↓
Public Storage (output)
- No controllers are published
- No routes are forced
- You stay in control of your application flow
📄 Requirements
- PHP 8.1+
- Laravel 9.x / 10.x / 11.x / 12.x
- Google Gemini API access
📜 License
MIT License
🙌 Credits
Developed by Vedanshi Shethia Powered by Google Gemini AI
🤝 Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss improvements.
vedanshi-shethia/gemini-banner 适用场景与选型建议
vedanshi-shethia/gemini-banner 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 12 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 vedanshi-shethia/gemini-banner 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 vedanshi-shethia/gemini-banner 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-23