Десктопное приложение для генерации и редактирования изображений через несколько агрегаторов-провайдеров (AITUNNEL, Polza.ai) в одном окне.
Статус: рабочая версия. Оба провайдера подключены, генерация, история, просмотр документации и темы работают. Список известных дефектов — в docs/known-issues.md.
- Два агрегатора за единым интерфейсом
Provider: AITUNNEL и Polza.ai. Подключение нового агрегатора сводится к одному модулю, ключи и каталоги хранятся раздельно. - Генерация изображений и работа по референсу (image-to-image), в том числе сразу с
несколькими референсами: добавление файлов, drag & drop,
Ctrl+V, удаление отдельного изображения. - Несколько изображений за запрос (
n). - Каталог моделей с диапазонами цен в рублях, проверка баланса, кеш каталога.
- Поиск по списку моделей (по названию, описанию и агрегатору), избранное и список недавних моделей: избранные поднимаются наверх и помечены звездой, из недавних переключение на нужный агрегатор происходит по клику.
- Параметры моделей берутся из каталога провайдера; обязательные параметры проверяются до отправки, чтобы не платить за заведомо отклонённый запрос.
- Оценка стоимости и подтверждение перед дорогим запросом, лимит расходов за сессию.
- История генераций: параметры запроса, превью результатов, поиск, фильтры, сортировка, итоги и экспорт в CSV/JSON.
- Просмотр результата с зумом и навигацией, просмотрщик вендорской документации.
- Светлая и тёмная темы.
- Python 3.11+
- PySide6 (Qt 6), requests, markdown-it-py, Pygments
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
pip install -e ".[dev]"python -m appПри первом запуске создаётся каталог data/ с файлом data/settings.json — ключи
API и настройки хранятся только на вашем компьютере и в репозиторий не попадают.
Впишите ключи в Settings → Providers, затем выберите провайдера в верхней панели.
Настройки, история, кеш каталога и лог лежат в data/, файлы результатов — в папке из
настроек (по умолчанию Pictures/ImageGenerationStudio).
| Сочетание | Действие |
|---|---|
Ctrl+Enter |
Сгенерировать (работает и на цифровой клавиатуре) |
Ctrl+V |
Если фокус не в поле ввода — добавить в референсы картинку из буфера обмена или скопированный файл-картинку. Если фокус в промпте, Seed или другом поле — вставить текст как обычно |
Кнопки Load, Paste и Clear all в панели референсов делают то же самое без клавиатуры. Кнопка Paste понимает оба вида буфера: и саму картинку (скопированную из редактора), и файл-картинку (скопированный в Проводнике).
Справочники AITUNNEL и Polza.ai не входят в репозиторий: они принадлежат владельцам сервисов и обновляются на их стороне. Скачать их можно одним скриптом:
python scripts/fetch_docs.py # оба агрегатора
python scripts/fetch_docs.py --provider polzaai # только Polza.ai
python scripts/fetch_docs.py --force # обновить уже скачанные файлыФайлы появятся в docs/aitunnel/ и docs/polzaai/. Эти папки не коммитятся — скрипт
можно запускать повторно, уже существующие файлы не перезаписываются без --force.
То же самое можно сделать из приложения: Документация → Load AITUNNEL docs (или Polza.ai) — кнопки появляются, только если папки агрегатора ещё нет.
ruff check . # линтер
pytest -q # тестыCI (GitHub Actions) выполняет обе проверки на каждый push и pull request, на Python 3.12 и Linux. Проверка типов и сборка пакета пока не выполняются — см. docs/known-issues.md.
app/
├── core/ # доменные модели, ошибки, тарифы (без Qt и сети)
├── providers/ # провайдеры агрегаторов (base, aitunnel, polza, http_utils)
├── services/ # настройки, история, каталог, генерация, документация (без Qt)
├── ui/ # окно, темы, виджеты, панели, диалоги
├── workers.py # фоновые задачи
└── logging_setup.py
resources/
├── themes/ # светлая и тёмная темы (QSS)
└── icons/
scripts/ # служебные скрипты: загрузка документации, сборка иконок
docs/ # наша документация; вендорские справочники не коммитятся
data/ # настройки, история, кеш каталога, лог (создаётся при запуске)
tests/ # pytest
См. CONTRIBUTING.md.
Не открывайте issue на уязвимость. Инструкция, что делать, если ключ попал в публичный
репозиторий, — в SECURITY.md. Обычные ошибки — в Issues.
MIT — см. LICENSE.