A utility tool for scanning, optimizing, and managing image and video assets in your project.
assetforge.py
provides comprehensive functionality to analyze and optimize your image and video assets. The tool offers various operations such as compression, format conversion, duplicate detection, and background removal.
pip install Pillow rich ffmpeg-python rembg
-
Navigate to your backend folder:
cd backend
-
Create an assets folder for your images:
mkdir assets
-
Add your images to the assets folder
Display a summary of all assets in the directory:
python assetforge.py --dir ./assets --analyze
Compress images with quality reduction for smaller file size:
# Default compression (level 50)
python assetforge.py --dir ./assets --lossy
# Custom compression level (0-100, higher = more compression)
python assetforge.py --dir ./assets --lossy --lossy-level 70
Output: Creates a lossy_compressed_[LEVEL]
folder with compressed files.
Compress images without quality loss:
python assetforge.py --dir ./assets --lossless
Output: Creates a lossless_compressed
folder with optimized files.
Convert assets to a specified format:
# Convert images to WebP
python assetforge.py --dir ./assets --convert-to webp
# Convert videos to MP4 (if needed)
python assetforge.py --dir ./assets --convert-to mp4 --include-video
Supported Formats:
- Images: jpg, png, webp, avif
- Videos: mp4, webm, avi, mov
Find duplicate files based on content hash:
python assetforge.py --dir ./assets --dedup
Remove image backgrounds (requires rembg):
python assetforge.py --dir ./assets --remove-bg
Run multiple operations at once:
# Example: Analyze + Lossy Compress + Convert to WebP + Detect Duplicates
python assetforge.py --dir ./assets --analyze --lossy --convert-to webp --dedup
- The video processing functionality exists in the code but can be mostly ignored for image-only workflows.
- Background removal functionality may not work .