# Reconstruir o workflow na interface

Este plano descreve o grafo original v1. Crie os nós pesquisando o identificador técnico deles no ComfyUI. Os rótulos traduzidos podem variar. Os números entre parênteses são os identificadores do JSON entregue, úteis para ler os links dele; a interface pode atribuir outros números durante uma reconstrução manual.

## Nós comuns

| Identificador | Tipo core | Configuração | Saídas usadas |
| --- | --- | --- | --- |
| 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` do manifesto | CONDITIONING |

Conecte o CLIP do carregador (1, slot 1) à entrada clip do texto negativo (3, slot 0).

## Três ramos a criar

| Variante | Texto positivo | KSampler | VAEDecode | SaveImage |
| --- | --- | --- | --- | --- |
| A, frontal | 4 | 5 | 6 | 7 |
| B, lateral | 8 | 9 | 10 | 11 |
| C, contraluz | 12 | 13 | 14 | 15 |

Copie o `prompt` completo de cada variante no seu CLIPTextEncode positivo. Os três textos compartilham o prefixo `common_positive_prompt` e depois a frase `light`. O negativo comum não muda.

Para **cada** ramo, faça estas oito conexões:

1. CLIP do carregador → clip do texto positivo.
2. MODEL do carregador → model do KSampler.
3. CONDITIONING do texto positivo → positive do KSampler.
4. CONDITIONING do texto negativo comum → negative do KSampler.
5. LATENT do latent vazio comum → latent_image do KSampler.
6. LATENT do KSampler → samples do VAEDecode.
7. VAE do carregador → vae do VAEDecode.
8. IMAGE do VAEDecode → images do SaveImage.

Total: 1 conexão comum + 3 × 8 = **25 conexões**. Um nó 0.37.0 SaveImage também apresenta uma saída IMAGE; deixe-a desconectada. Nenhum nó externo nem nenhuma entrada de imagem é necessária.

## Parâmetros dos três KSampler

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

No JSON UI 0.4, `widgets_values` segue esta ordem: `[24092026, "fixed", 24, 6.5, "euler", "normal", 1.0]`. O controle `fixed` é um widget da interface adicionado ao seed; não é um argumento adicional da função Python `sample`.

As entradas conectadas do KSampler seguem a ordem `model`, `positive`, `negative`, `latent_image`. As saídas do carregador seguem `MODEL`, `CLIP`, `VAE`. Essa distinção entre widgets e conectores evita deslocar os valores em um JSON escrito à mão.

## Nomes de saída e controle

Digite em cada SaveImage o seu `output_prefix` do manifesto. Os prefixos são diferentes para que as saídas não se tornem uma série anônima. A numeração final é gerenciada pelo ComfyUI.

Salve sua reconstrução em um novo JSON. Os identificadores e posições podem diferir dos do arquivo; o validador entregue, deliberadamente estrito, só aceita os identificadores da receita v1. Compare então visualmente a cadeia e os parâmetros, e valide a geração no seu ambiente. O esquema UI sozinho não prova nem a presença do modelo nem o sucesso do cálculo.

Fontes: [definições dos nós 0.37.0](https://github.com/Comfy-Org/ComfyUI/blob/73c9bad4d21e7addbe1d13bc92eee0f1431b017d/nodes.py), [controle de valor do frontend 1.52.7](https://github.com/Comfy-Org/ComfyUI_frontend/blob/1a7a6b82514874545dc5e8203d0bd2188c2d9b18/src/scripts/widgets.ts), [esquema UI 0.4](https://docs.comfy.org/specs/workflow_json_0.4).
