😫 The Pain Point
You have 100 event photos and want to create a video slideshow with music for sharing. Video editors are complex for just a simple slideshow.
🚀 Agentic Solution
An Automatic Slideshow Creator with transitions and audio.
Key Features:
- Transitions: Fade, slide, zoom effects.
- Timing Control: Seconds per photo.
- Audio Track: Background music with auto-loop.
⚔️ Phase 1: Commander (Quick Fix)
For a quick slideshow.
Prompt:
“I have a folder
photoswith images and an audio filemusic.mp3. Write a Python script using moviepy to:
- Slideshow: Each photo displayed for 3 seconds.
- Resize: Fit all to 1920x1080 (black bars if needed).
- Transitions: 0.5s fade between photos.
- Audio: Add music, loop if needed, fade out at end.
- Output: Save as
slideshow.mp4.Print progress.”
Result: Professional slideshow video.
🏗️ Phase 2: Architect (Permanent Tool)
For Social Media Managers.
Engineering Prompt:
**Role:** Python GUI Developer (PyQt6 Specialist)
**Task:** Create "Photo Slideshow Studio" Desktop App
**Objective:** A creative tool to assemble photos into video slideshows with transitions and music.
**Tech Stack:**
* Language: Python 3.10+
* GUI Library: PyQt6 (Cross-platform)
* Video Engine: moviepy
* Packaging: PyInstaller
**Functional Requirements:**
1. **UI Layout (PyQt6):**
* **Timeline:** Reorderable list of images (Drag & Drop).
* **Audio:** Music file selector.
* **Settings:** Slide Duration (sec), Transition Effect (Fade, Crossfade), Output Resolution (1080p/720p).
* **Preview:** Window to preview the video before rendering.
2. **Core Logic:**
* Assemble `ImageClip` sequence with transitions.
* Mix `AudioFileClip` and handle looping/fading.
* **Threading:** Rendering is heavy; MUST use `QThread` and pipe FFmpeg output to progress bar.
3. **Deliverables:**
* `main.py`: Complete source code.
* `requirements.txt`: Dependencies.
* **Build Instructions:**
* Windows: `pyinstaller --onefile --noconsole main.py`
* macOS: `pyinstaller --windowed --noconsole main.py`
🧠 Prompt Decoding
- Ken Burns Effect: Slow zoom/pan that adds life to static images.
🛠️ Instructions
- Install:
pip install moviepy - Copy Prompt → Run.