ewm / openai-bundle
Open Ai Bundle for Sulu
Installs: 21
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.1
- ext-fileinfo: *
README
A Symfony/Sulu bundle that generates AI-powered descriptions for media using OpenAI.
Perfect for automating metadata in Sulu CMS!
✨ Features
- Auto-generate descriptions for Sulu media uploads using OpenAI GPT.
- Customizable prompts tailored to media types (e.g., "Describe this image for accessibility").
- Admin UI integration – Generate descriptions with a click in Sulu Admin.
- Event-driven – Automatically trigger descriptions on media upload.
📦 Installation
-
Install the bundle via Composer:
composer require ewm/openai-bundle
-
Add the necessary environment variables to your
.env
file:Before using the bundle, ensure that the following environment variables are added to your
.env
file:-
HOSTNAME
: The public URL or hostname of your website. This variable defines the base URL from which the bundle can access resources, such as images.Example:
HOSTNAME=https://example.com
-
OPEN_API_KEY
: The API key required to authenticate your requests to the OpenAI service. You can generate and obtain this key directly from your OpenAI account.Example:
OPEN_API_KEY=your-api-key-here
Example
.env
file:# OpenAI API Configuration HOSTNAME=https://example.com OPEN_API_KEY=your-api-key-here
-
🛠 Usage
After installation and configuration, you can generate media descriptions using the following console command:
php bin/console media:create-description
This command will:
✅ Automatically generate AI-based image descriptions for all media items in your Sulu CMS that do not yet have a description.
🌐 Processes all supported locales defined in your Sulu webspace configuration (e.g., en, fr, de, es, it).
🖼 Targets only image media files, ensuring that only relevant media are analyzed.
📊 Displays a progress bar in the terminal to track processing in real-time.
📝 Logs all activity (including errors and processed image) in a dedicated file: /var/log/openai.log