ComfyUI Extension: ComfyUI-0246

Authored by Trung0246

Created

Updated

113 stars

Random nodes for ComfyUI I made to solve my struggle with ComfyUI (ex: pipe, process). Have varying quality.

README

ComfyUI-0246

Random nodes for ComfyUI I made to solve my struggle with ComfyUI. Have varying quality.

Documentation

More Docs (can be shown directly in the UI if rgthree is installed).

workflow_showcase

Nodes list

Piping:

  • Highway: yet another implementation but overkill version of pipe and reroute.
  • HighwayBatch: batching version of Highway.
  • Junction: over-the-head data packing and unpacking sequentially.
  • JunctionBatch: if Junction and ComfyUI batching have a kid.
  • Merge: pipe and batch merging.

Misc:

  • BoxRange: visualization of boxes. usefull for anything that requires boxes (which is x, y, width, height).
    • ~~Currently only ConditioningSetAreaPercentage and anything that have percentage size and have exact x,y,width,height input name are supported. More will come in the future.~~
    • Reworked to now output generic int and float data based on the regex provided.
    • Double click on each corner and discover what each will do.
  • Beautify: the beautification of data for easy troubleshooting.
  • Stringify: anything to string, optionally together.
  • RandomInt: different from other implementation such that it generate number server side to works with Loop.
  • Hub: widget management to the max.
    • Image display does not work for now, alongside with other 3rd party custom. But it should generally stable.
  • CastReroute: basically like Reroute but have ability to specify custom type. Useful when dealing with Highway, Junction and such.
  • Cloud: Prompt/Data/etc management made "easy".
  • Tag: Data tagging mechanism.

Control Flow:

  • Loop: very hacky recursive repetition by messing with ComfyUI internals.
  • Hold: hold data between each loop execution.
  • Count: simple counter to use with Loop.
  • Switch: allows input/output switching. Will not evaluate unused inputs.

"Execute anything" node:

  • ScriptNode
  • ScriptRule
  • Script

Update

2024-03-03

Added Tag node to allow better data management. Demo workflow:

<details> <p align="center"> <img src="https://github.com/Trung0246/ComfyUI-0246/assets/11626920/2f59fbd8-af0a-4784-aa53-299fffb7a7cf"> </p> </details>

2024-01-18

Added Cloud and Switch node (still techincally in beta but whatever). Also added 0246.AlternateDOMWidget option.

Demo workflow are below:

<details> <p align="center"> <img src="https://github.com/Trung0246/ComfyUI-0246/assets/11626920/8f0a9d5b-444d-41ac-89a4-cfeca0f0ccc2"> </p> </details>

2023-12-19

Tons more nodes. Here's the simple workflow image that showcase everything within this update.

For any nodes related to Script, *_order widget will determine script execution order, which depends on natsort. How it being sorted can be customized by doing things like INT, LOCALE within the _sort_mode widget.

Warning: The recent changes I have changed how Highway and Junction tracking types. Therefore the best way to mitigrate this is to just copy the _query or _offset, create a new Highway or Junction, paste the string then reconnect everything over. I've probably find a way to automate this.

I recommended you to play around with this sample workflow (edit 2024-01-20: kind of obsolete but should still works with some manual fixes):

<details> <p align="center"> <img src="https://github.com/Trung0246/ComfyUI-0246/assets/11626920/05d53d43-a707-4c49-bbc9-cbaf98f70cc0"> </p> </details>
TODO (may or may not get implemented)
  • Tutorial for various nodes.
  • More testing.