Process 1 · TXT2IMG — assembling the first controlled generation from inputs
At 02:40, Hansen returns to the large graph and presents the first main production process. The learning goal is not to memorize RealVisXL or a specific sampler, but to understand the transferable pattern: controls + conditioning + structural guidance + latent source → sampler → decoded image.
From loader to Preview 409
Loader filenames are confirmed by the JSON; this archive does not verify whether those files are installed on the current machine.
Process 1 — one module with several sources of control
The source graph shows the SDXL generation path: model loader 2, prompt conditioning, optional IPAdapter model route, ControlNet stack, latent selector, KSampler 1 and VAE Decode 14.
Current master mode 541=1 corresponds to TXT+CNET2IMG. In this mode, latent selector 535 chooses EmptyLatentImage 3 and the denoise route selects full-generation behavior.
Current generation mode
Node 541 = 1; source notes identify this as TXT+CNET2IMG.
Decode checkpoint
Sampler 1 feeds VAEDecode 14; the decoded image then continues into downstream detail/PPL logic.
The generation pattern is universal — the specific model is secondary
Read Process 1 as five subsystems, not dozens of nodes
| Subsystem | Hansen example | Beginner question |
|---|---|---|
| Model source | 2 / 168 / 87 | Which MODEL actually reaches the sampler? |
| Text conditioning | 5 / 6 | What should the model do / avoid? |
| Structural control | Depth/Canny ControlNet stack | What preserves geometry / edges? |
| Runtime controls | 230 / 231 / 541 / 600 | Which shared values define the mode? |
| Execution | 535 → 1 → 14 | Where does the latent come from, where is sampling, where does IMAGE reappear? |
Why the ordinary image temporarily disappears during generation
The sampler works with a latent representation rather than an ordinary RGB image. A sampling route may therefore begin from an Empty Latent or a VAE-encoded image, and requires VAE Decode afterward to produce IMAGE again.
This is a universal ComfyUI concept: IMAGE and LATENT are different data types. A link between incompatible types is not simply an “image wire.”
Workflow mode is not defined by one sampler widget
Hansen moves sampling configuration, seed and generation mode into shared controls. Several downstream nodes can then read one authoritative value, making A/B tests reproducible.
Shared sampler config
Node 230 distributes KSampler settings to node 1; node 231 provides GLOBAL Seed and also feeds FLUX noise downstream.
The first meaningful output is decode 14
Before decode 14, we verify inputs, controls and conditioning. After decode 14, there is an IMAGE to evaluate. This is a natural diagnostic boundary: if the problem is already visible here, PEOPLE, main FLUX and upscale are not yet responsible.
If Process 1 produces a bad result, debug from the top down
- INPUT: is the correct base/reference/control source selected?
- MODE: does node 541 actually indicate the intended generation mode?
- MODEL: which route is selected by node 168 and which loaders are active?
- CONDITIONING: positive / negative and linked text values?
- CONTROL: Depth/Canny sources, strength and active stack?
- LATENT: what does selector 535 choose?
- SAMPLER CONFIG: seed / steps / CFG / sampler / scheduler / denoise?
- DECODE 14: is the image checkpoint correct before downstream modules?
Exercise: read the SDXL branch without running it
- Find KSampler node 1 and walk only upstream from it.
- Split incoming links into MODEL, CONDITIONING, LATENT and CONFIG.
- Find the authoritative source for each input.
- Then walk downstream: node 1 → node 14 → next module.
- Describe the branch in one sentence without naming specific models.
Process 1 ends with an IMAGE that the next module can consume
When the 02:40 lesson is complete
You can open an unfamiliar generation branch and, regardless of model name, identify the model source, conditioning, structural controls, latent/source state, sampler config, sampler, decode and return image.