Два варианта промпта и один переключатель
Урок «switch» в группе Паки и инструменты списка уроков. Шагов: 9.
Чему вы научитесь
Вы держите в одном графе два промпта и выбираете между ними одним значением «да или нет», как это делают шаблоны ComfyUI.
Что понадобится
- Урок продолжает Первая картинка из текста. Карточка говорит об этом; это подсказка, а не замок.
- Ноды: CLIP Text Encode (Prompt), KSampler, Text (Multiline), If/Else Switch, Boolean.
- Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.
Шаги
Слова каждого шага, как их показывает урок. Имена нод выделены.
Сравнивать без перестановки связей (чтение)
Чтобы сравнить два промпта, пришлось бы каждый раз перепечатывать текст или переставлять связи. Шаблоны ComfyUI делают это переключателем: оба варианта остаются в графе, а одно значение «да или нет» выбирает, какой идёт дальше.
Этот урок собирает такое на графе «Первая картинка из текста». Тот же переключатель потом выберет между вашим промптом и переписанным языковой моделью.
Нужен граф картинки
На холсте должен быть граф «Первая картинка из текста»: нода CLIP Text Encode (Prompt), чей выход идёт во вход
positiveноды KSampler.Если его нет, сначала пройдите тот урок.
Первый вариант
Добавьте ноду Text (Multiline) и напишите промпт в её поле
value. Например: a lighthouse on a cliff at sunset, warm light, calm sea.Эта нода держит текст на виду в одном месте. Он пойдёт в переключатель, а не прямо в CLIP Text Encode (Prompt).
Второй вариант
Добавьте вторую ноду Text (Multiline) и напишите другой вариант в её поле
value: тот же предмет в другом свете, другом стиле или с одной лишней деталью.Меняйте только одно. Тогда видно, что сделала именно эта правка.
Переключатель
Добавьте ноду If/Else Switch. Подключите выход Text (Multiline) к её входу
on_false, а выход Text (Multiline) ко входуon_true.Переключатель передаёт дальше один из двух. Считается только выбранная сторона.
В промпт
Подключите
outputноды If/Else Switch ко входуtextноды CLIP Text Encode (Prompt).Поле
textу CLIP Text Encode (Prompt) теперь берёт слова из связи, а набранный в нём текст больше не используется. Остальной граф остаётся как был.Значение «да или нет»
Добавьте ноду Boolean, подключите её выход ко входу
switchноды If/Else Switch и поставьте еёvalueнаtrue.trueвыбираетon_true, второй вариант;falseвыбираетon_false, первый. Выбор теперь в одной маленькой ноде, которую сразу найдёшь.Как сравнивать (чтение)
В ComfyUI поставьте
control_after_generateподseedноды KSampler наfixed. Запустите один раз сtrueи один раз сfalse.При том же
seedдве картинки различаются только промптом. Если бы они различались ещё и шумом, нельзя было бы понять, какая правка что сделала.Граф готов (чтение)
Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение ничего в ComfyUI не запускает.
Тот же переключатель работает для всего одного типа: двух моделей, двух настроек LoRA, двух размеров. Обе стороны должны нести один тип.
Дальше: «Промпт пишет языковая модель» ставит языковую модель на сторону
on_true.
Что проверяет урок
Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:
- Шаг 2, Нужен граф картинки:
- нода CLIP Text Encode (Prompt).
- нода KSampler.
CONDITIONINGноды CLIP Text Encode (Prompt) во входpositiveноды KSampler.
- Шаг 3, Первый вариант:
- нода Text (Multiline).
valueноды Text (Multiline) (первый вариант): не меньше 10 знаков.
- Шаг 4, Второй вариант:
- нода Text (Multiline).
valueноды Text (Multiline) (второй вариант): не тот же файл, что в полеvalueноды Text (Multiline) (первый вариант).
- Шаг 5, Переключатель:
- нода If/Else Switch.
STRINGноды Text (Multiline) (первый вариант) во входon_falseноды If/Else Switch.STRINGноды Text (Multiline) (второй вариант) во входon_trueноды If/Else Switch.
- Шаг 6, В промпт:
outputноды If/Else Switch во входtextноды CLIP Text Encode (Prompt).
- Шаг 7, Значение «да или нет»:
- нода Boolean.
BOOLEANноды Boolean во входswitchноды If/Else Switch.valueноды Boolean:true.
Что дальше
Этот урок продолжают: Промпт пишет языковая модель.