# Відтворення робочого процесу в інтерфейсі

Цей план описує оригінальний граф v1. Створіть вузли, знайшовши їхній технічний ідентифікатор у ComfyUI. Перекладені назви можуть відрізнятися. Числа в дужках — це ідентифікатори з наданого JSON, корисні для читання його зв'язків; інтерфейс може призначити інші числа під час ручного відтворення.

## Спільні вузли

| Ідентифікатор | Тип core | Налаштування | Використані виходи |
| --- | --- | --- | --- |
| 1 | CheckpointLoaderSimple | sd_xl_base_1.0.safetensors | MODEL, CLIP, VAE |
| 2 | EmptyLatentImage | width 1024, height 1024, batch_size 1 | LATENT |
| 3 | CLIPTextEncode | `negative_prompt` з маніфесту | CONDITIONING |

З'єднайте CLIP завантажувача (1, слот 1) з входом clip негативного тексту (3, слот 0).

## Три гілки для створення

| Варіант | Позитивний текст | KSampler | VAEDecode | SaveImage |
| --- | --- | --- | --- | --- |
| A, фронтальний | 4 | 5 | 6 | 7 |
| B, бічний | 8 | 9 | 10 | 11 |
| C, контрове світло | 12 | 13 | 14 | 15 |

Скопіюйте повний `prompt` кожного варіанта у відповідний позитивний CLIPTextEncode. Усі три тексти мають спільний префікс `common_positive_prompt`, а потім фразу `light`. Спільний негативний текст не змінюється.

Для **кожної** гілки виконайте ці вісім з'єднань:

1. CLIP завантажувача → clip позитивного тексту.
2. MODEL завантажувача → model KSampler.
3. CONDITIONING позитивного тексту → positive KSampler.
4. CONDITIONING спільного негативного тексту → negative KSampler.
5. LATENT спільного порожнього латенту → latent_image KSampler.
6. LATENT KSampler → samples VAEDecode.
7. VAE завантажувача → vae VAEDecode.
8. IMAGE VAEDecode → images SaveImage.

Разом: 1 спільне з'єднання + 3 × 8 = **25 з'єднань**. Вузол 0.37.0 SaveImage також має вихід IMAGE; залиште його непід'єднаним. Жоден зовнішній вузол і жодне захоплення вхідного зображення не потрібні.

## Параметри трьох KSampler

| Віджет | Значення |
| --- | --- |
| seed | 24092026 |
| control_after_generate | fixed |
| steps | 24 |
| cfg | 6.5 |
| sampler_name | euler |
| scheduler | normal |
| denoise | 1.0 |

У JSON UI 0.4 `widgets_values` дотримується цього порядку: `[24092026, "fixed", 24, 6.5, "euler", "normal", 1.0]`. Контроль `fixed` — це віджет інтерфейсу, доданий до seed; це не додатковий аргумент функції Python `sample`.

З'єднані входи KSampler дотримуються порядку `model`, `positive`, `negative`, `latent_image`. Виходи завантажувача дотримуються `MODEL`, `CLIP`, `VAE`. Ця відмінність між віджетами та портами дозволяє уникнути зсуву значень у JSON, написаному вручну.

## Назви виходів і контроль

Введіть у кожному SaveImage його `output_prefix` з маніфесту. Префікси різні, щоб виходи не стали анонімною серією. Остаточна нумерація керується ComfyUI.

Збережіть ваше відтворення в новому JSON. Ідентифікатори та позиції можуть відрізнятися від тих, що в теці; наданий валідатор, навмисно суворий, приймає лише ідентифікатори рецепта v1. Тоді візуально порівняйте ланцюг і параметри, а потім підтвердьте генерацію у вашому середовищі. Сама лише схема UI не доводить ні наявності моделі, ні успішності обчислення.

Джерела: [визначення вузлів 0.37.0](https://github.com/Comfy-Org/ComfyUI/blob/73c9bad4d21e7addbe1d13bc92eee0f1431b017d/nodes.py), [контроль значень фронтенду 1.52.7](https://github.com/Comfy-Org/ComfyUI_frontend/blob/1a7a6b82514874545dc5e8203d0bd2188c2d9b18/src/scripts/widgets.ts), [схема UI 0.4](https://docs.comfy.org/specs/workflow_json_0.4).
