Локальний інструмент оптимізації зображень у WebP/AVIF
Локальний інструмент для пакетної оптимізації зображень у WebP/AVIF, розроблений для себе як зручна, мінімалістична та ефективна заміна громіздким онлайн-сервісам.
Використовую його для підготовки ілюстрацій до публікації на розроблюваних сайтах — щоб отримувати сучасні формати з максимальним стисненням без втрати візуальної якості. В основі — бібліотека libvips (через pyvips), яка обробляє зображення потоково чанками замість завантаження в пам'ять цілком — це дає швидкість у 5–10 разів вищу ніж ImageMagick або Pillow, і дозволяє працювати навіть з дуже великими файлами.
WebP стискається з method=6 та smart_subsample, AVIF через AV1-кодек. При недоступності libvips — автоматичний fallback на Pillow з підтримкою AVIF через pillow-heif.
Усі файли обробляються паралельно через ProcessPoolExecutor. Інтерфейс підтримує drag & drop, клік, і вставку з буфера обміну (Ctrl+V). Три профілі якості, вибір розмірів з розумним урахуванням орієнтації (landscape/portrait), автоупаковка в ZIP, автоочистка через 10 хвилин. Зображення не покидають машину — повністю локальна обробка. Стек: Python, FastAPI, libvips/pyvips, Pillow, Vanilla JS
Використовую його для підготовки ілюстрацій до публікації на розроблюваних сайтах — щоб отримувати сучасні формати з максимальним стисненням без втрати візуальної якості. В основі — бібліотека libvips (через pyvips), яка обробляє зображення потоково чанками замість завантаження в пам'ять цілком — це дає швидкість у 5–10 разів вищу ніж ImageMagick або Pillow, і дозволяє працювати навіть з дуже великими файлами.
WebP стискається з method=6 та smart_subsample, AVIF через AV1-кодек. При недоступності libvips — автоматичний fallback на Pillow з підтримкою AVIF через pillow-heif.
Усі файли обробляються паралельно через ProcessPoolExecutor. Інтерфейс підтримує drag & drop, клік, і вставку з буфера обміну (Ctrl+V). Три профілі якості, вибір розмірів з розумним урахуванням орієнтації (landscape/portrait), автоупаковка в ZIP, автоочистка через 10 хвилин. Зображення не покидають машину — повністю локальна обробка. Стек: Python, FastAPI, libvips/pyvips, Pillow, Vanilla JS