# 🔄 Обновление Qwen-ImageForFlo-Advanced ## ✨ Что изменено ### 1. Опциональный импорт `spaces` - ✅ Модуль `spaces` теперь опциональный - ✅ Работает на RunPod, локально и в HF Spaces - ✅ Автоматически определяет окружение ### 2. Автоматическая загрузка ControlNet - ✅ **Автоматически проверяет** наличие ControlNet в кэше - ✅ **Автоматически скачивает** если модели нет - ✅ **Определяет путь** кэша (RunPod: `/workspace/.cache` или локально: `~/.cache`) - ✅ Корректная обработка ошибок ### 3. Правильные препроцессоры ControlNet - ✅ **OpenposeDetector** - для Pose detection - ✅ **AnylineDetector** - для Soft Edge detection - ✅ **DepthAnythingV2** - для Depth map extraction - ✅ **Fallback режимы** - если препроцессоры недоступны - ✅ Добавлен **"Soft Edge"** в выбор control types ### 4. Исправлены параметры API - ✅ Параметр `controlnet_scale` → `controlnet_conditioning_scale` - ✅ Соответствует стандартному API Diffusers --- ## 📝 Что делает новый код ### Проверка окружения: ```python # Используем /workspace/.cache на RunPod или ~/.cache локально if os.path.exists("/workspace"): cache_base = Path("/workspace/.cache") else: cache_base = Path.home() / ".cache" ``` ### Автоматическая загрузка: ```python if not cache_dir.exists(): logger.info(" 📥 ControlNet не найден в кэше, скачиваю...") snapshot_download( repo_id=controlnet_model_id, local_dir=cache_dir, token=hf_token ) logger.info(" ✓ ControlNet успешно загружен в кэш") ``` --- ## 🚀 Как использовать ### На RunPod: ```bash # 1. Скачать проект cd /workspace hf download Gerchegg/Qwen-ImageForFlo-Advanced --repo-type space --local-dir Qwen-ImageForFlo-Advanced # 2. Установить зависимости cd Qwen-ImageForFlo-Advanced pip install -r requirements.txt # 3. Запустить (ControlNet скачается автоматически!) python app.py ``` ### Локально: ```bash # Клонировать и запустить git clone https://huggingface.co/spaces/Gerchegg/Qwen-ImageForFlo-Advanced cd Qwen-ImageForFlo-Advanced pip install -r requirements.txt python app.py ``` --- ## ✅ Преимущества 1. **Не нужно вручную качать ControlNet** - всё автоматически 2. **Работает везде** - RunPod, локально, HF Spaces 3. **Умный кэш** - использует правильную директорию в зависимости от окружения 4. **Graceful degradation** - если ControlNet не загружается, приложение продолжит работать 5. **Правильные препроцессоры** - из референсной реализации InstantX 6. **Полная поддержка**: Canny, Soft Edge, Depth, Pose --- ## 📊 Загружаемые модели и препроцессоры ### Основные модели: 1. **Text2Image** - Qwen-Soloband-Diffusers (~40GB) 2. **Image2Image** - Создается из Text2Image 3. **ControlNet** - InstantX/Qwen-Image-ControlNet-Union (~3GB) - **АВТОМАТИЧЕСКИ!** ### Препроцессоры: 1. **OpenPose** - lllyasviel/Annotators (для Pose detection) 2. **Anyline** - TheMistoAI/MistoLine (для Soft Edge) 3. **Depth Anything V2** - depth-anything/Depth-Anything-V2-Large (для Depth maps) Все препроцессоры загружаются автоматически при первом запуске! --- ## 🎯 Итог Теперь для запуска Advanced версии достаточно: 1. Скачать проект 2. Установить зависимости 3. Запустить app.py **Всё остальное скачается автоматически!** 🚀