Chapter 3 doesn't need to be read in sequence!
Think of it as a reference document that you can consult as needed.
Learning Goals and Summary
Through Tutorial 2-1, we learned the following. (The content is simple enough that there's no need to revisit it.)
Concepts | Summary |
ComfyUI Access Method | https://nordy.ai/comfyui |
ComfyUI Execution Method | queue prompt (win : ctrl+enter / mac : ) |
What is a Node? | A single programming block |
What is a Workflow? | The connections between nodes and the values of each are saved in a single JSON file |
How to Change Node Settings | Values in each node can be changed by clicking on them |
Saving and Renaming Workflows | Can be saved and managed internally within Nordy |
Exporting and Importing Workflows | Can be extracted or loaded from external files |
Image Feed | Allows image sharing through community features and supports stealth mode settings |
Through this document, you will learn the following:
Very simple usage methods and shortcuts. You don't need to memorize them, but it will be helpful to become familiar with them.
Concepts | Summary |
Delete node | Delete |
Undo | Ctrl+Z (Mac : Command+Z) |
Redo | Ctrl+Y (Mac : Command+Shit+Z) |
Load node | Double-click on empty space: Recommendations will appear when you pull. |
Draw node line | Recommendations will appear when you pull. |
Connect nodes | Connect only those that can be connected properly. |
Select multiple nodes | Ctrl+Drag (Mac : Command+Drag) |
Move selected multiple nodes simultaneously | Shift+Drag (Mac : Shift+Drag) |
Copy and paste node | Ctrl+C/Ctrl+V (Mac : Command+C/Command+V) |
Copy and paste node while maintaining connections | Ctrl+C/Ctrl+Shift+V (Mac : Command+Option+V) |
Get/Set | Useful when complexity increases, but there is a possibility of errors. |
Reroute | sed to tidy up lines when the connection relationships become complex. |
Bypass | Ctrl+B, Use when you want to keep the workflow but do not want it to run. |
Shortcuts and Basic Usability
Removing Nodes
You can remove a node by clicking on it and pressing Delete, or by right-clicking and selecting Remove.
Undo / Redo
Press Ctrl+Z to undo. (Mac: Command+Z)
Press Ctrl+Y to redo. (Mac: Command+Shift+Z)
Loading Nodes
Double-click on an empty space to open the node loading window.
You can use the search function to load existing new nodes.
(Note: There is a drawback in recognizing spaces. If a node is saved as "IPAdapter," searching with "IP-Adapter" or "IP Adapter" will not work.)
Drawing Node Connections
You can naturally extend the lines on the left and right sides of a node to create new connections.
Connecting Nodes
You can connect by linking the extended line to the input of another node.
Nodes that cannot be connected are dimmed out.
For example, you can connect a model to another model, but you cannot connect a model to an image.
This is similar to how numbers can be added together (e.g., 3 + 2), but numbers cannot be added to special characters (e.g., 3 + @).
Getting Node Recommendations
After dragging out a line, if you don't connect it to anything and release the click in the空空 area, a recommendation window will appear.
This window suggests nodes that are likely to be connected frequently with the current node, but the recommendations might not always be very useful.
Difference Between Save and Preview
When you Save an image, it is stored as ‘the image I created’. However, if you only Preview the image, it is just a view of one of the intermediate images, not the final result. In workflows where you might process dozens of images, overusing Save is not ideal.
Selecting Multiple Nodes
You can select all nodes within the drag area using Ctrl+Drag.
Of course, you can use Ctrl+C and Ctrl+V for copying and pasting as well.
Copying with Connections Maintained
After copying and pasting, only the nodes are copied, and the connections are not maintained.
However, if you use Ctrl+Shift+V instead of Ctrl+V, the connections will be maintained when copying.
(Note: Be aware that with very complex connection relationships, there might be issues with connections being incorrectly maintained.)
Get/Set
In the example above, where the output from VAE Decode is connected to four nodes, using Get/Set is not necessary for such a simple case. However, in more complex situations, appropriate use of Get/Set can be very helpful.
In the example below, the image output from VAE Decode is assigned a variable name img01, and then img01 is used with Get to select the same value. This image is then saved again. Although the VAE Decode node and the Save Image node are not directly connected, they are connected through the variable name, similar to how Bluetooth devices connect without direct wires.
(Note, however, that improper use of Get/Set nodes can sometimes unnecessarily complicate workflows that would otherwise be simple, and there can be situations where errors that are difficult to diagnose turn out to be caused by Get/Set nodes. Just keep this in mind.)
ReRoute
As mentioned in the discussion on Get/Set, it has its pros and cons. In situations where the complexity doesn't get too high, using ReRoute can be sufficient for organizing connections effectively.
You can search for reroute to bring up a small node like this:
And once you connect it, you can see that it serves as an intermediary bridge like this.
Removing a ReRoute node will delete it while maintaining the existing connections.
ByPass
There's an important feature that hasn't been explained yet, which is ByPass (Ctrl+B).
For example, in the Latent Upscale workflow, the KSampler operates twice.
In this scenario, the remaining processes other than the two KSampler instances are used to load for the KSampler.
However, if you want to modify only the first KSampler but find that the second KSampler is also running, causing a longer processing time, you can use ByPass on the second KSampler. This will effectively allow only the first KSampler to run.
However, upon observation, it turns out that the ‘Upscale Latent’ node before the KSampler is also triggering a process. Thus, the results are being saved to Save Image, which can be cumbersome.
In such a case, instead of bypassing the KSampler, you can bypass the Save Image node. This way, both the Upscale Latent and KSampler nodes in that path will not run, as there will be no image to save anyway.
That concludes the basic usability tips I wanted to share. I hope you find them helpful as you gradually get accustomed to the features that suit you. These are things you'll learn naturally after trying them a few times and don't need to be memorized as "important tips.”