Create stunning Ken Burns style videos from product photos - perfect for eBay, social media, and galleries.
Turn static product images into professional videos:
- Loads your product crops (main image + detail shots)
- Applies Ken Burns effect - smooth pan and zoom
- Adds elegant transitions between shots
- Overlays text - quotes, authenticity badges
- Exports HD video ready for upload
Input: 8 product photos Output: 45-second professional video
# Clone the repo
git clone https://github.com/jjshay/product-video-creator.git
cd product-video-creator
# Install dependencies
pip install -r requirements.txt
# Run the interactive demo
python demo.py
# Or run the visual showcase
python showcase.py
# Create video from sample artwork crops
python create_product_videos.py examples/ --output output/examples/artwork_full.jpg- Full artwork imageexamples/artwork_top_left.jpg- Detail crop (top left corner)examples/artwork_signature.jpg- Signature detail cropexamples/video_config.json- Video configurationsample_output/video_spec.json- Example video specification
flowchart TB
subgraph Input
A[Product Images] --> B[Image Loader]
C[Video Config] --> D[Settings Parser]
end
subgraph Timeline["Timeline Builder"]
B --> E[Segment Planner]
D --> E
E --> F[Opening Segment]
E --> G[Detail Segments]
E --> H[Quote Overlay]
E --> I[Closing Segment]
end
subgraph Effects["Ken Burns Engine"]
F & G & H & I --> J[Pan Calculator]
J --> K[Zoom Calculator]
K --> L[Easing Functions]
L --> M[Frame Generator]
end
subgraph Composition["Video Composition"]
M --> N[Text Overlay Engine]
N --> O[Transition Mixer]
O --> P[FFmpeg Encoder]
end
subgraph Output
P --> Q[HD Video 1920x1080]
P --> R[Google Drive Upload]
end
style A fill:#e1f5fe
style Q fill:#c8e6c9
style R fill:#c8e6c9
The Ken Burns effect creates motion from still images:
Frame 1: Zoom into artwork (3 seconds)
↓ crossfade
Frame 2: Pan across detail (3 seconds)
↓ crossfade
Frame 3: Zoom out from signature (3 seconds)
↓ crossfade
Frame 4: Full artwork reveal (4 seconds)
This creates engaging videos that hold viewer attention much better than static images.
| Segment | Duration | Content |
|---|---|---|
| Opening | 5s | Full artwork with zoom in |
| Detail 1 | 4s | Top left corner pan |
| Detail 2 | 4s | Top right corner pan |
| Detail 3 | 4s | Center texture zoom |
| Detail 4 | 4s | Signature closeup |
| Quote | 3s | Inspirational art quote |
| Detail 5 | 4s | Bottom detail pan |
| Full Art | 5s | Complete artwork zoom out |
| Authenticity | 4s | COA badge overlay |
| Closing | 8s | Logo + call to action |
- HD Output: 1920x1080 at 30fps
- Smooth Motion: Natural pan/zoom with easing
- Text Overlays: Art quotes, authenticity badges
- Color Matching: Background matches artwork palette
- Batch Processing: Generate videos for entire inventory
- Google Drive Upload: Automatic upload to specified folder
The system includes inspiring quotes:
- "Own a piece of history"
- "Invest in timeless art"
- "Museum-quality artwork"
- "Certified authentic"
- And 15+ more...
pip install -r requirements.txt
python demo.py# Configure .env
cp .env.example .env
nano .env
# Add Google Drive folder ID
GOOGLE_DRIVE_FOLDER_ID=your_folder_id| File | Purpose |
|---|---|
create_product_videos.py |
Main video generator |
video_generator.py |
Core video creation functions |
batch_video_generator.py |
Process multiple products |
demo.py |
Demo without dependencies |
- Python 3.8+
- FFmpeg (for video encoding)
- OpenCV (image processing)
MIT - Create amazing product videos!