| | ---
|
| | title: Qwen Soloband Advanced - Image2Image + LoRA
|
| | emoji: 🎨
|
| | colorFrom: blue
|
| | colorTo: purple
|
| | sdk: gradio
|
| | sdk_version: "5.9.1"
|
| | app_file: app.py
|
| | pinned: true
|
| | license: apache-2.0
|
| | suggested_hardware: a10g-large
|
| | suggested_storage: medium
|
| | models:
|
| | - Gerchegg/Qwen-Soloband-Diffusers
|
| | tags:
|
| | - image-generation
|
| | - image-to-image
|
| | - lora
|
| | - qwen
|
| | - diffusers
|
| | short_description: Text2Image and Image2Image with LoRA support
|
| | preload_from_hub:
|
| | - Gerchegg/Qwen-Soloband-Diffusers
|
| | ---
|
| |
|
| | # 🎨 Qwen Soloband Advanced
|
| |
|
| | **Комплексная система генерации изображений** на базе Qwen-Image DiT с полным набором инструментов для профессиональной работы.
|
| |
|
| | ## 🚀 Основные возможности
|
| |
|
| | ### 📝 Text-to-Image
|
| | Генерация изображений из текстовых описаний:
|
| | - 🎨 Кастомная fine-tuned модель Qwen-Soloband
|
| | - 📐 Разрешения от 512×512 до 2048×2048
|
| | - ⚙️ Полный контроль параметров (steps, CFG, seed)
|
| | - 🎯 Оптимизированные настройки для лучшего качества
|
| |
|
| | ### 🔄 Image-to-Image
|
| | Модификация и трансформация существующих изображений:
|
| | - 🖼️ Загрузка любых изображений (PNG, JPG, WebP)
|
| | - 🎚️ **Denoising Strength** (0.0-1.0) - точный контроль степени изменения
|
| | - 🎨 Сохранение структуры при изменении стиля
|
| | - ✨ Улучшение качества, стилизация, художественная трансформация
|
| |
|
| | ### 🎭 LoRA Styles
|
| | Динамическая загрузка стилей для разнообразия:
|
| | - 📸 **Realism** - фотореалистичные изображения
|
| | - 🎌 **Anime** - современный японский стиль аниме
|
| | - 📽️ **Analog Film** - эффект винтажной пленочной фотографии
|
| | - 🎚️ **LoRA Scale** (0.0-2.0) - интенсивность стиля
|
| | - 🔗 Работает во всех режимах (Text2Img, Img2Img, ControlNet)
|
| |
|
| | ## 🔌 API Usage
|
| |
|
| | ### Text-to-Image API
|
| |
|
| | ```python
|
| | from gradio_client import Client
|
| |
|
| | client = Client("Gerchegg/Qwen-ImageForFlo-Advanced")
|
| |
|
| | result = client.predict(
|
| | prompt="SB_AI, a beautiful landscape",
|
| | negative_prompt="blurry, low quality",
|
| | width=1664,
|
| | height=928,
|
| | seed=42,
|
| | randomize_seed=False,
|
| | guidance_scale=2.5,
|
| | num_inference_steps=40,
|
| | lora_name="None", # или "Realism", "Anime", "Analog Film"
|
| | lora_scale=1.0,
|
| | api_name="/text2img"
|
| | )
|
| |
|
| | image, seed = result
|
| | ```
|
| |
|
| | ### Image-to-Image API
|
| |
|
| | ```python
|
| | result = client.predict(
|
| | input_image="path/to/image.png", # PIL Image или path
|
| | prompt="Transform this into a painting",
|
| | negative_prompt="blurry, low quality",
|
| | strength=0.75, # 0.0-1.0, больше = сильнее изменение
|
| | seed=42,
|
| | randomize_seed=False,
|
| | guidance_scale=2.5,
|
| | num_inference_steps=40,
|
| | lora_name="Analog Film",
|
| | lora_scale=1.0,
|
| | api_name="/img2img"
|
| | )
|
| |
|
| | image, seed = result
|
| | ```
|
| |
|
| |
|
| | ## 💡 Примеры использования
|
| |
|
| | ### Text-to-Image
|
| | ```
|
| | Prompt: "SB_AI, a beautiful mountain landscape at sunset, detailed"
|
| | Size: 1664×928
|
| | Steps: 40, CFG: 2.5
|
| | LoRA: None
|
| | ```
|
| |
|
| | ### Image-to-Image
|
| | ```
|
| | Input: фото человека
|
| | Prompt: "Transform into oil painting style"
|
| | Strength: 0.75 (сохранить структуру, изменить стиль)
|
| | LoRA: Analog Film
|
| | ```
|
| |
|
| |
|
| | ## 🎭 Доступные LoRA
|
| |
|
| | ### 🌐 HuggingFace Hub LoRA (2 предустановленных):
|
| |
|
| | | Name | Trigger Word | Description |
|
| | |------|--------------|-------------|
|
| | | **Realism** | "Super Realism portrait of" | Фотореалистичные изображения |
|
| | | **Anime** | "Japanese modern anime style, " | Современное аниме |
|
| |
|
| | 💡 **Ленивая загрузка**: Hub LoRA скачиваются только при использовании, затем кэшируются.
|
| |
|
| | ### 📁 Локальные LoRA (рекомендуемый способ):
|
| |
|
| | **Положите ваши .safetensors файлы в `/workspace/loras/`** - они автоматически появятся в списке!
|
| |
|
| | **Преимущества локальных LoRA**:
|
| | - ✅ Не скачиваются с интернета (быстрее)
|
| | - ✅ Приватные (только у вас)
|
| | - ✅ Полный контроль версий
|
| | - ✅ Можно использовать любые кастомные LoRA
|
| |
|
| | **Пример**:
|
| | ```bash
|
| | /workspace/loras/
|
| | ├── my_custom_style.safetensors → появится как "my_custom_style"
|
| | ├── portrait_lora.safetensors → появится как "portrait_lora"
|
| | └── anime_v2.safetensors → появится как "anime_v2"
|
| | ```
|
| |
|
| | **API использование**:
|
| | ```python
|
| | # Используйте имя файла (без расширения)
|
| | result = client.predict(
|
| | prompt="SB_AI, a portrait",
|
| | lora_name="my_custom_style", # Имя вашего локального файла
|
| | lora_scale=1.0,
|
| | api_name="/text2img"
|
| | )
|
| | ```
|
| |
|
| | 💡 **Hub LoRA** автоматически добавляют trigger words. **Локальные LoRA** - без trigger words.
|
| |
|
| | ## 📊 Параметры
|
| |
|
| | ### Denoising Strength (Image2Image)
|
| | - **0.0-0.3**: Минимальные изменения, сохранение деталей
|
| | - **0.4-0.6**: Умеренные изменения, баланс
|
| | - **0.7-0.9**: Сильные изменения, новое изображение
|
| | - **1.0**: Полная перерисовка
|
| |
|
| | ### LoRA Scale
|
| | - **0.0**: Без эффекта
|
| | - **0.5**: Слабый эффект стиля
|
| | - **1.0**: Нормальный эффект (рекомендуется)
|
| | - **1.5-2.0**: Сильный эффект стиля
|
| |
|
| | ## 🔧 Технические детали
|
| |
|
| | ### Модели:
|
| | - **Base**: Gerchegg/Qwen-Soloband-Diffusers
|
| | - **LoRAs**: Различные (загружаются динамически)
|
| |
|
| | ### Оптимизации:
|
| | - VAE tiling для больших изображений
|
| | - VAE slicing для batch
|
| | - Автоматическое управление LoRA
|
| |
|
| | ## 💰 Требования
|
| |
|
| | - **GPU**: A40 (48GB) или A100 (80GB)
|
| | - **VRAM**: ~40GB для базовой модели
|
| | - **Storage**: ~45GB (модель)
|
| |
|
| | ## 📚 Дополнительная информация
|
| |
|
| | - **Base Model**: [Qwen-Soloband-Diffusers](https://huggingface.co/Gerchegg/Qwen-Soloband-Diffusers)
|
| | - **Qwen-Image**: [Qwen/Qwen-Image](https://huggingface.co/Qwen/Qwen-Image)
|
| | - **Diffusers Docs**: [Image-to-Image Guide](https://huggingface.co/docs/diffusers/using-diffusers/img2img)
|
| | - **LoRA Explorer**: [Qwen-Image-LoRA-Explorer](https://huggingface.co/spaces/multimodalart/Qwen-Image-LoRA-Explorer)
|
| |
|
| | ## ⚠️ Важные замечания
|
| |
|
| | ### Image2Image для Qwen
|
| | Этот Space использует специализированный `QwenImageImg2ImgPipeline` для корректной работы с Qwen-Image архитектурой. В отличие от обычных Stable Diffusion моделей, Qwen-Image требует:
|
| | - Специальное кодирование изображений через `AutoencoderKLQwenImage`
|
| | - Параметр `true_cfg_scale` вместо `guidance_scale`
|
| | - Специальную упаковку латентов (packing 2x2)
|
| |
|
| | ### LoRA (Hub + Local)
|
| |
|
| | - **Hub LoRA (2)**: Realism, Anime - скачиваются ПРИ ИСПОЛЬЗОВАНИИ, затем кэшируются
|
| | - **Local LoRA**: Любые .safetensors в `/workspace/loras/` - автоматически обнаруживаются
|
| | - Ленивая загрузка - не скачиваются и не занимают VRAM до использования
|
| | - Полная поддержка в API по имени
|
| |
|
| | ## 📝 License
|
| |
|
| | Apache 2.0
|
| |
|
| | ## 🔧 Technical Notes
|
| |
|
| | ✅ **Image2Image**: Использует правильный `QwenImageImg2ImgPipeline` для Qwen-Image архитектуры
|
| | ✅ **Performance**: ~0.91s на шаг денойзинга на A100 GPU
|
| | ✅ **Optimization**: VAE tiling и slicing включены для экономии памяти
|
| |
|
| |
|