# De workflow opnieuw opbouwen in de interface

Dit plan beschrijft de originele graaf v1. Maak de nodes aan door hun technische identificatie in ComfyUI te zoeken. Vertaalde labels kunnen afwijken. De getallen tussen haakjes zijn de identificaties uit de meegeleverde JSON, handig om de verbindingen te lezen; de interface kan tijdens een handmatige reconstructie andere nummers toekennen.

## Algemene nodes

| Identificatie | Type core | Instelling | Gebruikte uitgangen |
| --- | --- | --- | --- |
| 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` uit het manifest | CONDITIONING |

Verbind CLIP van de loader (1, slot 1) met de clip-ingang van de negatieve tekst (3, slot 0).

## Drie takken om aan te maken

| Variant | Positieve tekst | KSampler | VAEDecode | SaveImage |
| --- | --- | --- | --- | --- |
| A, frontaal | 4 | 5 | 6 | 7 |
| B, zijaanzicht | 8 | 9 | 10 | 11 |
| C, tegenlicht | 12 | 13 | 14 | 15 |

Kopieer de volledige `prompt` van elke variant naar de bijbehorende positieve CLIPTextEncode. De drie teksten delen het voorvoegsel `common_positive_prompt` en daarna de zin `light`. De gemeenschappelijke negatieve tekst verandert niet.

Maak voor **elke** tak deze acht verbindingen:

1. CLIP van de loader → clip van de positieve tekst.
2. MODEL van de loader → model van de KSampler.
3. CONDITIONING van de positieve tekst → positive van de KSampler.
4. CONDITIONING van de gemeenschappelijke negatieve tekst → negative van de KSampler.
5. LATENT van de gemeenschappelijke lege latent → latent_image van de KSampler.
6. LATENT van de KSampler → samples van VAEDecode.
7. VAE van de loader → vae van VAEDecode.
8. IMAGE van VAEDecode → images van SaveImage.

Totaal: 1 gemeenschappelijke verbinding + 3 × 8 = **25 verbindingen**. Een SaveImage-node 0.37.0 heeft ook een IMAGE-uitgang; laat die niet verbonden. Er is geen externe node en geen ingangsimage nodig.

## Parameters van de drie KSamplers

| Widget | Waarde |
| --- | --- |
| seed | 24092026 |
| control_after_generate | fixed |
| steps | 24 |
| cfg | 6.5 |
| sampler_name | euler |
| scheduler | normal |
| denoise | 1.0 |

In de JSON UI 0.4 volgt `widgets_values` deze volgorde: `[24092026, "fixed", 24, 6.5, "euler", "normal", 1.0]`. De controle `fixed` is een widget van de interface die aan de seed is toegevoegd; het is geen extra argument van de Python-functie `sample`.

De verbonden ingangen van KSampler volgen de volgorde `model`, `positive`, `negative`, `latent_image`. De uitgangen van de loader volgen `MODEL`, `CLIP`, `VAE`. Dit onderscheid tussen widgets en aansluitingen voorkomt dat waarden verschuiven in een handmatig geschreven JSON.

## Uitvoernamen en controle

Voer in elke SaveImage de `output_prefix` uit het manifest in. De prefixen zijn verschillend zodat de uitvoer geen anonieme reeks wordt. De uiteindelijke nummering wordt door ComfyUI beheerd.

Sla je reconstructie op in een nieuwe JSON. De identificaties en posities kunnen afwijken van die in de map; de meegeleverde validator, bewust streng, accepteert alleen de identificaties van recept v1. Vergelijk vervolgens visueel de keten en de parameters, en valideer de generatie in je omgeving. Het UI-schema alleen bewijst niet dat het model aanwezig is of dat de berekening slaagt.

Bronnen: [definities van nodes 0.37.0](https://github.com/Comfy-Org/ComfyUI/blob/73c9bad4d21e7addbe1d13bc92eee0f1431b017d/nodes.py), [waardecontrole van frontend 1.52.7](https://github.com/Comfy-Org/ComfyUI_frontend/blob/1a7a6b82514874545dc5e8203d0bd2188c2d9b18/src/scripts/widgets.ts), [UI-schema 0.4](https://docs.comfy.org/specs/workflow_json_0.4).
