Small Python CLI application to optimize images (including the cover) inside epub files. Perfect fit for optimizing LNs as they usually have a lot of images.
From PyPI directly:
pip install epub-image-optimizer
or
python3 -m pip install epub-image-optimizer
Usage: epub-image-optimizer [OPTIONS]
EPUB Image Optimization tool
Options:
--input-dir DIRECTORY Input folder
--output-dir DIRECTORY Output folder
--input-file FILE Path to Epub Input file
--max-image-resolution <INTEGER INTEGER>...
Fit image resolution to this values, good
for handling images with higher
resolutions than your ebook-reader
--tinify-api-key TEXT Tinify api-key
--only-cover Optimize only the cover image, ignoring all
other images
--workers INTEGER Number of threaded workers to use, default
is 'cpu count + 4'
--keep-color If this flag is present images will preserve
colors (not converted to BW)
--log-level [INFO|DEBUG|WARN|ERROR]
Set log level, default is 'INFO'
--version Show current version
--help Show this message and exit.
epub-image-optimizer --input-file <my-epub>
epub-image-optimizer --input-file <my-epub> --only-cover
epub-image-optimizer --input-file <my-epub> --keep-color
Note: At the moment this won't do anything as there is currently no optimization if not using Tinify.
epub-image-optimizer --input-file <my-epub> --keep-color --tinify-api-key <tinify-api-key>
Note: You can obtain your Tinify API Key here. Free tier is limited to 500 images/month.
epub-image-optimizer --input-dir <folder> --max-image-resolution 1680 1264 --tinify-api-key <tinify-api-key>
Note: This will optimize all epubs inside input-dir
folder, used my Kobo Libra H2O screen size as example.