Техническое задание: Приложение для пакетной обработки фотографий с AI
Цель проекта
Разработать десктопное приложение с графическим интерфейсом (GUI) на Python, которое позволяет автоматически обрабатывать фотографии с использованием AI-сервиса для генерации изображений.
Основные функции
1. Управление файлами
- Приложение должно искать фотографии в папке, из которой оно запущено.
- Реализовать два режима поиска:
- Только в корневой папке.
- Рекурсивно, включая все вложенные подпапки.
2. Система промптов (текстовых запросов для AI)
- Режим 1: Выбор из заготовленных тем
- Создать выпадающий список с 5-10 предустановленными промптами.
- Промпты должны загружаться из текстовых файлов, хранящихся в определенной папке на компьютере пользователя.
- Реализовать возможность включать/выключать отдельные промпты с помощью чекбоксов для выборочной генерации.
- Режим 2: Собственный промпт
- Добавить поле или отдельное окно для ввода пользовательского текстового запроса.
3. Обработка и сохранение
- Каждая найденная фотография должна быть отправлена на обработку в AI-сервис согласно выбранным или введенным промптам.
- Обработанные изображения необходимо сохранять в той же папке, что и оригинал.
- К имени файла добавлять суффикс (например, _01, _02) для избежания перезаписи.
4. Интерфейс и логирование
- Разработать интуитивно понятный графический интерфейс, схожий с предоставленным в примере макетом.
- Интегрировать в интерфейс терминал или текстовое поле для вывода логов, чтобы пользователь мог в реальном времени отслеживать статус обработки файлов, ошибки и прогресс.
Технические требования
- Язык программирования: Python.
- Необходимо использовать библиотеки для создания GUI (например, Tkinter, PyQt, Kivy).
- Интеграция с внешним AI-сервисом для обработки изображений.
- Исполнитель должен предложить оптимальный и рабочий способ получения API-ключа для выбранного сервиса.
Ожидаемый результат
Готовое кроссплатформенное приложение с исходным кодом, инструкцией по установке зависимостей и настройке API. Приложение должно стабильно работать, обрабатывать фотографии в пакетном режиме и предоставлять понятный интерфейс для управления процессом.