docs/src/content/docs/features/Workflows/editor-interface.mdx
import { Card, CardGrid, Steps, Tabs, TabItem } from '@astrojs/starlight/components';
The workflow editor is a blank canvas allowing for the use of individual functions and image transformations to control the image generation workflow. Nodes take in inputs on the left side of the node, and return an output on the right side of the node.
A node graph is composed of multiple nodes that are connected together to create a workflow. Nodes' inputs and outputs are connected by dragging connectors from node to node. Inputs and outputs are color-coded for ease of use.
:::tip[New to Diffusion?] If you're not familiar with Diffusion, take a look at our Diffusion Overview. Understanding how diffusion works will enable you to more easily use the Workflow Editor and build workflows to suit your needs. :::
The library has two views:
Add comma-separated tags to a workflow (e.g. portrait, SDXL, upscaling) when saving it. The tags appear at the bottom of each workflow tile in the library and become selectable filters in the sidebar. Click one or more tags to narrow the list; click Your Workflows to clear the filter and show everything again. Tag counts update automatically when you create, edit, or delete a workflow.
</Card>
<Card title="Linear View" icon="list-format">
Create a custom UI for your workflow, making it easier to iterate on your generations. The Linear UI View is saved alongside the workflow, allowing you to share workflows and enable others to use them.
</Card> <Card title="Renaming Fields and Nodes" icon="pencil"> Any node or input field can be renamed in the workflow editor. If the input field you have renamed has been added to the Linear View, the changed name will be reflected in both places. </Card> <Card title="Node Caching" icon="rocket"> Nodes have a "Use Cache" option in their footer. This allows for performance improvements by reusing previously cached values during workflow processing. </Card>
Use these quick keyboard shortcuts to navigate and manage your workflow efficiently:
<CardGrid> <Card title="Copy Node" icon="document"> <kbd>Ctrl</kbd> + <kbd>C</kbd> (or <kbd>Cmd</kbd> + <kbd>C</kbd>) </Card> <Card title="Paste Node" icon="approve-check-circle"> <kbd>Ctrl</kbd> + <kbd>V</kbd> (or <kbd>Cmd</kbd> + <kbd>V</kbd>) </Card> <Card title="Select Multiple" icon="list-format"> <kbd>Shift</kbd> + Click & Drag </Card> <Card title="Delete Node" icon="close"> <kbd>Backspace</kbd> / <kbd>Delete</kbd> </Card> </CardGrid>There are several node grouping concepts that can be examined with a narrow focus. These (and other) groupings can be pieced together to make up functional graph setups, and are important to understanding how groups of nodes work together as part of a whole.
:::note The screenshots below aren't examples of complete functioning node graphs, but rather snippets demonstrating specific concepts. :::
<Tabs> <TabItem label="Noise & Conditioning" icon="setting"> ### Create Latent Noise An initial noise tensor is necessary for the latent diffusion process. As a result, the Denoising node requires a noise node input.The standard **Create Latent Noise** node now includes a **Noise Type** selector for architecture-specific latent
shapes. Leave it at **SD** for classic 4-channel Stable Diffusion workflows, or switch it to the architecture that
matches the downstream denoiser when working with models like FLUX, FLUX.2, SD3, CogView4, Z-Image, or Anima.

### Text Prompt Conditioning
Conditioning is necessary for the latent diffusion process, whether empty or not. As a result, the Denoising node requires positive and negative conditioning inputs. Conditioning is reliant on a CLIP text encoder provided by the Model Loader node.


### Scaling
Use the **ImageScale**, **ScaleLatents**, and **Upscale** nodes to upscale images and/or latent images. Upscaling is the process of enlarging an image and adding more detail.
The chosen method differs across contexts. However, be aware that latents are already noisy and compressed at their original resolution; scaling an image could produce more detailed results.


### LoRA
The **Lora Loader** node lets you load a LoRA and pass it as output. A LoRA provides fine-tunes to the UNet and text encoder weights that augment the base model’s image and text vocabularies.


### Iteration + Multiple Images as Input
Iteration is a common concept in any processing, and means to repeat a process with given input. In nodes, you're able to use the **Iterate** node to iterate through collections usually gathered by the **Collect** node.
The Iterate node has many potential uses, from processing a collection of images one after another, to varying seeds across multiple image generations and more. This screenshot demonstrates how to collect several images and use them in an image generation workflow.

### Batch / Multiple Image Generation
Batch or multiple image generation in the workflow editor is done using the **RandomRange** node. In this case, the 'Size' field represents the number of images to generate, meaning this example will generate 4 images.
As RandomRange produces a collection of integers, we need to add the Iterate node to iterate through the collection. This noise can then be fed to the Denoise Latents node for it to iterate through the denoising process with the different seeds provided.
