Содержание
  1. Учебное задание и два полных positive-промпта
  2. Параметры модели и одного контролируемого сравнения
  3. Вес относится к CLIP-парсеру
  4. Эталон задания и четыре условия приёмки
  5. Как проверить правку и не обобщать синтаксис
  6. Частые вопросы
Справочник

Промпты для ComfyUI: пример для CLIP и проверка правки

5 ноября 2026 · 8 минут чтения

Промпты для ComfyUI: пример для CLIP и проверка правки строятся вокруг одного учебного задания — красная керамическая кружка на светло-сером столе. Ниже два полных positive-промпта, полный negative, параметры модели, разбор веса CLIP-парсера и таблица приёмки с четырьмя условиями. Всё это работает в стандартном text-to-image workflow со Stable Diffusion 1.5 и узлами CLIPTextEncode.

Учебное задание и два полных positive-промпта

Эталон задания: один красный керамический стакан-кружка с одной небольшой круглой ручкой на пустом светло-сером столе. В кадре нет надписей, людей и других предметов. Эталон описывает желаемый результат учебного задания. Автор статьи генерацию не запускал.

Положительный промпт A — базовый вариант без весов:

ТЕКСТ
product photograph of a single matte red ceramic cup with one small round handle, centered on a plain light gray table, soft daylight from the left, three-quarter view, realistic ceramic surface, no print on the cup

Положительный промпт B отличается ровно одной группой: объект взят в скобки с весом.

ТЕКСТ
product photograph of a single (matte red ceramic cup:1.2) with one small round handle, centered on a plain light gray table, soft daylight from the left, three-quarter view, realistic ceramic surface, no print on the cup

Полный отрицательный промпт одинаков для обоих вариантов:

ТЕКСТ
text, letters, watermark, extra cups, duplicate handles, hands, people, flowers, cluttered background

Разбор промпта A по смысловым блокам. Объект — single matte red ceramic cup. Видимые признаки — one small round handle и realistic ceramic surface. Окружение — plain light gray table. Свет — soft daylight from the left. Ракурс — three-quarter view. Отрицательный промпт перечисляет нежелательные признаки: надписи, лишние кружки, вторые ручки, руки, людей, цветы, замусоренный фон. Он задаёт то, чего вы не хотите видеть, и не гарантирует отсутствия этих признаков в кадре.

Промпт B меняет одну группу веса, остальной текст совпадает посимвольно. Это и есть контролируемая правка: между A и B отличается только фрагмент matte red ceramic cup → (matte red ceramic cup:1.2).

Параметры модели и одного контролируемого сравнения

Для сравнения зафиксируйте один набор настроек. Размер — 512×512, batch_size — 1, seed — 17429. Steps — 20, cfg — 7, sampler — euler, scheduler — normal, denoise — 1.0. Эти числа задают один учебный сценарий.

Модель — файл v1-5-pruned-emaonly-fp16.safetensors, который указан в текущей официальной First Generation на docs.comfy.org. Базовая цепочка узлов: Load Checkpoint → положительный и отрицательный CLIP Text Encode → KSampler с Empty Latent Image → VAE Decode → Save Image.

Параметр Значение Почему фиксируем
Размер 512×512 Одинаковый кадр у A и B
batch_size 1 Одна картинка на вариант
seed 17429 Один и тот же шум у A и B
steps 20 Одинаковая длина сэмплинга
cfg 7 Одинаковое следование промпту
sampler euler Один алгоритм у обоих вариантов
scheduler normal Одно расписание шума
denoise 1.0 Полная перерисовка из латента

Порядок действий для контролируемого сравнения:

  1. Загрузите workflow и выберите в Load Checkpoint файл v1-5-pruned-emaonly-fp16.safetensors. Если узел показывает пустой список или null, проверьте папку ComfyUI/models/checkpoints и обновите список клавишей R.
  2. Впишите промпт A в положительный CLIP Text Encode, отрицательный промпт — в отрицательный узел.
  3. Выставьте параметры из таблицы и запустите генерацию кнопкой Run или сочетанием Ctrl + Enter.
  4. Сохраните workflow и результат A.
  5. Замените в положительном узле matte red ceramic cup на (matte red ceramic cup:1.2), остальные символы оставьте без изменений.
  6. Запустите генерацию с теми же параметрами и сохраните результат B.

Между вариантами не меняйте модель, граф узлов, seed и окружение. Фиксированный seed задаёт одинаковый стартовый шум, а побитовое совпадение между разным железом и версиями ComfyUI он не обещает. Сравнение оценивает одну правку только тогда, когда всё остальное осталось прежним.

Если поменялись модель, seed или размер, вы сравниваете уже два разных сценария. Тогда вывод о влиянии веса сделать нельзя: различие в картинках может прийти из любого изменённого параметра.

Вес относится к CLIP-парсеру

В текущем core-файле comfy/sd1_clip.py функция token_weights разбирает скобки. Для одиночной группы с явным числом она присваивает этой текстовой группе указанный вес: (matte red ceramic cup:1.2) получает вес 1.2. Без числа внутри скобок вес умножается на 1.1.

Дальше encode_token_weights применяет веса к эмбеддингам. Для веса, отличного от1.0, код вычитает пустой эмбеддинг, умножает разность на вес и прибавляет пустой эмбеддинг обратно. Это математика условия в пространстве эмбеддингов CLIP.

