Right click to reveal quick actions such as pin creation and _query
automatic filling.
The query syntax goes as follow:
>name
: input variable.<name
: output variable.>`n!ce n@me`
: input variable but with special character and spaces (except`
, obviously).!name
: output variable, but also delete itself, preventing from being referenced further.- CURRENTLY BROKEN DUE TO HOW COMFYUI UPDATE THE NODES.
<name1; >name2; !name3
: multiple input and outputs together.
For now Highway
node is probably stable, as long as there's no cyclic connection.
- Cyclic connection means that input and output of the same
Highway
node must not be connect, including indirect connection.- Else will be recursion error due to how ComfyUI execute nodes (trust me I tried).
Can probably have "nested Highway" but probably useless since the node have unlimited in-out pins.
Recommended with chrisgoringe/cg-use-everywhere since it allows more complex notes rerouting.
Demo workflow is in assets/workflow_highway.json.
Special thanks to @kijai for ConditioningMultiCombine
node as which Highway
node is based of.
- Cyclic detection in JS (python probably not possible unless I figure out a way how to extract the node graph).
- Node force update (for
!name
).
_offset
is persistent and will retains information across linked Junction
.
The offset syntax goes as follow:
type,1
:type
is the type (usuallyLATENT
,MODEL
,VAE
, etc.) and1
is the index being set.type,+2
: Same as above but instead of set offset, it increase the offset instead.type,-2
: Decrease offset.type1, -1; type2, +2; type3, 4
: Multiple offset.
Can automatically expand pins.
Inspired by /u/GianoBifronte ideas.
Demo workflow is in assets/workflow_junction.json.
Hopefully difference between batch
and pluck
are self explainatory in the workflow.
Have bonus ability which is able to aggregate batch input, however does not attempt to do something like Latent From Batch
since latent is not a batch list
internally, (in which it is batch torch.tensor
).
Also if multiple same output type appear during batch
mode, then the first same type pin will have [11, 22, 33]
, and the next one is [22, 33, 11]
.
Demo workflow is in assets/workflow_junction_batch.json.
Basic looping to create 20 images with all 20 different seeds:
A complex looping involves FABRIC nodes from ComfyUI_fabric, allowing to pick images multiple times:
Outpaint workflow (embedded in the image, node kinda obsolete and requires more work but the general should work), borrowed from this sample:
The example above showcase that this node can turn node such as Plasma Noise into batch. It also allows executing multiple nodes together.
What's it looks like in action for simpler workflow.
Recording.2023-11-25.040907.mp4
Pros:
- Can "loop" within a single prompt queue.
Cons:
- Will mess up the workflow very easily if not careful.
- Requires two
Hold
to sandwich theLoop
node to be usable.
To reuse data from previous iteration, use the trio of Hold
that should be arranged like in FABRIC workflow.
Probably unstable as hell since I only tested for simple case.
Until the topological PRs from the ComfyUI repos got merged, this node will be kept around.
basic
: minimally shows as little as possible.more
: show everything frombasic
but also shows the content. Does not expand if it meet a non-iterable object.full
: show everything as much as possible.json
: attempt to convert the input to json and display it. Will fail if the data cannot be converted.