Skip to content

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Image Generation Studio

CI Python License

Десктопное приложение для генерации и редактирования изображений через несколько агрегаторов-провайдеров (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.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages