pythongosssss
bca59ff52c
add diagnostics, update mac initialization
2026-02-16 02:41:06 -08:00
pythongosssss
0a075f194d
fix ci
...
perf: only read required outputs
2026-02-16 02:41:06 -08:00
pythongosssss
690792477a
add additional support for egl & osmesa backends
2026-02-16 02:41:06 -08:00
pythongosssss
6598139bc5
tidy
2026-02-16 02:41:06 -08:00
pythongosssss
3265f40f14
remove cpu support
2026-02-16 02:41:06 -08:00
pythongosssss
34e938d537
convert to using PyOpenGL and glfw
2026-02-16 02:41:06 -08:00
pythongosssss
7dada35de7
fix line endings
2026-02-16 02:41:06 -08:00
pythongosssss
42e591e3a6
fix casing
2026-02-16 02:41:06 -08:00
pythongosssss
8d3f4272dc
Support multiple outputs
2026-02-16 02:41:06 -08:00
pythongosssss
d318df883e
tidy
2026-02-16 02:41:06 -08:00
pythongosssss
cf11e01ccf
adds support for executing simple glsl shaders
...
using moderngl package
2026-02-16 02:41:06 -08:00
rattus
ecd2a19661
Fix lora Extraction in offload conditions (+ dynamic_vram mode) ( #12479 )
...
* lora_extract: Add a trange
If you bite off more than your GPU can chew, this kinda just hangs.
Give a rough indication of progress counting the weights in a trange.
* lora_extract: Support on-the-fly patching
Use the on-the-fly approach from the regular model saving logic for
lora extraction too. Switch off force_cast_weights accordingly.
This gets extraction working in dynamic vram while also supporting
extraction on GPU offloaded.
2026-02-15 20:28:51 -05:00
Jedrzej Kosinski
596ed68691
Node Replacement API ( #12014 )
2026-02-15 02:12:30 -08:00
rattus
8902907d7a
dynamic_vram: Training fixes ( #12442 )
2026-02-13 15:29:37 -05:00
askmyteapot
e5ae670a40
Update ace15.py to allow min_p sampling ( #12373 )
2026-02-11 20:28:48 -05:00
Kohaku-Blueleaf
cdcf4119b3
[Trainer] training with proper offloading ( #12189 )
...
* Fix bypass dtype/device moving
* Force offloading mode for training
* training context var
* offloading implementation in training node
* fix wrong input type
* Support bypass load lora model, correct adapter/offloading handling
2026-02-10 21:45:19 -05:00
AustinMroz
dbe70b6821
Add a VideoSlice node ( #12107 )
...
* Base TrimVideo implementation
* Raise error if as_trimmed call fails
* Bigger max start_time, tooltips, and formatting
* Count packets unless codec has subframes
* Remove incorrect nested decode
* Add null check for audio streams
* Support non-strict duration
* Added strict_duration bool to node definition
* Empty commit for approval
* Fix duration
* Support 5.1 audio layout on save
---------
Co-authored-by: Jedrzej Kosinski <kosinkadink1@gmail.com >
2026-02-10 14:42:21 -08:00
comfyanonymous
a0302cc6a8
Make tonemap latent work on any dim latents. ( #12363 )
2026-02-08 21:16:40 -05:00
chaObserv
9bf5aa54db
Add search_aliases to sa-solver and seeds-2 node ( #12327 )
2026-02-07 17:38:51 -05:00
Jukka Seppänen
5ff4fdedba
Fix LazyCache ( #12344 )
2026-02-07 11:25:30 -08:00
Jukka Seppänen
a1c101f861
EasyCache: Support LTX2 ( #12231 )
2026-02-06 00:43:09 -05:00
AustinMroz
2b70ab9ad0
Add a Create List node ( #12173 )
2026-02-05 01:18:21 -05:00
comfyanonymous
35183543e0
Add VAE tiled decode node for audio. ( #12299 )
2026-02-05 01:12:04 -05:00
comfyanonymous
6125b80979
Add llm sampling options and make reference audio work on ace step 1.5 ( #12295 )
2026-02-04 21:29:22 -05:00
Alexander Piskun
e77b34dfea
add File3DAny output to Load3D node; extend SaveGLB to accept File3DAny as input ( #12276 )
...
* add File3DAny output to Load3D node; extend SaveGLB node to accept File3DAny as input
* fix(grammar): capitalize letter
2026-02-04 11:35:38 -08:00
Alexander Piskun
fb23935c11
feat(comfy_api): add basic 3D Model file types ( #12129 )
...
* feat(comfy_api): add basic 3D Model file types
* update Tripo nodes to use File3DGLB
* update Rodin3D nodes to use File3DGLB
* address PR review feedback:
- Rename File3D parameter 'path' to 'source'
- Convert File3D.data property to get_data()
- Make .glb extension check case-insensitive in nodes_rodin.py
- Restrict SaveGLB node to only accept File3DGLB
* Fixed a bug in the Meshy Rig and Animation nodes
* Fix backward compatability
2026-02-03 10:31:46 -08:00
comfyanonymous
3c1a1a2df8
Basic support for the ace step 1.5 model. ( #12237 )
2026-02-03 00:06:18 -05:00
rattus
f8acd9c402
Reduce RAM usage, fix VRAM OOMs, and fix Windows shared memory spilling with adaptive model loading ( #11845 )
2026-02-01 01:01:11 -05:00
pythongosssss
8aabe2403e
Add color type and Color to RGB Int node ( #12145 )
...
* add color type and color to rgb int node
* review fix for allowing output
---------
Co-authored-by: Jedrzej Kosinski <kosinkadink1@gmail.com >
2026-01-30 15:01:33 -08:00
comfyanonymous
bbe2c13a70
Make empty hunyuan latent 1.0 work with the 1.5 model. ( #12171 )
2026-01-29 23:52:22 -05:00
Jukka Seppänen
ad53e78f11
Fix Noise_EmptyNoise when using nested latents ( #12089 )
2026-01-26 19:25:00 -05:00
Tavi Halperin
bfe31d0b9d
IC-LoRA: support small grid ( #12074 )
2026-01-26 15:33:19 -05:00
comfyanonymous
26c5bbb875
Move nodes from previous PR into their own file. ( #12066 )
2026-01-24 23:02:32 -05:00
Kohaku-Blueleaf
a97c98068f
[Weight-adapter/Trainer] Bypass forward mode in Weight adapter system ( #11958 )
...
* Add API of bypass forward module
* bypass implementation
* add bypass fwd into nodes list/trainer
2026-01-24 22:56:22 -05:00
pythongosssss
ed6002cb60
add support for kwargs inputs to allow arbitrary inputs from frontend ( #12063 )
...
used to output selected combo index
Co-authored-by: Jedrzej Kosinski <kosinkadink1@gmail.com >
2026-01-24 17:30:40 -08:00
comfyanonymous
9cf299a9f9
Make regular empty latent node work properly on flux 2 variants. ( #12050 )
2026-01-23 19:50:48 -05:00
Christian Byrne
79cdbc81cb
feat: Improve ResizeImageMaskNode UX with tooltips and search aliases ( #12040 )
...
- Add search_aliases for discoverability: resize, scale, dimensions, etc.
- Add node description for hover tooltip
- Add tooltips to all inputs explaining their behavior
- Reorder options: most common (scale dimensions) first, most technical (scale to multiple) last
Addresses user feedback that 'resize' search returned nothing useful and
options like 'match size' and 'scale to multiple' were not self-explanatory.
2026-01-22 22:04:27 -08:00
comfyanonymous
f443b9f2ca
Revert "feat: Improve ResizeImageMaskNode UX with tooltips and search aliases…" ( #12038 )
...
This reverts commit 4e3038114a .
2026-01-22 23:02:37 -05:00
Christian Byrne
4e3038114a
feat: Improve ResizeImageMaskNode UX with tooltips and search aliases ( #12013 )
...
- Add search_aliases for discoverability: resize, scale, dimensions, etc.
- Add node description for hover tooltip
- Add tooltips to all inputs explaining their behavior
- Reorder options: most common (scale dimensions) first, most technical (scale to multiple) last
Addresses user feedback that 'resize' search returned nothing useful and
options like 'match size' and 'scale to multiple' were not self-explanatory.
2026-01-22 18:46:55 -08:00
Christian Byrne
bbb8864778
add search aliases to all nodes ( #12035 )
...
* feat: Add search_aliases field to node schema
Adds `search_aliases` field to improve node discoverability. Users can define alternative search terms for nodes (e.g., "text concat" → StringConcatenate).
Changes:
- Add `search_aliases: list[str]` to V3 Schema
- Add `SEARCH_ALIASES` support for V1 nodes
- Include field in `/object_info` response
- Add aliases to high-priority core nodes
V1 usage:
```python
class MyNode:
SEARCH_ALIASES = ["alt name", "synonym"]
```
V3 usage:
```python
io.Schema(
node_id="MyNode",
search_aliases=["alt name", "synonym"],
...
)
```
## Related PRs
- Frontend: Comfy-Org/ComfyUI_frontend#XXXX (draft - merge after this)
- Docs: Comfy-Org/docs#XXXX (draft - merge after stable)
* Propagate search_aliases through V3 Schema.get_v1_info to NodeInfoV1
* feat: add SEARCH_ALIASES for core nodes (#12016 )
Add search aliases to 22 core nodes in nodes.py to improve node discoverability:
- Checkpoint/model loaders: CheckpointLoader, DiffusersLoader
- Conditioning nodes: ConditioningAverage, ConditioningSetArea, ConditioningSetMask, ConditioningZeroOut
- Style nodes: StyleModelApply
- Image nodes: LoadImageMask, LoadImageOutput, ImageBatch, ImageInvert, ImagePadForOutpaint
- Latent nodes: LoadLatent, SaveLatent, LatentBlend, LatentComposite, LatentCrop, LatentFlip, LatentFromBatch, LatentUpscale, LatentUpscaleBy, RepeatLatentBatch
* feat: add SEARCH_ALIASES for image, mask, and string nodes (#12017 )
Add search aliases to nodes in comfy_extras for better discoverability:
- nodes_mask.py: mask manipulation nodes
- nodes_images.py: image processing nodes
- nodes_post_processing.py: post-processing effect nodes
- nodes_string.py: string manipulation nodes
- nodes_compositing.py: compositing nodes
- nodes_morphology.py: morphological operation nodes
- nodes_latent.py: latent space nodes
Uses search_aliases parameter in io.Schema() for v3 nodes.
* feat: add SEARCH_ALIASES for audio and video nodes (#12018 )
Add search aliases to audio and video nodes for better discoverability:
- nodes_audio.py: audio loading, saving, and processing nodes
- nodes_video.py: video loading and processing nodes
- nodes_wan.py: WAN model nodes
Uses search_aliases parameter in io.Schema() for v3 nodes.
* feat: add SEARCH_ALIASES for model and misc nodes (#12019 )
Add search aliases to model-related and miscellaneous nodes:
- Model nodes: nodes_model_merging.py, nodes_model_advanced.py, nodes_lora_extract.py
- Sampler nodes: nodes_custom_sampler.py, nodes_align_your_steps.py
- Control nodes: nodes_controlnet.py, nodes_attention_multiply.py, nodes_hooks.py
- Training nodes: nodes_train.py, nodes_dataset.py
- Utility nodes: nodes_logic.py, nodes_canny.py, nodes_differential_diffusion.py
- Architecture-specific: nodes_sd3.py, nodes_pixart.py, nodes_lumina2.py, nodes_kandinsky5.py, nodes_hidream.py, nodes_fresca.py, nodes_hunyuan3d.py
- Media nodes: nodes_load_3d.py, nodes_webcam.py, nodes_preview_any.py, nodes_wanmove.py
Uses search_aliases parameter in io.Schema() for v3 nodes, SEARCH_ALIASES class attribute for legacy nodes.
2026-01-22 18:36:58 -08:00
Terry Jia
8490eedadf
add ply & 3dgs format in 3d node ( #11474 )
2026-01-22 09:46:56 -08:00
Jukka Seppänen
16b9aabd52
Support Multi/InfiniteTalk ( #10179 )
...
* re-init
* Update model_multitalk.py
* whitespace...
* Update model_multitalk.py
* remove print
* this is redundant
* remove import
* Restore preview functionality
* Move block_idx to transformer_options
* Remove LoopingSamplerCustomAdvanced
* Remove looping functionality, keep extension functionality
* Update model_multitalk.py
* Handle ref_attn_mask with separate patch to avoid having to always return q and k from self_attn
* Chunk attention map calculation for multiple speakers to reduce peak VRAM usage
* Update model_multitalk.py
* Add ModelPatch type back
* Fix for latest upstream
* Use DynamicCombo for cleaner node
Basically just so that single_speaker mode hides mask inputs and 2nd audio input
* Update nodes_wan.py
2026-01-21 23:09:48 -05:00
Jedrzej Kosinski
f09904720d
Fix for edge case of EasyCache when conditionings change during a sampling run (like with timestep scheduling) ( #12020 )
2026-01-21 23:01:35 -05:00
Christian Byrne
bdeac8897e
feat: Add search_aliases field to node schema ( #12010 )
...
* feat: Add search_aliases field to node schema
Adds `search_aliases` field to improve node discoverability. Users can define alternative search terms for nodes (e.g., "text concat" → StringConcatenate).
Changes:
- Add `search_aliases: list[str]` to V3 Schema
- Add `SEARCH_ALIASES` support for V1 nodes
- Include field in `/object_info` response
- Add aliases to high-priority core nodes
V1 usage:
```python
class MyNode:
SEARCH_ALIASES = ["alt name", "synonym"]
```
V3 usage:
```python
io.Schema(
node_id="MyNode",
search_aliases=["alt name", "synonym"],
...
)
```
## Related PRs
- Frontend: Comfy-Org/ComfyUI_frontend#XXXX (draft - merge after this)
- Docs: Comfy-Org/docs#XXXX (draft - merge after stable)
* Propagate search_aliases through V3 Schema.get_v1_info to NodeInfoV1
2026-01-21 15:36:02 -08:00
comfyanonymous
2108167f9f
Support zimage omni base model. ( #11979 )
2026-01-19 23:17:38 -05:00
nomadoor
c9196f355e
Fix scale_shorter_dimension portrait check ( #11862 )
2026-01-13 18:25:09 -08:00
nomadoor
469dd9c16a
Adds crop to multiple mode to ResizeImageMaskNode. ( #11838 )
...
* Add crop-to-multiple resize mode
* Make scale-to-multiple shape handling explicit
2026-01-13 16:48:10 -08:00
Acly
d9dc02a7d6
Support "lite" version of alibaba-pai Z-Image Controlnet ( #11849 )
...
* reduced number of control layers (3) compared to full model
2026-01-13 15:03:53 -05:00
Terry Jia
4609fcd260
add node - image compare ( #11343 )
2026-01-08 21:31:19 -08:00
Jukka Seppänen
027042db68
Add node: JoinAudioChannels ( #11728 )
2026-01-08 22:14:06 -05:00