Субграфы
Субграф это несколько нод, свёрнутых в один блок. На холсте он выглядит как одна нода со своими входами и выходами, а внутри это обычный граф. Субграф помогает спрятать понятную часть или использовать одну и ту же часть несколько раз. ComfyUI читает субграфы из workflow формата 1. Основы: Ноды и связи.
<!-- picture: блок-субграф на основном холсте и рядом его внутренность с краями входов и выходов -->Как сделать
- Выделите ноды (
Shift+щелчок илиCtrl+щелчок, или рамка сShift). - Граф ▸ Собрать субграф из выделенного (
Ctrl+G) или правый щелчок по одной из них ▸ Собрать субграф из выделенного. - На их место встанет блок «Субграф». Связи, которые пересекали край выделения, станут входами и выходами блока.
- Переименуйте его в Свойствах: Имя субграфа, Сохранить имя.
Только на основном холсте, не внутри другого субграфа.
Как войти и выйти
- Нажмите Открыть на блоке, или правый щелчок по нему ▸ Открыть субграф, или выделите его и нажмите Открыть субграф в «Свойствах».
- Сверху появится путь: Весь граф › имя субграфа. Щёлкните Весь граф, нажмите На уровень выше или
Escape, чтобы выйти. - Внутри видна строка: «Внутри субграфа: изменения действуют во всех его копиях. Протяните связь к пустому месту на краю, чтобы добавить вход или выход субграфа.»
Как править внутренность
Внутри субграфа ноды добавляют, соединяют, настраивают и удаляют так же, как на основном холсте. По краям стоят две особые ноды: Входы субграфа слева и Выходы субграфа справа.
- Добавить вход: протяните связь от внутреннего входа к пустому месту Новый вход у Входов субграфа. Добавить выход: от внутреннего выхода к Новый выход.
- Или правый щелчок по внутреннему порту ▸ Сделать входом субграфа / Сделать выходом субграфа.
- Переименовать вход или выход: дважды щёлкните его имя на краевой ноде (Enter сохраняет, Esc отменяет) или переименуйте в «Свойствах» (Входы и выходы).
- Убрать: правый щелчок по нему на краю ▸ Убрать этот вход или выход субграфа.
Копии
Ещё копии вставляются с вкладки Субграфы библиотеки (Вставить) или правым щелчком по пустому месту ▸ Вставить субграф. У всех копий одна внутренность: изменение внутри одной меняет все. Субграф может содержать другой субграф, но не самого себя: «Субграф нельзя положить внутрь самого себя, ни сразу, ни через другой субграф.»
Как отменить субграф
Выделите блок ▸ Граф ▸ Разобрать субграф (или Разобрать в «Свойствах», или правый щелчок ▸ Разобрать субграф). Его ноды вернутся на основной холст. Или просто Ctrl+Z сразу после сборки.
Ограничения
- Помощник строит только на основном холсте. Если вы внутри субграфа, когда он начинает, холст вернётся: «Помощник строит на основном холсте, поэтому холст вернулся на него.»
- Уроки тоже идут на основном холсте.
- В workflow старого формата (0.4) субграф сделать нельзя. Приложение скажет: «Этот workflow в старом формате ComfyUI, в нём нет субграфов. Выделите ноды, скопируйте их (Ctrl+C), создайте новый проект (Файл > Новый проект) и вставьте их туда (Ctrl+V): в новом проекте субграфы работают.» Workflow, сохранённые свежим ComfyUI, и каждый новый проект имеют формат 1.
- Отметки, которые проверка ставит на ноды, внутри субграфа не показываются.
Поля субграфа из workflow
Автор субграфа в ComfyUI может вынести некоторые поля внутренних нод на сам блок. Когда вы открываете такой workflow, блок показывает эти поля под заголовком Поля субграфа, в порядке файла, на холсте и в «Свойствах». Правка здесь сохранится в workflow для ComfyUI: поле копии уходит в эту копию, поле внутренней ноды уходит в эту ноду. На блоке длинный промпт показан строкой в одну линию; полное поле есть в «Свойствах».