Здравствуйте, дорогие друзья!
Наконец-то мы добрались до самого сложного, но в то же время и самого мощного и функционального интерфейса — ComfyUI.
В этом материале я постараюсь осветить основные аспекты, которые помогут вам начать работу с этим инструментом.
Что же такое ComfyUI? Это невероятно мощный инструмент для создания изображений и видео с помощью искусственного интеллекта с кардинально отличающимся и непривычным для большинства пользователей интерфейсом.
ComfyUI представляет собой графический интерфейс, основанный на узлах или, как все привыкли называть, нодах (nodes). По сути это виртуальный холст, на котором вы можете создавать уникальные процессы генерации изображений, соединяя различные элементы. Каждый из этих элементов выполняет свою функцию, создавая гармоничное целое. Если провести аналогию, то процесс создания изображения в ComfyUI можно сравнить с написанием визуального рецепта для вашего графического шедевра, созданного с помощью искусственного интеллекта!
Хотите создать изображение с нуля, используя текстовый запрос? Для этого есть специальный узел! Нужно загрузить определенную модель или применить определённый семплер или настроить уровень шума? Просто добавьте нужные узлы и наблюдайте за магией!
Самое замечательное в ComfyUI — это то, что он делит рабочий процесс на настраиваемые элементы. Это позволяет вам создавать свои уникальные рабочие процессы, которые соответствуют вашему творческому видению. Кроме того, в процессе использования ComfyUI вы научитесь понимать, как работает генерация в нейросети.
В готовых или "стандартных" интерфейсах по типу Stable Diffusion, Forge или Fooocus мы часто выполняем однотипные действия, не задумываясь о том, что происходит с нашим запросом и как генерируется изображение. Однако, работая в ComfyUI, вы сможете понять, как это работает, и узнать, через какие этапы проходит ваш запрос, прежде чем превратиться в изображение.
Чем же в общих чертах примечателен ComfyUI?
✅ Плюсы:
- Быстрый и эффективный: Работает быстро и без задержек.
- Гибкий: Легко настраивается под ваши нужды.
- Прозрачный: Поток данных виден и легко понимается.
- Удобный для обмена: Каждый файл — это воспроизводимый рабочий процесс.
- Отлично для прототипирования: Создание прототипов с помощью графического интерфейса, а не кода.
❌ Минусы:
- Непоследовательный интерфейс: Разные рабочие процессы могут иметь разную компоновку узлов.
- Слишком много деталей: Среднему пользователю может быть сложно разобраться во всех внутренних соединениях.
Я уже начал работу над статьёй о работе с браузерной версией интерфейса и написал большую её часть. Но разработчики решили выпустить настольную версию своего интерфейса.
После этого обновления я решил доработать готовую статью и написать обзор новой версии. Мне кажется, что она более удобна для новичков как в установке, так и в настройке. Интерфейс в этой версии более отзывчивый и оставляет положительные эмоции при работе.
По сложившейся традиции, мы обычно начинаем с того, что копируем или загружаем интерфейсы с хорошо известного нам GitHub. Но теперь нам не нужно заниматься копированием или загрузкой архивов. Всё стало гораздо легче.
Достаточно просто скачать обычный установочный файл, как вы делаете это для любой программы или игры. После этого нужно запустить файл и установить его в выбранную папку.
Чтобы загрузить установочный файл ComfyUI, перейдите на эту страницу и прокрутите её до конца. Если вам сложно ориентироваться в большом объёме информации или вы не хотите тратить время на поиск, то воспользуйтесь этой ссылкой.
Начнётся загрузка актуального на момент написания статьи установочного файла ComfyUI Setup 0.3.18 — x64.exe.
После завершения загрузки необходимо запустить этот файл, и на вашем компьютере начнётся процесс установки.
Для начала установки нажмите Get Started =>
Мастер установки информирует вас о том, что необходимо выбрать каталог для установки пользовательских данных ComfyUI. В этом каталоге будет создано изолированное виртуальное окружение Python.
Обратите внимание, что для установки потребуется примерно 15 гигабайт дискового пространства.
Важно отметить, что каталог, в который вы хотите поместить файлы, должен быть создан заранее вручную. В противном случае вы получите сообщение об ошибке, указывающее на отсутствие каталога.
Простой способ решения этой проблемы — до начала установки ComfyUI создать нужную папку на нужном диске, скопировать её полный путь и вставить его в это окно.
К сожалению, изменить расположение системных файлов в данный момент невозможно. Поэтому вам придётся выделить место на системном диске для ComfyUI.
Далее мастер установки предложит вам скопировать или привязать существующие пользовательские файлы (скриншот ниже) и модели из предыдущей версии ComfyUI к новой установке. Я бы не рекомендовал этого делать, поскольку после установки это можно будет сделать гораздо проще с помощью специальной программы Link Shell Extension и назначения символических ссылок или создания конфигурационного файла с прописанными путями к вашим моделям.
Откуда скачать, как установить и как пользоваться программой в последствии вы можете посмотреть в моей статье посвященной этой программе.
Обратите внимание!
Если вы установили ComfyUI Desktop, успели поработать с ним, загрузить модели в папку models или создать символические ссылки на все ваши модели, но по какой-то причине решили удалить или переустановить программу, то важно сделать это правильно.
Удалить ComfyUI Desktop можно через меню «Установка и удаление программ» в Windows или из папки ComfyUI, найдя там файл «uninstall ComfyUI.exe». Не рекомендуется использовать сторонние программы для удаления, так как это может привести к потере всех скачанных моделей, а так же, перед деинсталляцией удалите все ранее созданные символические ссылки.
После удаления перейдите по следующему пути: c:\Users\*имя пользователя*\AppData\Local\Programs\ и проверьте, все ли файлы были удалены с вашего диска. Возможно, после удаления останется папка с именем @comfyorgcomfyui-electron.
После завершения проверки можно заново устанавливать программу.
Расширенную информацию по полному удалению всех версий ComfyUI вы сможете почитать по этой ссылке и там же сможете скачать приложение, которое сделает всё за вас, оно найдет все установки ComfyUI и все файлы и записи которые как то с ними связаны и автоматически удалит по вашему запросу. Еще это приложение поможет вам очистить или перенести кэши PIP, PYTHON и HF (hugging face) с системного диска на любой другой и автоматически исправит пути в системных переменных.
Если же у вас это первая\чистая установка ComfyUI, то лучше ничего не указывать и пропустить этот пункт.
После этого мастер установки предложит активировать или деактивировать функции автоматического обновления и отправки отчётов разработчикам. В любом случае, рекомендуется включить обновление. Что касается отправки отчётов, то это ваше решение.
После того как вы нажмёте кнопку «Install», на экране появится окно терминала, и вы сможете наблюдать за тем, как происходит загрузка и установка необходимых для работы компонентов.
После скачивания и установки расширений и зависимостей откроется уже знакомый интерфейс ComfyUI.
Прежде чем начать использовать ComfyUI, необходимо настроить пути к моделям на диске с достаточным объёмом свободного пространства. Для этого можно воспользоваться программой Link Shell Extension или вручную прописать пути, использовав в качестве примера специально созданный для этих целей файл extra_model_paths.yaml.example, который находится в корневой директории ComfyUI. (после того как вы пропишете свои пути в файле необходимо переименовать его в extra_model_paths.yaml)
Чтобы узнать расположение установленного ComfyUI, нужно нажать правой кнопкой мыши на ярлык и выбрать пункт «Расположение файла».
C:\Users\*имя пользователя*\AppData\Local\Programs\@comfyorgcomfyui-electron\resources\ComfyUI.
Однако, если вы читаете эту статью, то вы недавно общаетесь с нейросетями и интерфейсом ComfyUI и вероятно, у вас могут возникнуть вопросы о том, как это, вручную отредактировать файл и что туда писать. Чтобы не тратить время на поиски решения, вы можете перейти на мой бусти и скачать рабочий файл конфигурации для (только) ComfyUI. После этого отредактируйте в файле пути, указав свои имена дисков и названия директорий, и поместите файл в корневую директорию ComfyUI (если и с этим у вас возникнут сложности, можете написать мне в телеграмм, я постараюсь помочь).
После того, как вы правильно пропишете местонахождение ваших моделей, они будут доступны в ComfyUI при выборе в узле модели, лоры или апскейлера.
Теперь вернемся к нашему интерфейсу.
Визуальные изменения минимальны. Те, кто уже какое то время использует обновлённую браузерную версию интерфейса, не заметят никаких отличий, кроме встроенного по умолчанию ComfyUI Manager. Да-да, теперь его не нужно устанавливать отдельно.
Давайте начнем ознакомление по порядку.
Меню "Workflow":
- New - Создание нового рабочего процесса. Позволяет начать новый проект с чистого листа.
- Open (Ctrl + o) - Открытие существующего рабочего процесса. Позволяет загрузить ранее сохраненный рабочий процесс.
- Browse Templates - Просмотр шаблонов. Позволяет пользователю просматривать и выбирать из готовых шаблонов рабочих процессов, что может ускорить начало работы.
- Save (Ctrl + s) - Сохранение текущего рабочего процесса. Позволяет сохранить текущий проект на диск.
- Save As - Сохранение текущего рабочего процесса под новым именем. Если нужно создать копию текущего проекта с другим именем.
- Export - Экспорт текущего рабочего процесса. Позволяет экспортировать рабочий процесс в формат, который можно использовать в других системах или для обмена с другими пользователями.
- Export (API) - Экспорт текущего рабочего процесса через API. Служит для интеграции с другими программными системами или для автоматизации процессов.
Меню "Edit":
- Undo - Отмена последнего действия. Позволяет отменить последнее выполненное действие, полезно для исправления ошибок.
- Redo - Повтор последнего отмененного действия. Позволяет вернуть действие, которое было отменено с помощью опции "Undo".
- Refresh Node Definitions - Обновление определений узлов. Обновляет определения всех узлов в рабочем процессе, что удобно при добавлении или изменении пользовательских узлов.
- Clear Workflow - Очистка рабочего процесса. Удаляет все элементы текущего рабочего процесса, оставляя чистый холст для новой работы.
- Clear Backspace - Очистка с использованием клавиши Backspace. Альтернативный способ очистки рабочего процесса или его частей с помощью клавиши Backspace на клавиатуре.
- Clipspace - Буфер обмена. Позволяет работать с буфером обмена, что может включать копирование, вставку и управление элементами рабочего процесса.
Меню "Help":
- ComfyUI Issues - Проблемы ComfyUI. Перенаправляет пользователя на страницу с известными проблемами или баг-трекером, где можно найти информацию о текущих проблемах и их решениях.
- ComfyUI Docs - Документация ComfyUI. Отправит вас к официальной документации, где можно найти подробные руководства, инструкции и справочную информацию по использованию ComfyUI.
- Comfy-Org - Ссылка на ресурс ведет на страницу разработчиков Comfy, где можно найти информацию о проекте, его участниках и других связанных ресурсах.
- Feedback - Обратная связь. Позволяет пользователям оставить обратную связь о работе ComfyUI, предложить улучшения или сообщить о проблемах.
- Open DevTools - Открыть инструменты разработчика. Открывает встроенные инструменты разработчика, которые могут быть полезны для отладки и анализа работы приложения.
- Open Folder - Открыть папку. Открывает папку, в которой хранятся файлы и данные, связанные с ComfyUI. Удобно при необходимости просмотреть логи.
- Reinstall - Переустановить. Позволяет переустановить ComfyUI, что может быть полезно для исправления проблем или обновления до последней версии.
В дополнительном боковом меню вы найдёте несколько иконок:
- ВКЛАДКА "ОЧЕРЕДЬ" - это раздел интерфейса, где отображаются все задачи на генерацию изображений, которые пользователь поставил в очередь.
- ВКЛАДКА "БИБЛИОТЕКА УЗЛОВ" - это раздел интерфейса, где отображаются все доступные узлы (nodes), которые можно использовать для создания рабочих процессов (workflows).
- Поле поиска: "Поиск узлов..." - поле для ввода текста, позволяющее пользователю искать конкретные узлы по названию или ключевым словам.
- Иконка фильтра: кнопка для фильтрации узлов по различным параметрам, таким как категория или функциональность.
- Категории узлов: узлы сгруппированы по категориям для удобства навигации. Каждая категория содержит определенные узлы, которые можно использовать в рабочих процессах.
3. ВКЛАДКА "БИБЛИОТЕКА МОДЕЛЕЙ" - это раздел интерфейса, где отображаются все доступные модели, которые можно использовать для создания рабочих процессов (workflows).
- Поле поиска: "Поиск моделей..." - поле для ввода текста, позволяющее пользователю искать конкретные модели по названию или ключевым словам.
- Иконка фильтра: кнопка для фильтрации моделей по различным параметрам, таким как категория или функциональность.
Модели сгруппированы по категориям для удобства навигации. Каждая категория содержит определенные модели, которые можно использовать в рабочих процессах.
4. ВКЛАДКА "РАБОЧИЕ ПРОЦЕССЫ" - это раздел интерфейса, где отображаются все доступные рабочие процессы (workflows), которые можно создавать, редактировать и запускать.
- Поле поиска: "Поиск рабочих процессов..." - поле для ввода текста, позволяющее пользователю искать конкретные рабочие процессы по названию или ключевым словам.
- Browse: кнопка для просмотра доступных шаблонов рабочих процессов.
- Иконка сетки: режим отображает стандартные шаблоны рабочих процессов.
- Иконка папки: режим позволяет просмотреть и загрузить рабочие пространства на локальном диске.
- Иконка добавления: кнопка для создания нового рабочего процесса.
Основное пространство - здесь будут отображаться все доступные рабочие процессы. В данный момент оно пусто, что указывает на отсутствие созданных или сохраненных рабочих процессов.
Чтобы изменить внешний вид экрана, просто нажмите на этот значок. Вы можете выбрать между тёмным и светлым режимами.
Перейдём к настройкам. Нет смысла подробно описывать их, поскольку по мере использования ComfyUI ваш интерфейс будет становиться всё более насыщенным различными дополнениями и расширениями, которые также будут иметь свои настройки в общем меню.
Невозможно описать все настройки, поскольку у каждого пользователя свои предпочтения и он использует разные расширения. Я коснусь лишь некоторых наиболее часто задаваемых вопросов, связанных с настройками в ComfyUI.
1. Многим не нравится внешний вид их рабочих пространств из-за «неряшливого» размещения линий, которые будут использованы для соединения узлов в процессе создания рабочего пространства.
Для того чтобы изменить внешний вид на более эстетичный, необходимо в настройках в пункте LiteGraph-Graph-Link Render Node изменить Spline на Straight или выбрать любой другой из предложенных вариантов.
Но предупрежу сразу, для новичков при таком (Straight) оформлении намного сложнее разобраться, что и куда у вас подключено.
2. Если вам не нравится расположение кнопок и элементов, изменить расположение вы всегда можете в настройках - Comfy - Menu - Use new menu
Далее на очереди у нас ComfyUI Manager. Давайте рассмотрим его возможности и поймем, что можно менять, а что лучше оставить как есть. Чтобы открыть менеджер, нажмите на кнопку: "Manager"
Если вы новичок, и не понимаете что это всё означает:
Левая колонка:
- skip update check - позволяет пропустить проверку обновлений. Если она отмечена, система не будет проверять наличие новых версий ComfyUI.
- DB: Channel (1day cache) - выбор канала для базы данных с кэшированием на 1 день. Ускоряет загрузку данных, так как они будут храниться локально в течение дня.
- Channel: default - выбор канала по умолчанию, это основной канал для получения обновлений и данных.
- Preview method: None (very fast) - метод предварительного просмотра генерируемых изображений, установлен на "None". Т.е интерфейс не будет предоставлять предпросмотр изображения при генерации.
- Default UI: None - интерфейс по умолчанию не выбран и вы можете выбрать оформление интерфейса вручную или оставить всё как есть.
- Share: All - опция для совместного использования всех данных. Может быть полезно для работы в команде или для обмена данными с другими пользователями.
- Component: Use workflow version - использование версии компонента рабочего процесса. Т.е будет использоваться версия компонента, соответствующая вашему текущему рабочему процессу.
- Double-Click: Copy All Connections - двойной клик копирует все соединения. Полезно для быстрого копирования настроек и соединений между различными частями интерфейса.
- EXPERIMENTAL - экспериментальные функции. Экспериментальные функции могут быть нестабильными и предназначены для тестирования и не подходят для неопытных пользователей.
- Unload models - кнопка для выгрузки моделей. Утилита для освобождения памяти или для перезагрузки моделей (на момент написания статьи функция экспериментальная и соответственно может работать нестабильно).
Если вы вносите изменения в эту колонку, фиксируйте изменения, чтобы в дальнейшем не пришлось переустанавливать интерфейс.
Центральная колонка:
- Custom Nodes Manager - менеджер пользовательских узлов. Позволяет управлять пользовательскими узлами, которые могут быть добавлены в систему.
Рассмотрим на примере установки очень полезного расширения, которое будет отображать использование вашей видеопамяти и нагрузку на компьютер в целом.
Для установки расширения Crystools необходимо ввести его название в поле поиска и нажать «Install». После завершения установки необходимо перезагрузить интерфейс, нажав на кнопку «Restart».
После загрузки интерфейса вы увидите индикацию нагрузки на ваш ПК:
Аналогичным образом можно установить любое другое требуемое расширение. Для этого нужно ввести его название в строке поиска, выбрать из списка и нажать «Install».
2. Install Missing Custom Nodes - установка отсутствующих пользовательских узлов. Это тот случай, когда вы скачав откуда либо готовый workflow и загрузив его в свой ComfyUI, видите красные узлы в пространстве.
Перейдите в менеджер, поставьте галочку в вернем чекбоксе, выделятся все необходимые для установки расширения и нажмите "Install".
После окончания установки перезапустите ComfyUI.
3. Model Manager - Менеджер моделей. Позволяет управлять моделями.
4. Install via Git URL - Установка через Git URL. Позволяет установить модели или узлы, указав URL-адрес репозитория Git (на момент написания статьи не работает).
Иногда в менеджере ComfyUI нет нужного расширения или оно не устанавливается. В таком случае скопируйте URL с GitHub и вставьте его в это поле.
5. Update All Nodes - Обновление всех узлов. Это обновит все узлы до последних версий.
6. Fetch Updates - Получение обновлений. Это проверит наличие новых обновлений для всех узлов и моделей.
7. Restart - Перезапуск системы. Это перезапустит ComfyUI, что может быть полезно после установки или обновления узлов и моделей.
Правая колонка:
- Community Manual - Руководство сообщества. По сути это ссылка на документацию, форум и ресурсы где вы можете найти дополнительную информацию и помощь.
- Nodes Info - Информация об узлах. В этом разделе отображается информация о текущем состоянии узлов.
Надеюсь, вам всё ясно в отношении работы с менеджером и с интерфейсом в общем. Без внимания остались только иконки в верхнем правом углу, рядом с кнопкой менеджера. Что они означают?
Две иконки, похожие на пылесосы, отвечают за очистку памяти от моделей и кэша узлов. Рядом с ними находится кнопка в виде стрелки, которая позволяет делиться своими работами на разных платформах.
Затем следует иконка монитора, при нажатии на которую открывается окно нужного и полезного терминала и окно логов. Поскольку привычной командной строки, как в браузерной версии ComfyUI, больше нет, всю информацию можно просматривать только здесь.
В терминале и логах можно увидеть, что происходит при генерации, а также прочитать об ошибках, которые возникли при этом.
В этой статье мы обсудили все аспекты интерфейса. В правой нижней части экрана расположена панель навигации, но, полагаю, вы сможете разобраться с ней самостоятельно.
На этом я заканчиваю, статья и так получилась довольно объёмной. В следующей статье мы попробуем создать пространство для генерации изображения с нуля и подробно рассмотрим, как правильно организовать рабочее пространство.
Ну и конечно же, если вам понравилась эта статья, буду рад вашим подпискам, комментариям и лайкам. Недавно я запустил Discord-канал и постараюсь поддерживать его насколько возможно, там вы сможете не только следить за новостями, но и общаться, делиться опытом и приобретать новые знания о нейросетях. Чтобы всегда быть в курсе моих новых материалов, подписывайтесь на мой Boosty, Telegram-канал и страницу "ВКонтакте". Пока что нас немного, но я надеюсь, что с течением времени сообщество станет больше. Это станет отличной мотивацией для меня активно работать и над другими социальными сетями.