# Ricostruire il workflow nell'interfaccia

Questo piano descrive il grafo originale v1. Crea i nodi cercando il loro identificatore tecnico in ComfyUI. Le etichette tradotte possono variare. I numeri tra parentesi sono gli identificatori del JSON fornito, utili per leggerne i collegamenti; l'interfaccia può assegnare altri numeri durante una ricostruzione manuale.

## Nodi comuni

| Identificatore | Tipo core | Impostazione | Uscite utilizzate |
| --- | --- | --- | --- |
| 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` del manifest | CONDITIONING |

Collega CLIP del caricatore (1, slot 1) all'ingresso clip del testo negativo (3, slot 0).

## Tre rami da creare

| Variante | Testo positivo | KSampler | VAEDecode | SaveImage |
| --- | --- | --- | --- | --- |
| A, frontale | 4 | 5 | 6 | 7 |
| B, laterale | 8 | 9 | 10 | 11 |
| C, controluce | 12 | 13 | 14 | 15 |

Copia il `prompt` completo di ogni variante nel suo CLIPTextEncode positivo. I tre testi condividono il prefisso `common_positive_prompt` e poi la frase `light`. Il negativo comune non cambia.

Per **ogni** ramo, realizza queste otto connessioni:

1. CLIP del caricatore → clip del testo positivo.
2. MODEL del caricatore → model del KSampler.
3. CONDITIONING del testo positivo → positive del KSampler.
4. CONDITIONING del testo negativo comune → negative del KSampler.
5. LATENT del latent vuoto comune → latent_image del KSampler.
6. LATENT del KSampler → samples di VAEDecode.
7. VAE del caricatore → vae di VAEDecode.
8. IMAGE di VAEDecode → images di SaveImage.

Totale: 1 connessione comune + 3 × 8 = **25 connessioni**. Un nodo 0.37.0 SaveImage presenta anche un'uscita IMAGE; lasciala non collegata. Non servono nodi esterni né prese di immagine in ingresso.

## Parametri dei tre KSampler

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

Nel JSON UI 0.4, `widgets_values` segue questo ordine: `[24092026, "fixed", 24, 6.5, "euler", "normal", 1.0]`. Il controllo `fixed` è un widget dell'interfaccia aggiunto al seed; non è un argomento aggiuntivo della funzione Python `sample`.

Gli ingressi collegati di KSampler seguono l'ordine `model`, `positive`, `negative`, `latent_image`. Le uscite del caricatore seguono `MODEL`, `CLIP`, `VAE`. Questa distinzione tra widget e prese evita di spostare i valori in un JSON scritto a mano.

## Nomi di uscita e controllo

Digita in ogni SaveImage il suo `output_prefix` del manifest. I prefissi sono diversi così che le uscite non diventino una serie anonima. La numerazione finale è gestita da ComfyUI.

Salva la tua ricostruzione in un nuovo JSON. Gli identificatori e le posizioni possono differire da quelli della cartella; il validatore fornito, volutamente severo, accetta solo gli identificatori della ricetta v1. Confronta quindi visivamente la catena e i parametri, poi convalida la generazione nel tuo ambiente. Il solo schema UI non prova né la presenza del modello né la riuscita del calcolo.

Fonti: [definizioni dei nodi 0.37.0](https://github.com/Comfy-Org/ComfyUI/blob/73c9bad4d21e7addbe1d13bc92eee0f1431b017d/nodes.py), [controllo di valore del frontend 1.52.7](https://github.com/Comfy-Org/ComfyUI_frontend/blob/1a7a6b82514874545dc5e8203d0bd2188c2d9b18/src/scripts/widgets.ts), [schema UI 0.4](https://docs.comfy.org/specs/workflow_json_0.4).
