Skip to content

Latest commit

 

History

History
308 lines (230 loc) · 19.7 KB

File metadata and controls

308 lines (230 loc) · 19.7 KB

Qwen-Image-2.1 локально на одной GPU

Для GGUF Q4_K_M и workflows с энкодером на CPU есть отдельный GGUF-гайд.

Пошаговая установка ComfyUI, генерация по тексту, редактирование и прозрачные PNG. В комплекте пять workflows, установщик в отдельную папку и проверка скачанных весов.

English · Файл для агента · Описание workflows

Что нужно

Рабочая отправная точка: одна NVIDIA RTX 3090 с 24 GB VRAM. Этот вариант мы проверяли. На других NVIDIA-картах сначала выполните тест на 1024 × 1024. Установщик рассчитан на NVIDIA CUDA; это не инструкция для AMD, Intel или Mac.

Ресурс Ориентир
VRAM 24 GB для проверенного профиля
16 GB Можно пробовать CPU text encoder и --lowvram на 1 MP. Этот профиль здесь не проверен.
RAM Желательно 64 GB. На 32 GB может понадобиться дополнительная настройка offload. Проверочная машина имеет 128 GB.
Диск Не менее 45 GB свободного места на окружение, веса, кэш и результаты
Python 3.10–3.13, рекомендуется 3.12
Драйвер NVIDIA с поддержкой CUDA runtime выбранного PyTorch

Используем INT8 ConvRot для diffusion model и text encoder, BF16 для VAE. Всего три файла весов: 17.28 GB, или 16.10 GiB. Это размер на диске, а не пиковое потребление VRAM. При генерации нужны ещё активации, кэш и память для декодирования.

Custom nodes, ComfyUI Manager, LoRA, платный API и prompt enhancer не нужны. CUDA Toolkit и nvcc для этой установки собирать не требуется. Нужны рабочий драйвер и подходящая сборка PyTorch с CUDA.

Проверенные примеры

Оригиналы и входные картинки из проверки чистой установки.

T2I Edit RGBA
T2I Edit RGBA

Быстрый путь через агента

Передайте агенту INSTALL-WITH-AGENT.md вместе с папкой qwen-image-2.1 или ссылкой на этот раздел репозитория. Напишите:

Установи Qwen-Image-2.1 по этой инструкции на одной GPU. Выполни проверочную генерацию, открой PNG и оставь мне рабочий адрес ComfyUI и готовые workflows.

Для удалённой машины отдельно сообщите агенту SSH-адрес. Пароль или токен в сам гайд добавлять не нужно. В файле уже описаны проверка железа, установка, проверка результата и работа рядом с существующими сервисами.

Новая установка на Linux / WSL2

Команды установки системных пакетов ниже предназначены для Ubuntu/Debian. В другой системе используйте соответствующий пакетный менеджер. В WSL2 нужен Windows-драйвер NVIDIA с поддержкой WSL; отдельный Linux display driver внутрь WSL устанавливать не нужно.

sudo apt update
sudo apt install -y git python3 python3-venv

git clone https://github.com/alesha-pro/tools.git
cd tools/qwen-image-2.1
python3 install/setup.py check

check ничего не устанавливает: показывает Python, Git, GPU, VRAM и драйвер. Проверьте, что nvidia-smi видит нужную карту. Затем:

python3 install/setup.py install --dir "$HOME/ComfyUI-Qwen21"

Будет создан отдельный checkout ComfyUI и виртуальное окружение .venv. Установщик использует uv, если он есть в PATH, иначе обычные venv и pip. Версии ComfyUI, Torch и torchvision закреплены в install/versions.json. Чужую существующую папку он не перестраивает. Драйвер, системный Python и основной ComfyUI не меняются.

Скачайте веса:

"$HOME/ComfyUI-Qwen21/.venv/bin/python" install/download_models.py \
  --models-dir "$HOME/ComfyUI-Qwen21/models"

Скрипт скачивает файлы из конкретной ревизии официального репозитория Comfy-Org и проверяет SHA-256 каждого файла. После обрыва повторите команду: библиотека Hugging Face использует свой кэш скачивания. Уже проверенные файлы пропускаются. Если существующий файл имеет неправильную контрольную сумму, скрипт остановится; сначала разберитесь с файлом и переместите его, а не удаляйте все модели.

Запустите сервер:

python3 install/setup.py launch --comfy "$HOME/ComfyUI-Qwen21" --gpu 0

Оставьте терминал открытым. Откройте http://127.0.0.1:8188. Workflows скопированы в user/default/workflows/qwen-image-2.1 внутри ComfyUI. Их также можно просто перетащить из папки workflows/ на canvas.

