A newer version of the Gradio SDK is available:
6.8.0
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 с полным набором инструментов для профессиональной работы.
🆕 Что нового в версии 2.0
- ⚙️ 10+ Schedulers/Samplers - Выбор алгоритма генерации (DPM++, Euler, UniPC и др.)
- 🎯 Поддержка алиасов - Короткие имена для API (
dpmpp_2m_karras,euler_a) - 🔧 Кастомные модели - Задавайте MODEL_REPO через переменную окружения
- 📦 RunPod скрипты - Автоматическая установка одной командой
- 📚 Улучшенная документация - Полное руководство по развертыванию
🚀 Основные возможности
📝 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 - современный японский стиль аниме
- 🎚️ LoRA Scale (0.0-2.0) - интенсивность стиля
- 📁 Локальные LoRA - Загрузка из
/workspace/loras/
🚀 Quick Start на RunPod
Одна команда - полная установка:
export HF_HUB_ENABLE_HF_TRANSFER=0 && \
pip install -q huggingface_hub[cli] && \
hf auth login --token ВАШ_ТОКЕН && \
cd /workspace && \
hf download Gerchegg/Qwen-ImageForFlo-Advanced --repo-type space --local-dir Qwen-ImageForFlo-Advanced && \
cd Qwen-ImageForFlo-Advanced && \
pip install -r requirements.txt && \
python app.py
📖 Полная инструкция: См. RUNPOD_DEPLOYMENT.md
Или используйте скрипт:
wget https://huggingface.co/spaces/Gerchegg/Qwen-ImageForFlo-Advanced/resolve/main/quick_start.sh
chmod +x quick_start.sh
HF_TOKEN="ВАШ_ТОКЕН" ./quick_start.sh
🔌 API Usage
Text-to-Image API
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"
lora_scale=1.0,
scheduler_name="DPM++ 2M Karras", # 🆕 Выбор scheduler/sampler
api_name="/text2img"
)
image, seed = result
Image-to-Image API
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="None",
lora_scale=1.0,
scheduler_name="Euler Ancestral", # 🆕 Выбор scheduler/sampler
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
🎛️ Доступные Schedulers (Samplers)
⚠️ Важно: Qwen-Image использует Flow Matching, а не классическую diffusion!
Работают только FlowMatchEulerDiscreteScheduler с различными параметрами shift.
✅ Протестированные и рабочие schedulers:
| Scheduler | Время | Speedup | Алиас | Рекомендация |
|---|---|---|---|---|
| Flow Euler (Shift 0.5) | 33.8s | 1.00x | flow_euler_shift05 |
🥇 САМЫЙ БЫСТРЫЙ (по умолчанию) |
| Flow Euler (Shift 2.0) | 34.6s | 1.02x | flow_euler_shift20 |
🥈 Быстрый + детали |
| Flow Euler (Shift 1.5) | 38.8s | 1.15x | flow_euler_shift15 |
🥉 Баланс |
| Flow Euler (Default) | 40.2s | 1.19x | flow_euler |
Стандарт (shift=1.0) |
Время указано для 1024×1024, 40 steps на ZeroGPU
Использование
В интерфейсе:
Выберите в dropdown "Sampler/Scheduler"
В API (полное имя):
scheduler_name="Flow Euler (Shift 0.5)" # Самый быстрый!
В API (алиас):
scheduler_name="flow_euler_shift05" # Короткий вариант
Примеры:
# Для быстрой генерации (рекомендуется)
scheduler_name="Flow Euler (Shift 0.5)"
num_inference_steps=40
# Время: ~34s
# Для максимума деталей
scheduler_name="Flow Euler (Shift 2.0)"
num_inference_steps=50
# Время: ~43s
# Стандартный
scheduler_name="Flow Euler (Default)"
num_inference_steps=40
# Время: ~40s
📊 Влияние Shift параметра:
- Shift 0.5: Больше шагов в начале → быстрее
- Shift 2.0: Равномернее распределение → детальнее
- Разница: 19% между самым быстрым и самым медленным
🔬 Почему только Flow Euler?
Qwen-Image это Flow Matching модель. Pipeline автоматически передает sigmas параметр в scheduler.set_timesteps(). Только FlowMatchEulerDiscreteScheduler полностью совместим с этой архитектурой.
Не работают: DPM++, обычный Euler, Ancestral, UniPC, DDIM - все это классические diffusion schedulers.
🎭 Доступные 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
Пример:
/workspace/loras/
├── my_custom_style.safetensors → появится как "my_custom_style"
├── portrait_lora.safetensors → появится как "portrait_lora"
└── anime_v2.safetensors → появится как "anime_v2"
API использование:
# Используйте имя файла (без расширения)
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: Различные (загружаются динамически)
- Custom Models: Поддержка через переменную окружения
MODEL_REPO
Использование кастомной модели:
# Через переменную окружения
MODEL_REPO="username/custom-qwen-model" python app.py
# Или экспортировать
export MODEL_REPO="username/custom-qwen-model"
python app.py
Требования к кастомной модели:
- Совместимость с Qwen-Image архитектурой
- Формат diffusers
- Включает: vae, text_encoder, tokenizer, transformer, scheduler
Оптимизации:
- VAE tiling для больших изображений
- VAE slicing для batch
- Автоматическое управление LoRA
💰 Требования
- GPU: A40 (48GB) или A100 (80GB)
- VRAM: ~40GB для базовой модели
- Storage: ~45GB (модель)
📚 Дополнительная информация
- Base Model: Qwen-Soloband-Diffusers
- Qwen-Image: Qwen/Qwen-Image
- Diffusers Docs: Image-to-Image Guide
- LoRA Explorer: 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 включены для экономии памяти