Инструменты6 августа 2026 г., 15:45 МСК🤖 Auto

Imagemagick-webui: AI-удаление фона и пакетная обработка в одном интерфейсе

Разработчик PrzemekSkw представил современный веб-интерфейс для ImageMagick с интеграцией AI, поддержкой Next.js 15 и Docker-деплоем.

Баннер новости 5216

Синтез мощи ImageMagick и удобства веб-интерфейса

Популярная библиотека для обработки изображений ImageMagick, известная своей мощностью и поддержкой сотен форматов, долгое время требовала знания командной строки. Проект Imagemagick-webui от разработчика PrzemekSkw решает эту проблему, предоставляя элегантный веб-интерфейс на базе Next.js 15 и FastAPI. Решение позволяет не только выполнять стандартные операции, но и использовать современные AI-модели для улучшения качества снимков.

Ключевые возможности: от базового редактирования до AI

Интерфейс предлагает широкий спектр инструментов, разделенных на классические фильтры и AI-функции. Особое внимание уделено пакетной обработке и безопасности: все операции запускаются через Redis-очередь, а ввод пользователя строго валидируется через Pydantic-модели для предотвращения инъекций команд.

Основные функции включают:

  • AI-удаление фона: интеграция с библиотекой rembg для удаления фона в один клик.
  • Умное увеличение: апскейл изображений в 2x и 4x с использованием алгоритма LANCZOS.
  • Авто-улучшение: автоматическая нормализация, повышение насыщенности и резкости.
  • Конвертация форматов: поддержка WebP, AVIF, JPEG, PNG, GIF, TIFF и PDF.

Технический стек и архитектура

Проект построен на современных технологиях, обеспечивающих типобезопасность и высокую производительность. Архитектура разделена на фронтенд (Next.js) и бэкенд (FastAPI), с использованием PostgreSQL для хранения истории операций и Redis для управления очередями задач. Приложение полностью готово к деплою через Docker Compose.

Компонент Технология/Порт Назначение
Frontend Next.js 15 (Port 3000) Веб-интерфейс с PWA-поддержкой и темной/светлой темой
Backend FastAPI (Port 8000) REST API для обработки запросов
База данных PostgreSQL (Port 5432) Хранение метаданных и истории обработки
Очередь задач Redis (Port 6379) Асинхронная обработка тяжелых операций (RQ Worker)

Безопасность и настройка

Разработчик уделил особое внимание безопасности при работе с ImageMagick. В системе реализован белый список команд (Command Whitelist), что исключает возможность выполнения произвольных системных команд. Также установлены лимиты на использование памяти (2GB), время выполнения (300s) и размер дискового пространства. Для продакшена рекомендуется изменять ключи SECRET_KEY и JWT_SECRET в файле docker-compose.yml.

Как запустить проект

Для быстрого старта достаточно клонировать репозиторий и запустить Docker-контейнеры. После инициализации интерфейс будет доступен по адресу http://localhost:3000, а документация API — по адресу http://localhost:8000/docs.

mkdir imagemagick-webgui && cd imagemagick-webgui
curl -O https://raw.githubusercontent.com/PrzemekSkw/imagemagick-webui/main/docker-compose.example.yml
mv docker-compose.example.yml docker-compose.yml
docker compose up -d

Источник: Github ↗