guill
68f0d35296
Add support for VIDEO as a built-in type ( #7844 )
...
* Add basic support for videos as types
This PR adds support for VIDEO as first-class types. In order to avoid
unnecessary costs, VIDEO outputs must implement the `VideoInput` ABC,
but their implementation details can vary. Included are two
implementations of this type which can be returned by other nodes:
* `VideoFromFile` - Created with either a path on disk (as a string) or
a `io.BytesIO` containing the contents of a file in a supported format
(like .mp4). This implementation won't actually load the video unless
necessary. It will also avoid re-encoding when saving if possible.
* `VideoFromComponents` - Created from an image tensor and an optional
audio tensor.
Currently, only h264 encoded videos in .mp4 containers are supported for
saving, but the plan is to add additional encodings/containers in the
near future (particularly .webm).
* Add optimization to avoid parsing entire video
* Improve type declarations to reduce warnings
* Make sure bytesIO objects can be read many times
* Fix a potential issue when saving long videos
* Fix incorrect type annotation
* Add a `LoadVideo` node to make testing easier
* Refactor new types out of the base comfy folder
I've created a new `comfy_api` top-level module. The intention is that
anything within this folder would be covered by semver-style versioning
that would allow custom nodes to rely on them not introducing breaking
changes.
* Fix linting issue
2025-04-29 05:58:00 -04:00
Andrew Kvochko
772b4c5945
ltxv: overwrite existing mask on conditioned frame. ( #7845 )
...
This commit overwrites the noise mask on the latent frame that is being
conditioned with keyframe conditioning, setting it to one.
2025-04-28 13:42:04 -04:00
Pam
30159a7fe6
Save v pred zsnr metadata ( #7840 )
2025-04-28 13:03:21 -04:00
Andrew Kvochko
cb9ac3db58
ltxv: add strength parameter to conditioning. ( #7849 )
...
This commit adds strength parameter to the LTXVImgToVideo node.
2025-04-28 12:59:17 -04:00
comfyanonymous
23e39f2ba7
Add a T5TokenizerOptions node to set options for the T5 tokenizer. ( #7803 )
2025-04-25 19:36:00 -04:00
comfyanonymous
5acb705857
Switch LTXVPreprocess to libx264 ( #7776 )
2025-04-24 13:58:31 -04:00
Alex Butler
92cdc692f4
Replace aom-av1 with svt-av1 for saving webm videos, use preset 6 + yuv420p10le pixel format ( #7736 )
...
* Add support for saving svt-av1 webm videos & yuv420p10le pixel format
* Replace aom-av1 with svt-av1
Use yuv420p10le for av1
2025-04-22 17:57:17 -04:00
Terry Jia
454a635c1b
upstream MaskPreview from ComfyUI_essentials ( #7719 )
2025-04-22 05:00:28 -04:00
comfyanonymous
5d0d4ee98a
Add strength control for vace. ( #7717 )
2025-04-21 19:36:20 -04:00
Alexander G. Morano
9d57b8afd8
Update nodes_primitive.py ( #7716 )
...
Allow FLOAT and INT types to support negative numbers.
Caps the numbers at the user's own system min and max.
2025-04-21 18:51:31 -04:00
comfyanonymous
ce22f687cc
Support for WAN VACE preview model. ( #7711 )
...
* Support for WAN VACE preview model.
* Remove print.
2025-04-21 14:40:29 -04:00
comfyanonymous
11b72c9c55
CLIPTextEncodeHiDream. ( #7703 )
2025-04-21 02:41:51 -04:00
comfyanonymous
7ecd5e9614
Increase freq_cutoff in FreSca node.
2025-04-18 03:16:16 -04:00
Terry Jia
34e06bf7ec
add support to output camera state ( #7582 )
2025-04-18 02:52:18 -04:00
comfyanonymous
3dc240d089
Make fresca work on multi dim.
2025-04-17 15:46:41 -04:00
BVH
19373aee75
Add FreSca node ( #7631 )
2025-04-17 15:24:33 -04:00
comfyanonymous
eba7a25e7a
Add WanFirstLastFrameToVideo node to use the new model.
2025-04-17 13:23:22 -04:00
comfyanonymous
9ad792f927
Basic support for hidream i1 model.
2025-04-15 17:35:05 -04:00
JNP
9ee6ca99d8
add_optimalsteps ( #7584 )
...
Co-authored-by: bebebe666 <jianningpei@tencent.com>
2025-04-12 20:33:36 -04:00
comfyanonymous
ab31b64412
Make "surface net" the default in the VoxelToMesh node.
2025-04-09 09:42:08 -04:00
thot experiment
fe29739c68
add VoxelToMesh node w/ surfacenet meshing ( #7446 )
...
* add VoxelToMesh node w/ surfacenet meshing
could delete the VoxelToMeshBasic node now probably?
* fix ruff
2025-04-09 09:41:03 -04:00
comfyanonymous
3d2e3a6f29
Fix alpha image issue in more nodes.
2025-04-02 19:32:49 -04:00
comfyanonymous
ab5413351e
Fix comment.
...
This function does not support quads.
2025-04-01 14:09:31 -04:00
comfyanonymous
548457bac4
Fix alpha channel mismatch on destination in ImageCompositeMasked
2025-03-31 20:59:12 -04:00
comfyanonymous
0b4584c741
Fix latent composite node not working when source has alpha.
2025-03-30 21:47:05 -04:00
Michael Kupchick
832fc02330
ltxv: fix preprocessing exception when compression is 0. ( #7431 )
2025-03-29 20:03:02 -04:00
comfyanonymous
0a1f8869c9
Add WanFunInpaintToVideo node for the Wan fun inpaint models.
2025-03-27 11:13:27 -04:00
comfyanonymous
3661c833bc
Support the WAN 2.1 fun control models.
...
Use the new WanFunControlToVideo node.
2025-03-26 19:54:54 -04:00
comfyanonymous
84fdaf7b0e
Add CFGZeroStar node.
...
Works on all models that use a negative prompt but is meant for rectified
flow models.
2025-03-26 05:09:52 -04:00
comfyanonymous
581a9991ff
Add model merging node for WAN 2.1
2025-03-23 08:06:36 -04:00
Terry Jia
2206246055
support output normal and lineart once ( #7290 )
2025-03-21 16:24:13 -04:00
comfyanonymous
d9fa9d307f
Automatically set the right sampling type for lotus.
2025-03-21 14:19:37 -04:00
thot experiment
83e839a89b
Native LotusD Implementation ( #7125 )
...
* draft pass at a native comfy implementation of Lotus-D depth and normal est
* fix model_sampling kludges
* fix ruff
---------
Co-authored-by: comfyanonymous <121283862+comfyanonymous@users.noreply.github.com>
2025-03-21 14:04:15 -04:00
comfyanonymous
0956107170
Nodes to convert images to YUV and back.
...
Can be used to convert an image to black and white.
2025-03-21 06:32:44 -04:00
Chenlei Hu
a4a956dbbd
Add backend primitive nodes ( #7328 )
...
* Add backend primitive nodes
* Add control after generate to int primitive
2025-03-21 01:47:18 -04:00
comfyanonymous
3872b43d4b
A few fixes for the hunyuan3d models.
2025-03-20 04:52:31 -04:00
comfyanonymous
32ca0805b7
Fix orientation of hunyuan 3d model.
2025-03-19 19:55:24 -04:00
comfyanonymous
11f1b41bab
Initial Hunyuan3Dv2 implementation.
...
Supports the multiview, mini, turbo models and VAEs.
2025-03-19 16:52:58 -04:00
Andrew Kvochko
67c7184b74
ltxv: relax frame_idx divisibility for single frames. ( #7146 )
...
This commit relaxes divisibility constraint for single-frame
conditionings. For single frames, the index can be arbitrary, while
multi-frame conditionings (>= 9 frames) must still be aligned to 8
frames.
Co-authored-by: Andrew Kvochko <a.kvochko@lightricks.com>
2025-03-10 04:11:48 -04:00
Terry Jia
e1da98a14a
remove unused params ( #6931 )
2025-03-09 14:07:09 -04:00
comfyanonymous
7395b0c0d1
Support new hunyuan video i2v model.
...
Use the new "v2 (replace)" guidance type in HunyuanImageToVideo and set
image_interleave to 4 on the "Text Encode Hunyuan Video" node.
2025-03-08 20:34:47 -05:00
comfyanonymous
be4e760648
Add an image_interleave option to the Hunyuan image to video encode node.
...
See the tooltip for what it does.
2025-03-07 19:56:26 -05:00
comfyanonymous
29a70ca101
Support HunyuanVideo image to video model.
2025-03-06 03:07:15 -05:00
Chenlei Hu
5d84607bf3
Add type hint for FileLocator ( #6968 )
...
* Add type hint for FileLocator
* nit
2025-03-05 15:35:26 -05:00
Chenlei Hu
52b3469606
[NodeDef] Explicitly add control_after_generate to seed/noise_seed ( #7059 )
...
* [NodeDef] Explicitly add control_after_generate to seed/noise_seed
* Update comfy/comfy_types/node_typing.py
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
---------
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2025-03-05 15:33:23 -05:00
comfyanonymous
76739c23c3
Revert "Partially revert last commit."
...
This reverts commit a80bc822a206e5d728e735f647c4c25b6c035b2d.
2025-03-05 09:57:40 -05:00
comfyanonymous
a80bc822a2
Partially revert last commit.
2025-03-05 08:58:44 -05:00
Andrew Kvochko
872780d236
fix: ltxv crop guides works with 0 keyframes ( #7085 )
...
This patch fixes a bug in LTXVCropGuides when the latent has no
keyframes. Additionally, the first frame is always added as a keyframe.
Co-authored-by: Andrew Kvochko <a.kvochko@lightricks.com>
2025-03-05 08:47:32 -05:00
comfyanonymous
77633ba77d
Remove unused variable.
2025-03-05 07:31:47 -05:00
comfyanonymous
30e6cfb1a0
Fix LTXVPreprocess on resolutions that are not multiples of 2.
2025-03-05 07:18:13 -05:00