--gpu 0 выбирает одну физическую карту. Даже если в машине четыре GPU, этот процесс увидит только выбранную. На общей машине сначала проверьте, свободна ли она. Для другой карты и порта: --gpu 1 --port 8195.

Windows без WSL

Установите Git, Python 3.12 и драйвер NVIDIA. Команды для PowerShell:

git clone https://github.com/alesha-pro/tools.git
Set-Location tools/qwen-image-2.1
py -3.12 install/setup.py check
py -3.12 install/setup.py install --dir "$HOME/ComfyUI-Qwen21"
& "$HOME/ComfyUI-Qwen21/.venv/Scripts/python.exe" install/download_models.py --models-dir "$HOME/ComfyUI-Qwen21/models"
py -3.12 install/setup.py launch --comfy "$HOME/ComfyUI-Qwen21" --gpu 0

Активировать venv не требуется. Скрипты учитывают Windows-пути, но полный чистый прогон установки в этом комплекте проверяется на Linux, не на Windows. Если у вас уже есть Portable/Desktop, используйте следующий раздел.

Если ComfyUI уже установлен

Не запускайте новый installer поверх рабочего окружения.

  1. Сохраните workflows и текущую версию установки.
  2. Проверьте наличие ноды TextEncodeQwenImage21. Если её нет, обновите ComfyUI штатным способом этой установки. Старая нода Qwen Image Edit не заменяет 2.1.
  3. Разложите веса по папкам ниже или подключите существующее хранилище через extra_model_paths.yaml.
  4. Перетащите workflow в UI либо скопируйте все пять командой:
python3 install/setup.py workflows --comfy /path/to/ComfyUI

Здесь /path/to/ComfyUI нужно заменить вашим реальным путём. Команда копирует только workflows. Если одноимённый файл уже изменён, она откажется его затереть.

ComfyUI/models/
├── diffusion_models/
│   └── qwen_image_2.1_int8_convrot.safetensors
├── text_encoders/
│   └── qwen3vl_8b_int8_convrot.safetensors
└── vae/
    └── qwen_image_2.1_vae_bf16.safetensors

Прямые ссылки на три файла · Размеры и SHA-256

Для скачивания скриптом нужен Python с huggingface_hub. В Portable Python часто лежит в python_embeded/python.exe рядом с папкой ComfyUI. В Desktop путь определяется приложением. Установка библиотеки в системный Python не устанавливает её в Python ComfyUI. При необходимости используйте прямые ссылки или отдельное маленькое окружение для скачивания.

Первая картинка и проверка

В UI загрузите 01-text-to-image.json, измените текст в TextEncodeQwenImage21 и нажмите Run. Стартовые параметры: 1024 × 1024, 40 шагов, Euler/simple, CFG 1. PNG появится в ComfyUI/output/Qwen21/.

Можно проверить через API. Во втором терминале, из папки этого гайда:

"$HOME/ComfyUI-Qwen21/.venv/bin/python" scripts/generate.py \
  --mode t2i --seed 42 --out outputs

Скрипт проверит ноды и наличие моделей в dropdown, отправит задание, дождётся успеха в history, скачает PNG и проверит его декодирование. Рядом сохранит точный API-граф, ответ на отправку, history, seed, размеры, время и SHA-256 картинки. При занятой очереди он откажется отправлять задание без --allow-queue.

Откройте получившийся PNG и посмотрите на результат. Успешный HTTP-ответ не подтверждает, что изображение выглядит правильно.

Теперь 2K:

"$HOME/ComfyUI-Qwen21/.venv/bin/python" scripts/generate.py \
  --mode 2k --seed 43 --out outputs

Windows-команды аналогичны: используйте .venv/Scripts/python.exe, оператор & и одну строку без Bash-переносов \.

Что находится в workflows

Файл Назначение
01-text-to-image.json Генерация по тексту, 1024 × 1024, 40 шагов
02-text-to-image-2k.json Генерация 2048 × 1152, 50 шагов
03-image-edit.json Редактирование одного загруженного изображения
04-transparent-rgba.json Предмет на прозрачном фоне, PNG с alpha
05-two-reference-edit.json Редактирование с двумя референсами

Все графы плоские, без спрятанных subgraph-настроек. JSON в workflows/api/ предназначены для API, а JSON непосредственно в workflows/ — для UI. Подробные команды редактирования: workflows/README.md.

В edit-workflows нужно загрузить свои картинки через LoadImage. Приложенные примеры можно использовать для проверки. В тексте <image1> обозначает первый слот, <image2> второй. Например:

Use <image1> as the base. Change only the teapot color to match <image2>. Preserve the shape, background, viewpoint and lighting from <image1>.

