Qwen-Image: надписи на картинке
Урок «qwen-image» в группе Картинки: модели списка уроков. Шагов: 14.
Чему вы научитесь
Соберёте граф Qwen-Image с настоящим негативным промптом, сдвигом этого семейства и его собственным размером.
Что понадобится
- Урок продолжает Z-Image Turbo: картинка за восемь шагов. Карточка говорит об этом; это подсказка, а не замок.
- Файлы моделей, которые урок проверяет:
- модель Qwen-Image:
models/diffusion_models, напримерqwen_image_fp8_e4m3fn.safetensors; - файл qwen_2.5_vl_7b:
models/text_encoders, напримерqwen_2.5_vl_7b_fp8_scaled.safetensors; - файл qwen_image_vae:
models/vae, напримерqwen_image_vae.safetensors.
- модель Qwen-Image:
- Ноды: Load Diffusion Model, Load CLIP, Load VAE, ModelSamplingAuraFlow, CLIP Text Encode (Prompt), EmptySD3LatentImage, KSampler, VAE Decode, Save Image / Preview Image.
- Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.
Шаги
Слова каждого шага, как их показывает урок. Имена нод выделены.
Модель, которая пишет (чтение)
Qwen-Image от Alibaba Qwen: большая модель, известная надписями. Вывески, плакаты и этикетки на английском и китайском получаются читаемыми. Её новая версия называется Qwen-Image 2512.
В отличие от турбо-моделей она работает при cfg выше 1, поэтому негативный промпт читается и действует.
Это граф шаблонов ComfyUI «Qwen-Image» и «Qwen Image 2512».
Какие файлы нужны вашему семейству (чтение)
- модель:
qwen_image_fp8_e4m3fn.safetensorsилиqwen_image_2512_fp8_e4m3fn.safetensorsв models/diffusion_models (около 20 ГБ); - текстовый энкодер:
qwen_2.5_vl_7b_fp8_scaled.safetensorsв models/text_encoders, языковая модель, которая видит и картинки; - VAE:
qwen_image_vae.safetensorsв models/vae.
Модели правки этого семейства (Qwen-Image-Edit) берут тот же энкодер и VAE, но граф у них другой.
Если файла нет в списке, значит, его нет в вашем ComfyUI. Приложение ничего не скачивает. Откройте в самом ComfyUI шаблон «Qwen-Image»: он покажет, каких файлов не хватает и куда их положить. Берите файлы только с официальной страницы модели. Потом выберите здесь в меню «Синхронизация ▸ Синхронизировать сейчас», и файлы появятся в списках.
- модель:
Загрузите модель
Добавьте ноду Load Diffusion Model и выберите файл Qwen-Image в поле
unet_name.Файл большой. Если он не помещается в видеокарту, ComfyUI переносит часть в обычную память и работает медленнее, или выручает файл модели в GGUF.
Загрузите текстовый энкодер
Добавьте ноду Load CLIP. В поле
clip_nameвыберите файл Qwen 2.5 VL, а в полеtypeпоставьтеqwen_image.Тип говорит ComfyUI, какому семейству служит энкодер. Тот же файл с другим типом даст картинку, которая не слушает промпт.
Загрузите VAE
Добавьте ноду Load VAE и выберите
qwen_image_vae.safetensorsв полеvae_name.У Qwen-Image свой VAE; VAE от Flux ей не подходит.
Задайте сдвиг
Добавьте ноду ModelSamplingAuraFlow и подключите выход
MODELноды Load Diffusion Model к её входуmodel. В полеshiftпоставьте 3.1, число из шаблона ComfyUI.Сдвиг говорит, на что тратить шаги: больший отдаёт их крупным формам, меньший мелким деталям. Если мелкие буквы выходят размытыми, попробуйте чуть меньше.
Напишите промпт и негатив
Добавьте две ноды CLIP Text Encode (Prompt) и подключите выход ноды Load CLIP ко входу
clipкаждой.В поле
textпервой подробно опишите картинку предложениями. Слова для надписи поставьте в кавычки и скажите, где они: витрина пекарни в сумерках, над дверью рисованная вывеска "FRESH BREAD", внутри тёплый свет.Во второй напишите, чего не нужно: размыто, низкое разрешение, искажённые буквы. При cfg 4 модель это читает и уходит от этого.
Добавьте пустой латент нужного размера
Добавьте ноду EmptySD3LatentImage. В полях
widthиheightпоставьте 1328.Qwen-Image учили примерно на 1.7 мегапикселя; при 1024 она рисует, но страдают мелкие буквы. Для широких и высоких картинок страница модели даёт ещё 1664 на 928 и 928 на 1664; этот шаг просит квадрат.
Добавьте сэмплер
Добавьте ноду KSampler и подключите:
- ко входу
modelвыход ноды ModelSamplingAuraFlow; - ко входам
positiveиnegativeдве текстовые ноды; - ко входу
latent_imageвыход ноды EmptySD3LatentImage.
- ко входу
Настройте сэмплер
В ноде KSampler поставьте:
steps: 20;cfg: 4;sampler_name:euler;scheduler:simple.
Это числа шаблона «Qwen-Image». Шаблон версии 2512 ставит 50 шагов ради наибольшей детальности; так дольше.
- Превратите результат в картинку
Добавьте ноду VAE Decode. Ко входу samples подключите выход ноды KSampler, ко входу vae выход ноды Load VAE.
Сэмплер выдаёт картинку в сжатом виде, латент. VAE того же семейства разворачивает его в пиксели.
- Сохраните картинку
Добавьте ноду Save Image и подключите выход ноды VAE Decode к её входу images.
Без неё ComfyUI посчитает картинку и никуда её не положит.
- Быстрее: LoRA Lightning (чтение)
У семейства есть LoRA-ускорители (Lightning), которые делают из него модель на несколько шагов. В шаблоне ComfyUI LoRA стоит в ноде Load LoRA только для модели, между Load Diffusion Model и ModelSamplingAuraFlow, с силой 1. Тогда сэмплеру нужно 8 шагов и cfg 1 (с LoRA на четыре шага 4 шага).
При cfg 1 негативный промпт уже не читается: это цена скорости. LoRA должна быть сделана для вашей версии: у Qwen-Image и у 2512 они разные.
- Граф готов (чтение)
Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.
Если результат плохой:
- буквы неверные: слова покороче, каждое в своих кавычках, сказано, где оно стоит; размер со страницы модели;
- картинка не слушает промпт:
typeнеqwen_image; - цвета уходят: VAE не от Qwen-Image.
Тот же граф подходит базовой Z-Image: модель z_image_bf16.safetensors, энкодер qwen_3_4b.safetensors с типом lumina2, VAE ae.safetensors, сдвиг 3, размер 1024, 25 шагов, cfg 4, res_multistep.
Что проверяет урок
Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:
- Шаг 3, Загрузите модель:
- нода Load Diffusion Model.
- в поле
unet_nameноды Load Diffusion Model стоит файл такого вида: модель Qwen-Image; такой файл лежит вmodels/diffusion_models, напримерqwen_image_fp8_e4m3fn.safetensors.
- Шаг 4, Загрузите текстовый энкодер:
- нода Load CLIP.
- в поле
clip_nameноды Load CLIP стоит файл такого вида: файл qwen_2.5_vl_7b; такой файл лежит вmodels/text_encoders, напримерqwen_2.5_vl_7b_fp8_scaled.safetensors. typeноды Load CLIP:qwen_image. Почему: с чтением текста не того типа модель прочтёт промпт неправильно и получит бессмыслицу.
- Шаг 5, Загрузите VAE:
- нода Load VAE.
- в поле
vae_nameноды Load VAE стоит файл такого вида: файл qwen_image_vae; такой файл лежит вmodels/vae, напримерqwen_image_vae.safetensors.
- Шаг 6, Задайте сдвиг:
- нода ModelSamplingAuraFlow.
MODELноды Load Diffusion Model во входmodelноды ModelSamplingAuraFlow (можно через LoraLoaderModelOnly).shiftноды ModelSamplingAuraFlow: от 1 до 10; «Сделать за меня» ставит 3.1. Почему: шаблон Qwen-Image сдвигает шум на 3.1: так решается, на что уходят шаги.
- Шаг 7, Напишите промпт и негатив:
- нода CLIP Text Encode (Prompt).
- нода CLIP Text Encode (Prompt).
CLIPноды Load CLIP во входclipноды CLIP Text Encode (Prompt) (промпт).CLIPноды Load CLIP во входclipноды CLIP Text Encode (Prompt) (негатив).textноды CLIP Text Encode (Prompt) (промпт): не меньше 40 знаков.
- Шаг 8, Добавьте пустой латент нужного размера:
- нода EmptySD3LatentImage.
widthноды EmptySD3LatentImage: от 512 до 2048; «Сделать за меня» ставит 1328. Почему: qwen-Image учили около 1,7 мегапикселя; на 1024 страдают мелкие буквы.heightноды EmptySD3LatentImage: от 512 до 2048; «Сделать за меня» ставит 1328. Почему: qwen-Image учили около 1,7 мегапикселя; на 1024 страдают мелкие буквы.
- Шаг 9, Добавьте сэмплер:
- нода KSampler.
MODELноды ModelSamplingAuraFlow во входmodelноды KSampler (можно через LoraLoaderModelOnly).CONDITIONINGноды CLIP Text Encode (Prompt) (промпт) во входpositiveноды KSampler.CONDITIONINGноды CLIP Text Encode (Prompt) (негатив) во входnegativeноды KSampler.LATENTноды EmptySD3LatentImage во входlatent_imageноды KSampler.
- Шаг 10, Настройте сэмплер:
stepsноды KSampler: от 15 до 50; «Сделать за меня» ставит 20. Почему: без ускоряющей LoRA шаблон Qwen-Image ставит 20 шагов.cfgноды KSampler: от 2.5 до 5; «Сделать за меня» ставит 4. Почему: при cfg 4 негатив читается; шаблон ставит 4 без ускоряющей LoRA.sampler_nameноды KSampler:euler.schedulerноды KSampler:simple.
- Шаг 11, Превратите результат в картинку:
- нода VAE Decode.
LATENTноды KSampler во входsamplesноды VAE Decode.VAEноды Load VAE во входvaeноды VAE Decode.
- Шаг 12, Сохраните картинку:
- нода Save Image или Preview Image.
IMAGEноды VAE Decode во входimagesноды Save Image или Preview Image.
Что дальше
Этот урок продолжают: Правка картинки словами.