Skip to content

Latest commit

 

History

History
 
 

basics

wyrde's basic basics of comfy workflows

Keyboard shortcuts

    Ctrl + A       = select all nodes
    Ctrl + M       = mute/unmute selected nodes
    Ctrl + C       = copy selected nodes
    Ctrl + V       = paste node buffer
    Ctrl + Enter   = Adds current workflow to queue
    Delete         = delete selected nodes
    Backspace      = delete selected nodes
    Space Bar      = drag viewing area (hold space bar and move mouse pointer)

Notes:

  • Ctrl + X does nothing.
  • muted nodes don't process and block everythintg behind them
  • Ctrl+C, Ctrl+V, Ctrl+X, work normally inside a text box/field
  • The text areas are like a separate layer. Space and copy/paste functions act normal inside them and use comfyUI functions outside.
  • full list of shortcuts

Organization

  • Add pythongosssss Node Templates from this repo. Download the node-templates file and put it in ComfyUI/web/extensions/. (Don't copy paste the editor display, save the raw file.) This repo has some other super helpful extensions as well. Templates are now in ComfyUI.
    • I still recommended image-feed and workflow-svg from the repo
  • noodles (the wires) can be organized with reroute nodes. It takes extra time, but it makes figuring out a workflow a few days later much easier. Much less someone else.
  • SaveImage can do sub folders. The format is folder/imageprefix.
  • The LoadImage node is (at this writing) too small. Drag the bottom down to show the image preview. Glory at the terrible sketch comfy made for an example!

Filenames

Prefix Output files can be customized with substitutions

%date:d-M-yy%

all the date variables:

    yy -> last 2 digit of year (23)
    yyyy -> full year format (2023)
    d -> day number
    M -> month number
    h -> hour
    m -> minute
    s -> second
  • Put in a / to create a folder like %date:d-M-yyyy%/ComfyUI
  • %width% and %height% are also supported.
  • Various items from nodes can also be included. Right click on a node, click on properties and use the contents of the Node name for S&R property and the name of the data_field.
    • Example of putting the checkpoint in the file name:
    • Load Checkpoint's API name shown in properties is CheckpointLoaderSimple
    • The data_field is ckpt_name
    • combine with a . between: CheckpointLoaderSimple.ckpt_name
    • wrap the whole thing with % at the ends: %CheckpointLoaderSimple.ckpt_name%
    • and put that in the filename_prefix of the Save Image node
  • each substitution gets its own %marks. Example: %date:yyyy-M-d%/%node.data%_%node2.data2%

Suffix

  • ComfyUI adds the suffix of an underscore, 5-digit number, underscore, and extension at the end of the file name automatically (_NNNNN_.png).

Thanks to Davemane42 for pointing this out!

Custom Nodes & Extensions

If comfyUI doesn't have something you expect, there's probably a custom node for it.

  • Custom Nodes are placed in the custom_node directory
  • It's generally a good idea to put the author's name/handle as a directory/folder, then the node(s) inside it.
    • This can cause an warning when comfy loads the folder but it is harmless.
    • an alternative is to keep the folders outside of comfy, and copy over the particular files.
    • this may seem annoying at first, but one time spent trying to remember where a custom node came from makes it worth it. (:
  • some nodes come as "suites" which will include their own directory, drop the whole thing inside custom_nodes
    • if nodes come in a folder with an __init__.py file, the whole thing can be put in custom_nodes with no errors
      • well, there might still be errors (:

Extensions are bits of javascript that extend the UI or some functions of comfyUI beyond the scope of nodes.

  • Extensions are placed in the web\extensions folder/directory.
  • Make sure to follow the author's instructions. These can break things. Easy to fix by removing the files.

There is no central repository of nodes/extensions (ie: marketptlace). ComfyUI is considered prealpha and it is felt a centralized system isn't advisable at this time (Don't let pre alpha scare you. ComfyUI is robust, but under rapid development!)

Embeddings

Otherwise known as Textual Inversons, embeddings can help create specfiic results in an image. Place embeddings in the embeddings folder and use them in prompts with embedding:<filename>. The extension isn't required. Note the lack of space after the :. Embeddings don't have a GUI element or node because their placement in a prompt is important. An embedding is basically a "word" with special meaning.

Negative Embeddings

While most embeddings are put in the prompt, negative ones are placed in a negative prompt to avoid a result. They can be helpful in creating better compositions. Restults can vary by model and the weight of the embedding.

Tips and Philosophy

  • ComfyUI has a philosophy of keep it simple. Don't try to create a "do it all" workflow, instead focus on a specific objective.
  • use the CheckpointLoaderSimple node to load checkpoints. It will auto pick the right settings depending on your GPU.

Tabs

Comfy runs as a service with a web-based front end (the user interrface). This means more than one tab to can be opened. But there's a few things to look out for.

  • F5 will refresh to the most recently queued workflow. Avoid F5 if you don't want to lose work in a different tab.
  • Use the "new tab" command and copy-paste the URL.
    • or control+left click the url in the cmd/ps window (windows)
  • Do not use "duplicate tab". It dupilicates evrything about the original, included session information, which makes the output go wonky.

This directory conatains some basic workflows showing beginning principles. Think of them as badly organized tutorials.

Be sure to check out the comfy examples and FAQ

[home]