Для изменения картинки недостаточно подключить только CLIP: референсы и VAE должны поступать в TextEncodeQwenImage21. Подключения уже сделаны в наших графах.

Seed, шаги и размеры

Random seed: в KSampler найдите control_after_generate под seed и выберите randomize. В наших UI-workflows это значение уже выставлено. Для сравнения двух промптов выберите fixed и оставьте одно число. В API-клиенте seed случайный, если не передать --seed.

Шаги: наши стартовые значения — 40 и 50. В текущих официальных шаблонах ComfyUI выставлено 25, в примерах Qwen встречается 40. Можно сравнить 25/40/50 на одном seed; более длинный прогон не гарантирует лучшую картинку.

CFG: начните с 1. При этом стандартный negative guidance не участвует в расчёте. Не заполняйте огромный negative prompt по привычке из других моделей.

Размер: меняйте width/height в EmptyLatentImage для T2I, кратно 32.

Размер Реальное число пикселей
1024 × 1024 1.05 MP
2048 × 1152 или 1152 × 2048 2.36 MP
2048 × 2048 4.19 MP
2752 × 1536 4.23 MP

«2K» не задаёт единственный объём работы. Широкий кадр 2048 × 1152 заметно меньше по числу пикселей, чем квадрат 2048 × 2048.

В edit-workflow используется latent из TextEncodeQwenImage21. Параметр resolution=1024 означает примерно один мегапиксель с пропорциями первого референса, а не принудительный квадрат. resolution=0 сохраняет размер референсов с округлением до 32 и может резко увеличить расход памяти. Для instruction editing оставьте denoise 1: это не обычный low-denoise img2img.

Как писать промпты

Опишите будущий кадр: кто или что в нём, действие, место, композиция, свет, материалы и характер съёмки. Для реализма полезнее конкретные детали, чем длинный список общих слов про качество. Английские промпты — проверенный здесь путь; сложность запроса увеличивайте постепенно.

Для реалистичной фантастики связывайте невозможное с окружением: тень, отражение, перекрытие предметами, понятный масштаб. Если нужно напечатать текст в картинке, укажите его точно. При редактировании явно перечислите, что меняется и что должно сохраниться.

Прозрачность и prompt enhancer

Для прозрачной картинки запросите RGBA image, alpha channel и transparent background. Сохраняйте PNG. Нарисованная клетчатая подложка не доказывает наличие прозрачности: проверьте реальный alpha-канал. Команда generate.py --mode rgba проверяет, что alpha присутствует и имеет разные значения. Обычный просмотрщик может показывать прозрачные области чёрными. Наши edit-примеры используют RGB-референсы; для сохранения alpha загруженного референса может понадобиться дополнительное подключение маски.

У Qwen есть отдельные PE-T2I и PE-I2I: модели на базе Qwen3.5-VL 9B, дообученные переписывать промпты. T2I работает с текстовым запросом, I2I — с изображениями и инструкцией для редактирования. Это не text encoder, который загружает CLIPLoader, и не KV cache.

В базовый комплект они не входят. На одной GPU сначала получите переписанный промпт, освободите память enhancer и затем запускайте генератор. Сохраняйте оба текста. Сначала добейтесь работающей генерации без дополнительных моделей.

Скорость и границы проверки

В предыдущих реальных заданиях RTX 3090, INT8 ConvRot, 2048 × 1152, 50 шагов, Euler/simple, CFG 1 получалось 82–96 секунд на полное задание ComfyUI. Два последних кадра дороги: 83.527 и 85.271 секунды. Это не только sampling и не обещание скорости любой 24 GB карты. Машина имела 128 GB RAM; часть заданий шла параллельно независимым заданиям на других GPU. Это наблюдения, не контролируемое сравнение видеокарт.

Проверки именно этого установщика и приложенных workflows описаны в docs/validation.md. Windows, 16 GB VRAM и меньший объём RAM не следует считать проверенными только потому, что основной Linux-профиль работает.

Если что-то не работает

Разбор типичных ошибок и удалённый доступ: missing nodes, модели не видны, OOM, Python-окружение, занятый порт, повторное скачивание и SSH.

Установщик закрепляет совместимый набор: Torch 2.11.0, torchvision 0.26.0, torchaudio 2.11.0. ComfyUI импортирует аудиокод при старте даже для графов изображений, поэтому просто исключить torchaudio нельзя. Не смешивайте ABI-несовместимые версии пакетов.

Код и авторские workflows доступны по MIT. У весов отдельная Qwen Research License. Лицензии ComfyUI и зависимостей сохраняются. Официальные источники перечислены в английской версии. Дата проверки: 2026-09-21.