Install this extension via the ComfyUI Manager by searching
for Cyclist
1. Click the Manager button in the main menu
2. Select Custom Nodes Manager button
3. Enter Cyclist in the search bar
After installation, click the Restart button to
restart ComfyUI. Then, manually
refresh your browser to clear the cache and access
the updated list of nodes.
Visit
ComfyUI Online
for ready-to-use ComfyUI environment
Cyclist is an extension that offers tools to iterate and refine generation results across multiple runs, focusing on cyclical processes to enhance output quality.
Cyclist Introduction
The comfyui-cyclist extension enhances the capabilities of ComfyUI by allowing you to reuse generated results in iterative loops. This means you can automate repetitive tasks such as building grids, animating frame-by-frame, and changing conditions at each step. This extension is particularly useful for AI artists who want to streamline their creative process and achieve more complex results with less manual intervention.
How Cyclist Works
At its core, comfyui-cyclist works by introducing nodes that can save and reload data within a workflow. This allows the workflow to use the output of one iteration as the input for the next. Here’s a simple analogy: imagine you are baking cookies, and each time you bake a batch, you save some dough to use in the next batch. This way, you can keep improving your recipe without starting from scratch each time.
Basic Principles:
Loading Node: This node loads data from a previous iteration.
Saving Node: This node saves the current iteration's data for future use.
Interrupt Node: This node stops the workflow when certain conditions are met.
Cyclist Features
Loop Manager
Function: Provides a unique string (loop_id) for each iteration.
Customization: You can set it to increment automatically when an interrupt occurs, preventing overwriting of results.
Example: Useful for skipping failed iterations and continuing with new ones.
Memorize and Recall Nodes
Function: Save and load integers, floats, strings, and conditioning data.
Customization: Each type of data can be stored and recalled using a unique loop ID.
Example: Save a score from an image and use it in the next iteration to decide whether to continue or stop.
Convert To Node
Function: Converts any input to int, float, boolean, and string.
Example: Useful for ensuring data types match the requirements of other nodes.
Compare Anything Node
Function: Compares two inputs and outputs a boolean value.
Customization: Supports various data types and comparison operations.
Example: Compare image scores to determine if the workflow should continue.
Interrupt Node
Function: Stops the workflow based on a condition.
Customization: Can be placed strategically to prevent unnecessary computations.
Example: Stop the workflow if an image score meets the desired threshold.
Save and Reload Image Nodes
Function: Save and reload images without changing filenames.
Example: Useful for iterative image processing where the same file name is reused.
Generation Timer
Function: Measures the time spent on each generation.
Example: Useful for performance monitoring and optimization.
Cyclist Models
The extension does not introduce new models but enhances the workflow by allowing existing models to be used iteratively. This means you can use any model compatible with ComfyUI and benefit from the iterative capabilities provided by comfyui-cyclist.
What's New with Cyclist
Recent Updates
New Cycle Button: Introduced to start a new loop from scratch, incrementing filenames and loop IDs.
Loop Manager Enhancements: Improved to handle automatic increments more efficiently.
Additional Nodes: New nodes like Save Model (Override) and Save Latent (Override) have been added for more flexibility.
Troubleshooting Cyclist
Common Issues and Solutions
Auto Queue Checkbox Unchecks Automatically:
Solution: This is by design to prevent accidental short-circuits. Manually recheck it when starting a new cycle.
Interrupt Node Placement:
Solution: Ensure the interrupt node is placed after the nodes providing its inputs to avoid execution issues.
Image Loading Issues:
Solution: Ensure the file path is correct and the image exists. Use fallback inputs if necessary.
Frequently Asked Questions
Q: How do I start a new cycle?
A: Press the "New Cycle" button to increment filenames and loop IDs.
Q: Can I use multiple interrupt nodes?
A: Yes, multiple interrupt nodes are allowed and sometimes necessary.
Learn More about Cyclist
For additional resources, tutorials, and community support, you can explore the following:
ComfyUI-ImageReward
These resources provide extensive documentation, example workflows, and community forums where you can ask questions and get support tailored to AI artists.