Узлы | Улучшения и возможности | Исправление ссылок
Коллекция узлов и улучшений, созданных во время работы с ComfyUI. Я сделал их для себя, чтобы сделать мой рабочий процесс чище, проще и быстрее. Вы можете попробовать их. Но помните, я сделал их для своих собственных случаев :)
custom_modules
: cd ComfyUI/custom_nodes
git clone https://github.com/rgthree/rgthree-comfy.git
Вы можете настроить определенные аспекты rgthree-comfy. Например, возможно, будущее изменение ComfyUI нарушит работу rgthree-comfy, или у вас уже есть другое расширение, которое делает что-то подобное, и вы хотите отключить его для rgthree-comfy.
Вы можете перейти к настройкам rgthree-comfy, щелкнув правой кнопкой мыши пустую часть графика и выбрав rgthree-comfy > Settings (rgthree-comfy)
или щелкнув rgthree-comfy settings
в диалоговом окне настроек ComfyUI.
(Обратите внимание, что настройки хранятся в файле rgthree_config.json
в каталоге rgthree-comfy
. Существуют и другие дополнительные настройки, которые можно настроить только там; перед изменением вы можете скопировать настройки по умолчанию из rgthree_config.json.default
перед rgthree_config.json
) .
Обратите внимание: вы можете щелкнуть правой кнопкой мыши группу узлов rgthree-comfy и выбрать ? Node Help
Пункт меню ? Node Help
для справки в приложении, если она доступна.
Интуитивно понятный узел управления семенами для ComfyUI, который очень похож на элемент управления семенами в Automatic1111.
См. дополнительную информацию
- Установите начальное значение «-1», чтобы каждый раз использовать случайное начальное значение.
- Установите любое другое число для использования в качестве статического/фиксированного начального числа.
- Быстрые действия для рандомизации или (повторного) использования последнего начального числа в очереди.
- Метаданные изображений будут хранить начальное значение (поэтому при перетаскивании изображения исходное поле уже будет зафиксировано в его исходном значении) .
- Секретные функции : вы можете вручную установить начальное значение «-2» или «-3», чтобы увеличить или уменьшить последнее начальное значение. Если не было последнего начального значения, оно будет случайным образом использоваться первым.
Обеспечьте порядок в своем рабочем процессе с помощью значительно улучшенного узла перенаправления, например, с возможностью фактического перенаправления в нескольких направлениях и размерах.
Дополнительная информация
- Используйте контекстное меню, вызываемое правой кнопкой мыши, чтобы изменить ширину, высоту и расположение соединений.
- Также включите возможность изменения размера (минимальный размер — 40x43 при изменении размера) и отображение заголовка/типа.
Поместите узел закладки в любое место экрана, чтобы быстро перейти к нему с помощью сочетания клавиш.
См. дополнительную информацию
- Определите
shortcut_key
, которую нужно нажать, чтобы перейти вправо к этому узлу закладки, закрепленному в левом верхнем углу.- Вы также можете определить уровень масштабирования!
- Совет для профессионалов:
shortcut_key
может состоять из нескольких клавиш. Например, «alt + Shift + !» потребуется нажать клавишу Alt, клавишу Shift и "!" (как и клавиша «1», но с нажатым шифтом) для срабатывания.
Перейдите к общим свойствам потока и объедините новые данные. Подобно некоторым другим наборам узлов «каналы», но с более простым слиянием, легче взаимодействовать со стандартными узлами путем объединения и разнесения всех в одном узле.
Дополнительная информация
- Context и Context Big обратно совместимы друг с другом. То есть входные данные, подключенные к большому контексту, будут передаваться через выходные данные КОНТЕКСТ через обычные узлы контекста и доступны в качестве выходных данных на любом из них (или в большом контексте, если выходные данные находятся только на этом узле, например «шаги»).
- Совет для профессионалов: при перетаскивании вывода контекста на другой узел удерживайте нажатой клавишу «ctrl» и отпустите ее, чтобы автоматически подключить другие выходы контекста к наведенному узлу.
- Совет для профессионалов: вы можете переключаться между узлами «Контекст» и «Большой контекст» в меню.
Узел Image Comparer сравнивает два изображения друг с другом.
Дополнительная информация
- Примечание. В контекстном меню могут отображаться параметры изображения («Открыть изображение», «Сохранить изображение» и т. д.), которые будут соответствовать первому изображению (image_a), если щелкнуть его в левой половине узла, или второму изображению, если находится справа. половина узла.
- Входы:
image_a
Обязательно. Первое изображение, которое можно использовать для сравнения. Если image_b не указан и image_a является пакетом, компаратор будет использовать первые два изображения image_a.image_b
Необязательно. Второе изображение для сравнения. Необязательно, только если image_a представляет собой пакет с двумя изображениями.- Свойства: Вы можете изменить следующие свойства (щелкнув узел правой кнопкой мыши и выбрав в меню «Свойства» или «Панель свойств»):
comparer_mode
— выберите между «Слайд» и «Клик». По умолчанию «Слайд».
Узел, который позволяет обрезать входное изображение по значению в пикселях или по процентному значению.
Отображает практически любой фрагмент текстовых данных из серверной части после выполнения .
Супер-простой узел Lora Loader, который может загружать несколько Lora одновременно и быстро переключать каждый, и все это в ультра-сжатом узле.
Дополнительная информация
- Добавьте столько Лор, сколько хотите, нажав кнопку «+ Добавить Лору». Настоящего предела нет!
- Щелкните правой кнопкой мыши виджет Lora, чтобы получить специальные возможности для перемещения Lora вверх или вниз (не влияет на изображение, только представление) , включения/выключения его или удаления всей строки.
- В свойствах измените параметр
Show Strengths
, чтобы выбрать между отображением одного простого значения прочности (которое будет использоваться как для модели, так и для клипа) или более расширенного представления, в котором можно изменять сильные стороны модели и клипа.
Устарело. Вместо этого использовал
Power Lora Loader
.Упрощенный стек Lora Loader. Очень похоже на другие пакеты, но более совместимы со стандартными входами/выходами.
Включите подсказку и получите раскрывающиеся списки для добавления вложений, лора и даже сохраненных фрагментов подсказки.
Дополнительная информация
- По сути, вы можете использовать Power Prompt почти как узел String Primitive с дополнительными функциями раскрывающихся списков для выбора вложений и даже loras без дальнейшей обработки. Это выведет только необработанный
TEXT
на другой узел для любой обработки Lora, кодирования CLIP и т. д.- Подключите
CLIP
ко входу, чтобы закодировать текст, причем выходыCLIP
иCONDITIONING
находятся прямо из узла.- Подключите
MODEL
ко входу, чтобы автоматически анализировать и загружать любые теги<lora:...>
в тексте без необходимости использования отдельных загрузчиков Lora.
То же, что и Power Prompt выше, но без поддержки LORA; сделано для немного более чистого отрицательного приглашения (поскольку отрицательные приглашения не поддерживают лорас) .
SDXL-близнец приведенной выше подсказки питания. Он содержит text_g и text_l в качестве отдельных текстовых входов, а также еще пару входных слотов, необходимых для обеспечения правильного кодирования клипа. Комбинировать с
Подобно узлу
Power Prompt - Simple
отличному от SDXL, этот узел по сути аналогичен узлу Power Prompt SDXL, но без поддержки lora ни для положительных подсказок, отличных от Lora, ни для отрицательных подсказок SDXL (поскольку отрицательные подсказки не поддерживают loras) .
Просто несколько полей конфигурации для запроса SDXL. Честно говоря, его можно использовать и для не SDXL.
Мощный узел для разветвления вашего рабочего процесса. Работает путем выбора первого входного контекста, который не является нулевым/пустым.
Дополнительная информация
- Передайте несколько узлов контекста, и переключатель контекста автоматически выберет первый ненулевой контекст для продолжения.
- Хотите знать, как переключить контексты на ноль? Используйте вместе с Fast Muter или Fast Groups Muter.
Мощный узел, аналогичный описанному выше переключению контекста, который выбирает первый вход, который не является нулевым/пустым.
Дополнительная информация
- Передайте несколько входных данных одного и того же типа, и Any Switch автоматически выберет первое ненулевое значение для продолжения.
- Хотите знать, как переключить контексты на ноль? Используйте вместе с Fast Muter или Fast Groups Muter.
Fast Groups Muter — это узел без ввода данных, который автоматически собирает все группы в текущем рабочем процессе и позволяет быстро отключать и включать звук на всех узлах внутри группы.
Дополнительная информация
Группы будут отображаться автоматически, однако вы можете фильтровать, сортировать и выполнять другие действия в свойствах узла (щелкнув узел правой кнопкой мыши и выбрав в меню «Свойства» или «Панель свойств») . Свойства включают в себя:
matchColors
— добавляйте только группы, соответствующие указанным цветам. Это могут быть цвета ComfyUI (красный, бледно-синий) или шестнадцатеричные коды (#a4d399). Можно добавить несколько значений, разделив их запятыми.
matchTitle
— фильтрация списка переключателей по совпадению заголовка (соответствия строки или регулярного выражения).
showNav
— добавить/удалить стрелку быстрой навигации, которая приведет вас к группе. (по умолчанию: правда)
sort
— сортировка переключателей по «буквенно-цифровому», «положению» графика или «пользовательскому алфавиту». (по умолчанию: «позиция»)
customSortAlphabet
— если для свойства сортировки установлено значение «пользовательский алфавит», вы можете определить используемый здесь алфавит, который будет соответствовать началу каждого имени группы и сортироваться по нему. Если названия групп не соответствуют какой-либо записи пользовательского алфавита, они будут помещены после соответствующих групп в алфавитно-цифровом порядке.Это может быть список отдельных символов, например «zyxw...», или строки, разделенные запятыми для большего контроля, например «sdxl,pro,sd,n,p».
Обратите внимание: когда заголовок двух групп соответствует одной и той же записи пользовательского алфавита, обычный буквенно-цифровой алфавит разрывает связь. Например, пользовательский алфавит «e,s,d» будет упорядочивать имена групп, такие как «SDXL, SEGS, Detailer», даже если в пользовательском алфавите перед «d» стоит буква «e» (где можно ожидать, что «SE» будет перед «СД»).
Чтобы «SEGS» отображалось перед «SDXL», вы можете использовать более длинные строки. Например, здесь подойдет пользовательское значение алфавита «se,s,f».
toggleRestriction
— при желании попытайтесь ограничить количество включенных виджетов максимум одним или всегда одним.Примечание. Если используется «максимум один» или «всегда один», это применяется только при нажатии переключателя на этом узле; если узлы внутри групп изменяются без первоначального щелчка переключателя, то эти ограничения не будут применяться и могут привести к состоянию, когда включено более одного переключателя. Это также может произойти, если узлы перекрываются несколькими группами.
То же, что и Muter для быстрых групп выше, но для подключенных узлов устанавливается режим «Обход» вместо «Отключение звука».
Мощный узел «панели управления» для быстрого переключения подключенных узлов, позволяющий быстро отключить или включить их звук.
Дополнительная информация
- Добавьте коллекцию всех подключенных узлов, чтобы использовать единую точку в качестве «панели мониторинга» для быстрого включения и отключения узлов. Два отдельных узла; один для «отключения звука» подключенных узлов и один для «обхода» подключенных узлов.
То же, что и Fast Muter, но для подключенных узлов устанавливается режим «Обход».
О боже, этот узел позволяет вам полуавтоматизировать подключенные узлы и/или ConfyUI.
Дополнительная информация
- Подключите ноды и, как минимум, отключите, обходите или включите их при нажатии кнопки.
- Некоторые узлы предоставляют дополнительные действия. Например, для узла
Seed
вы можете установитьRandomize Each Time
илиUse Last Queued Seed
при нажатии кнопки.- Кроме того, в свойствах узла установите сочетание клавиш для переключения действий кнопок без необходимости щелчка!
Используемый для очистки лапши, он принимает любое количество входных узлов и передает их другому узлу.
️ В настоящее время это действительно должно быть подключено только к Fast Muter , Fast Bypasser или Mute/Bypass Relay .
Мощный узел, который будет отправлять свой режим Mute/Bypass/Active на все подключенные входные узлы или, если в группе нет каких-либо подключенных входов, будет отправлять свой режим Mute/Bypass/Active на все узлы в этой группе.
Дополнительная информация
Совет для профессионалов №1: Подключите выход этого узла к Fast Muter или Fast Bypasser , чтобы иметь там один переключатель, который может отключать/обходить/включать множество узлов одним щелчком мыши.
Совет для профессионалов № 2: Подключите узел реле отключения звука/обхода к входам этого узла, чтобы реле автоматически отправляло изменение отключения/обхода/включения репитера.
Расширенный узел, который при работе с повторителем отключения/обхода будет передавать режимы своих входных узлов (отключение звука, обход или активный) на подключенный репитер (который затем будет повторять это изменение режима на всех своих входах).
Дополнительная информация
- Когда все подключенные входные узлы отключены, реле отключит подключенный репитер (по умолчанию).
- Когда все подключенные входные узлы обойдены, реле установит подключенный повторитель в режим обхода (по умолчанию).
- Когда какие-либо подключенные входные узлы активны, реле переводит подключенный повторитель в активный режим (по умолчанию).
- Примечание. Если входы не подключены, реле переведет подключенный повторитель в свой режим при изменении его собственного режима . Обратите внимание : если какие-либо входы подключены, то будут выполнены указанные выше пункты, и режим реле не имеет значения.
- Совет для профессионалов: вы можете изменить, какие сигналы отправляются выше, в
Properties
. Например, вы можете настроить инверсное реле, которое будет отправлять сигнал MUTE, когда какой-либо из его входов активен (вместо отправки сигнала ACTIVE), и отправлять сигнал ACTIVE, когда звук на всех его входах отключен (вместо отправки сигнала MUTE). , и т. д.
Расширенный узел, используемый для случайного включения одного из своих входов, когда график поставлен в очередь (и немедленного отключения звука).
Дополнительная информация
- Примечание. Для запуска все входные узлы ДОЛЖНЫ быть отключены; в противном случае этот узел не будет случайным образом включать звук другого. (Это мощный инструмент, поскольку сгенерированное изображение можно перетащить, и выбранный вход уже будет включен и будет работать без каких-либо дальнейших действий.)
- Совет: Подключите выход повторителя к входу этого узла и поместите этот повторитель в группу без каких-либо других входов, и он отключит/включит звук всей группы.
Чисто визуальный узел, позволяющий добавить плавающую метку в ваш рабочий процесс.
Дополнительная информация
- Отображаемый текст является «заголовком» узла, и вы можете настроить размер шрифта, семейство шрифтов, цвет шрифта, выравнивание текста, а также цвет фона, отступы и радиус границы фона в свойствах узла. Вы можете дважды щелкнуть узел, чтобы открыть панель свойств.
- Совет для профессионалов №1: вы можете добавить многострочный текст с панели свойств (потому что ComfyUI позволяет нажимать клавиши Shift + Enter только там).
- Совет для профессионалов № 2: вы можете использовать встроенную опцию «закрепить» ComfyUI в контекстном меню, чтобы метка привязывалась к рабочему процессу и нажималась для «прохождения». Вы можете в любой момент щелкнуть правой кнопкой мыши, чтобы открепить.
- Совет для профессионалов №3: значения цвета представляют собой шестнадцатеричные строки, например «#FFFFFF» для белого или «#660000» для темно-красного. Вы можете указать 7-е и 8-е значения (или 5-е, если использовать сокращение), чтобы создать полупрозрачный цвет. Например, «#FFFFFF88» — полупрозрачный белый.
Большая часть мощи этих узлов исходит от Muting . Отключение звука является основой правильной реализации нескольких путей для рабочего процесса с использованием узла переключения контекста.
Хотя другие расширения могут предоставлять переключатели, они часто делают это неправильно, из-за чего ваш рабочий процесс выполняет больше работы, чем необходимо. Хотя другие переключатели могут иметь селектор для выбора входных данных для передачи, они не останавливают выполнение других входных данных, что приведет к напрасной трате работы. Вместо этого переключение контекста работает, выбирая первый непустой контекст для передачи и правильно. Приглушение — это один из способов сделать предыдущий узел пустым, и при правильной настройке не требуется выполнять дополнительную работу.
Отключение звука и, следовательно, использование переключателей часто может поначалу сбить с толку людей, потому что создается впечатление , что приглушение узла или использование переключателя должны иметь возможность остановить или направить прямой поток графа. Однако это не так и фактически график начинает работать в обратном направлении.
Если у вас есть рабочий процесс, который имеет путь типа ... > Context > KSampler > VAE Decode > Save Image
, поначалу может показаться , что вы должны иметь возможность отключить этот первый узел контекста, и график остановится на нем при движении вперед и пропустит остальная часть этого рабочего процесса.
Но вы быстро обнаружите, что это приведет к ошибке, поскольку график на самом деле не движется вперед. Когда рабочий процесс обрабатывается, он сначала движется назад, начиная с каждого «Выходного узла» (изображение предварительного просмотра, сохранение изображения, даже «строка отображения» и т. д.), а затем идет назад по всем возможным путям, чтобы добраться туда.
Итак, с помощью этого примера ... > Context > KSampler > VAE Decode > Save Image
приведенного выше, мы на самом деле хотим отключить нод Save Image
, чтобы остановить этот путь. Как только мы это сделаем, поскольку выходной узел исчезнет, ни один из этих узлов не будет запущен.
Давайте посмотрим на пример.
Используя переключатель контекста (голубой цвет на скриншоте), подавайте контекстные входные данные в порядке предпочтения. В приведенном выше рабочем процессе контекст Upscale Out
стоит первым, поэтому, если он включен, он будет выбран для вывода. В противном случае будет выбран второй входной слот, который поступает из контекста, перенаправленного сверху (перед стендом Upscaler).
Upscale Preview
находится после контекстного узла Upscale Out
, используя изображение из него вместо изображения из высококлассного VAE Decoder
. Это сделано специально, поэтому, когда мы отключаем контекст Upscale Out
, ни один из узлов Upscaler не будет работать, что сэкономит драгоценные циклы графического процессора. Если бы предварительный просмотр был подключен непосредственно к VAE Decoder
средство масштабирования всегда запускалось бы для создания предварительного просмотра, даже если бы у нас был отключен контекстный узел Upscale Out
. Теперь мы можем отключить узел контекста Upscale Out
отключив его. Выделите его и нажмите ctrl + m
Будет работать. При этом его вывод будет None, и он не будет передавать ничего на дальнейшие узлы. На диаграмме вы можете видеть, что Upscale Preview
красного цвета, но это нормально; фактических ошибок, которые могли бы остановить выполнение, нет.
Теперь давайте подключим его к узлу Fast Muter
. Узел The Fast Muter
работает как панель мониторинга, добавляя быстрые переключатели для любого подключенного узла (игнорируя перенаправление). На диаграмме у нас подключены как контекстный узел Upscaler Out
, так и контекстный узел Save File
. Таким образом, мы можем быстро включать и отключать их.
Наконец, и необязательно, вы можете увидеть Node Collector
. Если хотите, используйте его, чтобы очистить лапшу, и подключите его к глушителю. Вы можете подключить к нему что угодно, но это может нарушить выполнение вашего рабочего процесса.
rgthree-comfy добавляет в ComfyUI несколько улучшений, функций и оптимизаций, которые не связаны напрямую с узлами.
Минимальный индикатор выполнения, который проходит вдоль верхней части окна приложения и показывает размер очереди, текущий ход выполнения приглашения (в том же окне), а также ход выполнения многошаговых узлов.
Вы можете удалить/включить его в настройках rgthree-comfy, а также настроить высоту/размер.
? В новейшей версии ComfyUI больше нет плохой рекурсии выполнения! Эта функция была удалена из rgthree-comfy.
Иногда вам нужно просто поставить в очередь один или два пути к определенным выходным узлам, не выполняя весь рабочий процесс. Что ж, теперь вы можете сделать это, щелкнув правой кнопкой мыши выходной узел и выбрав
Queue Selected Output Nodes (rgthree)
.Дополнительная информация
Выберите выходные узлы, которые вы хотите выполнить.
Примечание. Захватываются и проходятся только выходные узлы, а не все выбранные узлы. Таким образом, если вы выберете выход И узел из другого пути, будет выполнен только путь, связанный с выходом, а не невыходные узлы, даже если они были выбраны.
Примечание. Весь рабочий процесс сериализуется, а затем мы отсекаем то, что нам не нужно для серверной части. Таким образом, такие вещи, как все начальные случайные/инкременты/декременты, будут выполняться, даже если этот узел не будет отправлен в конце и т. д.
(По умолчанию отключено на время эксперимента, включите в настройках rgthree-comfy) .
Автоматически обнаруживайте подкаталоги верхнего уровня в длинных комбинированных списках (например, Load Checkpoint) и разбивайте их на подкаталоги.
(По умолчанию отключено на время эксперимента, включите в настройках rgthree-comfy) .
Добавляет значки переключения отключения звука и/или обхода в правом верхнем углу заголовков групп для переключения одним щелчком мыши групп, которые вы, возможно, просматриваете в данный момент.
(По умолчанию отключено на время эксперимента, включите в настройках rgthree-comfy) .
Позволяет перетаскивать рабочий процесс изображения/JSON из предыдущего поколения и переопределять виджеты того же узла (которые соответствуют тому же идентификатору и типу). Это полезно, если у вас есть несколько поколений, использующих один и тот же общий рабочий процесс, и вы хотите импортировать только некоторые данные, например начальное значение предыдущего поколения, приглашение и т. д.
Щелчок правой кнопкой мыши по узлу с изображением должен иметь пункт контекстного меню «Копировать изображение», что позволит вам скопировать изображение прямо в буфер обмена.
? Я считаю, что эта проблема уже решена, и ComfyUI недавно добавила этот параметр. Вы не получите два пункта меню; мой код проверяет, что там еще нет элемента «Копировать изображение», прежде чем добавлять его.
Если в ваших рабочих процессах иногда отсутствуют соединения или даже возникают ошибки при загрузке, запустите ComfyUI и перейдите по адресу http://127.0.0.1:8188/rgthree/link_fixer, который позволит вам вставить изображение или json-файл рабочего процесса и проверить его наличие и исправьте все плохие ссылки.
Вы также можете включить проверку средства исправления ссылок в настройках rgthree-comfy, чтобы получить предупреждение, если вы загрузите рабочий процесс с неверными данными о ссылках для запуска.