Saltar al contenido
Node packVerificadoExterno
Abrir fuente

comfyui-cyclist

Custom nodes for ComfyUI. It's for handling generation results in cycles!

Responsable@Pos13B · adoptioncalidad

Perfil del paquete

Estado
Verificado
Publicador
@Pos13
Fuente
GitHub

Léeme

Cyclist :bicyclist:

ComfyUI already has an option to infinitely repeat a workflow. This extension adds an ability to reuse generated results to cycle over them again and again. With this tool, you can automate whatever iterative loop action you have in mind: building grids, animating frame-by-frame, changing conditions every step, etc.

[!WARNING] This repository is archived, because I am not going to support it. The extension probably still works on your version of ComfyUI, at least partially.

General Usage

  1. Put a loading node where you want to provide a result from previous run.
    • Optionally, connect a fallback input in case nothing is there to load yet (usually, at first iteration).
  2. Put a saving node in the end of your workflow.
  3. Put an Interrupt node if you want to stop generation when certain conditions are met.
  4. Done! Press "Queue Prompt". And again. And again, maybe.
    • Optionally, check "Extra options" and "Auto Queue" checkboxes to let ComfyUI infinitely repeat a workflow by itself.[^1]
    • If you want to start a loop from scratch, press the "New Cycle" button introduced in this workflow. It will increment all filenames and loop IDs, if it can.[^2]. Alternatively, use Loop Manager to do this automatically.

Screenshot of ComfyUI options with "New Cycle" button.

[!WARNING] Check Known Issues at the bottom of this page to learn about non-obvious behaviour.

Installation

Option 1: Use ComfyUI Manager.

Option 2:

  • Install git
  • Navigate to your /ComfyUI/custom_nodes/ folder
  • Run git clone https://github.com/Pos13/comfyui-cyclist/ console command in it

Nodes and example workflows

Loop Manager: Simply provides a string. This string — loop_id — can be used as a name of a variable to put into memory, or as a filename. If the "increment" value is set on "by_interrupt_node", loop_id will automatically change when Interrupt node procs, to prevent overriding end result. If the "increment" value is set on "on_any_interrupt", loop_id will change in the same situation, plus when you manually cancel queue. Useful to skip failures.

Loop Manager

Memorize Int/Float/String: These simple nodes save something in memory. Information is lost if you restart ComfyUI. Variables are exclusive to provided loop ID. You can store exactly one Int, one Float, one String and one Conditioning for every loop ID. Change ID to save a new variable of this type.

Recall Int/Float/String: These nodes are for loading information from memory. If nothing is there, fallback input is used instead. Fallback is optional. Example:

Every time an image is generated, it gets a score made by Image Reward Score node. Score is saved by Memorize Float node. Next gen, it's loaded and compared to user-provided target score. If greater, process is stopped.

Workflow to generate Image until it gets a high score

Convert To: Takes any input and tries to output an int, float, boolean and string representation of it. Boolean and string can always be cast into, but incorrect int or float will raise an error.

Compare Anything: Takes two inputs of any kinds and a compare operation. Outputs True or False boolean value.

  • Integers are compared as usual.
  • Floats are compared with 1-09 is precision.
  • Strings are compared alphabetically.
  • Images and latents are compa

Nodos de este paquete

22 nodos
  • CyclistCompare
  • CyclistMathFloat
  • CyclistMathInt
  • CyclistTimer
  • CyclistTimerStop
  • CyclistTypeCast
  • Interrupt
  • LoopManager
  • MemorizeConditioning
  • MemorizeFloat
  • MemorizeInt
  • MemorizeString
  • OverrideImage
  • OverrideLatent
  • OverrideModel
  • RecallConditioning
  • RecallFloat
  • RecallInt
  • RecallString
  • ReloadImage
  • ReloadLatent
  • ReloadModel

Recursos relacionados

4 conexiones

Fuentes

2 fuentes
GitHubFuente
github.com/Pos13/comfyui-cyclist

Verificado 3 nov

GitHubFuenteVersión 6b6accd84fcd69cb6b04e7f6b500a90c28171fca
github.com/Pos13/comfyui-cyclist

Verificado 16 oct

Extractos de fuentes

1 extracto

Source context: Repo Pos13/comfyui-cyclist