Что означает :1.2 Что :1.2 не означает
Вес текстовой группы в CLIP-парсере Вероятность получить нужный кадр
Множитель отклонения эмбеддинга от пустого Процент насыщенности красного
Управление силой условия для модели Гарантию одной кружки в кадре

Модель получает усиленный сигнал по этой группе слов, а как именно он проявится в пикселях, зависит от чекпоинта, сэмплера и seed.

Вложенные веса, комментарии и случайные варианты синтаксиса в этом примере не используются. Их поведение задаётся конкретным расширением или парсером, поэтому переносить его на любой workflow нельзя. Для учебного сравнения достаточно одной группы с одним числом.

Отрицательный промпт веса не получает: он остаётся одинаковым у A и B. Так вы сохраняете единственное отличие между вариантами.

Эталон задания и четыре условия приёмки

Эталон — словесное описание, по которому вы принимаете или отклоняете результат. Одна красная керамическая кружка, одна небольшая круглая ручка, пустой светло-серый стол, отсутствие надписей, людей и других предметов.

Проверка Условие зачёта Что делать при отказе
Объект и количество Ровно одна кружка Не принимать кадр; сверить выбранные positive и negative узлы
Форма Видна одна ручка, нет второй ручки или сросшегося предмета Отклонить результат; не объявлять вес исправлением геометрии
Сцена Пустой светло-серый стол, нет цветов, людей, читаемой надписи Уточнить один смысловой блок, остальные параметры оставить
Контроль изменения В сохранённых A и B отличаются только скобки и вес, seed одинаковый Если менялись модель, seed или размер, сравнение не оценивает одну правку

Четыре условия приёмки работают как фильтр. Первое — количество объектов. Второе — форма и ручка. Третье — чистота сцены. Четвёртое — чистота самого эксперимента.

Первая конкретная проверка идёт до генерации: сверьте A и B посимвольно. Единственная замена — matte red ceramic cup → (matte red ceramic cup:1.2). Если находится ещё одно отличие, верните текст к исходному виду.

Вторая проверка идёт после прогона: заполните три визуальных признака «одна кружка», «одна ручка», «чистая сцена» для A и для B. Признак отмечается по кадру.

Если B не прошёл проверку, он не считается улучшением. Вернитесь к A или измените один смысловой блок и повторите сравнение. Автор статьи генерацию не запускал и заранее не утверждает, какой вариант победит: результат зависит от вашего окружения.

Для повторяемой постановки сначала полезнее ручной маршрут с одной правкой. Автоматическое расширение промпта добавляет новые слова и меняет несколько условий одновременно, поэтому чистое сравнение веса в нём размывается.

Как проверить правку и не обобщать синтаксис

Проверка правки держится на трёх опорах: сохранённый workflow, посимвольная сверка промптов и таблица признаков. Сохраните оба варианта вместе с настройками, чтобы вернуться к ним через день и увидеть, что именно отличалось.

Порядок проверки:

  1. Откройте сохранённый workflow A и workflow B рядом.
  2. Сравните положительные узлы: отличие должно быть одно.
  3. Сравните узлы Load Checkpoint, KSampler и Empty Latent Image: значения совпадают.
  4. Отметьте три визуальных признака в каждом кадре.
  5. Запишите вывод: прошёл B условия приёмки или нет.

Синтаксис веса в этом примере относится к стандартному text-to-image workflow с CLIPTextEncode и моделью Stable Diffusion 1.5. Другие процессы с иными текстовыми энкодерами обрабатывают промпт своим парсером, поэтому переносить поведение скобок и чисел на них без отдельной проверки нельзя.

Практический вывод для читателя: одна правка веса проверяется только при зафиксированных остальных параметрах. Вес управляет силой текстовой группы в CLIP-парсере. Приёмка идёт по видимым признакам эталона.

Частые вопросы

Как правильно писать промпты для ComfyUI?
Пишите промпт смысловыми блоками: объект, его видимые признаки, окружение, свет, ракурс. В положительный узел CLIP Text Encode идёт описание желаемого кадра, в отрицательный — перечень нежелательных признаков. Разделяйте блоки запятыми и держите один объект в центре описания.

Что означает вес в скобках, например :1.2?
В текущем core-парсере comfy/sd1_clip.py скобки с числом присваивают текстовой группе указанный вес. Это множитель условия в пространстве эмбеддингов CLIP. Число не задаёт процент цвета и не выражает вероятность получить нужный кадр.

Как сравнить две правки промпта между собой?
Зафиксируйте модель, seed, размер, steps, cfg, sampler, scheduler и denoise. Меняйте ровно один фрагмент промпта. Сохраните оба workflow и сверьте положительные узлы посимвольно, чтобы отличий было одно.

Почему при одинаковом seed картинки всё равно различаются?
Seed задаёт стартовый шум, а на результат влияют версия ComfyUI, чекпоинт, драйверы и железо. Побитовое совпадение между разными окружениями не гарантируется. Для честного сравнения держите одно окружение и не меняйте его между вариантами.

Можно ли перенести этот синтаксис на другие модели?
Пример относится к стандартному text-to-image workflow со Stable Diffusion 1.5 и узлами CLIPTextEncode. Процессы с другими текстовыми энкодерами обрабатывают промпт своим парсером. Перед переносом скобок и весов проверьте поведение на своей модели отдельным прогоном.

Читайте также

3 материала