Commit Graph

23 Commits

Author SHA1 Message Date
Yousef Rafat
291b091720 forgot about ruff 2025-11-20 17:56:41 +02:00
Yousef Rafat
07cd971992 split encodevideo into two nodes 2025-11-20 16:28:48 +02:00
Yousef Rafat
b012a3307e ruff check 2025-11-19 23:19:22 +02:00
Yousef Rafat
86348baa9e updated based on feedback 2025-11-19 23:01:17 +02:00
Yousef Rafat
25f7bbed78 ruff check 2025-10-13 19:46:03 +03:00
Yousef Rafat
4653b9008d final changes 2025-10-13 19:28:54 +03:00
Yousef Rafat
4908e7412e bug fixes for siglip2 to work 2025-10-12 00:04:43 +03:00
Yousef Rafat
89fc51fb91 small bug fixes 2025-10-10 20:35:52 +03:00
Yousef Rafat
e684ff2505 a lot of fixes + siglip2_base support 2025-10-10 19:11:50 +03:00
Yousef Rafat
220c65dc5f fixed the syncform logic + condition-related fixes
the trimming fn needs an update because of the over-trimming
2025-10-06 23:38:47 +03:00
Yousef Rafat
95d2aae264 syncformer fix + some fixes 2025-10-06 18:47:21 +03:00
Yousef Rafat
4b6c08110d large optimizations and some fixes 2025-10-04 23:33:52 +03:00
Yousef Rafat
663d971830 work on the conditioning 2025-10-04 00:18:03 +03:00
Yousef Rafat
cc3a1389ad some fixes in model loading and nodes 2025-10-01 00:06:01 +03:00
Yousef Rafat
42a265cddf fixed multiple errors in nodes and model loading 2025-09-29 22:44:40 +03:00
Yousef Rafat
12824eac0d init 2025-09-27 13:17:20 +03:00
Alexander Piskun
fea9ea8268
convert Video nodes to V3 schema (#9489) 2025-08-30 23:19:54 -04:00
guill
0a3d062e06
ComfyAPI Core v0.0.2 (#8962)
* ComfyAPI Core v0.0.2

* Respond to PR feedback

* Fix Python 3.9 errors

* Fix missing backward compatibility proxy

* Reorganize types a bit

The input types, input impls, and utility types are now all available in
the versioned API. See the change in `comfy_extras/nodes_video.py` for
an example of their usage.

* Remove the need for `--generate-api-stubs`

* Fix generated stubs differing by Python version

* Fix ruff formatting issues
2025-07-29 22:17:22 -04:00
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
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
Chenlei Hu
5d84607bf3
Add type hint for FileLocator (#6968)
* Add type hint for FileLocator

* nit
2025-03-05 15:35:26 -05:00
comfyanonymous
0c32f82298 Fix missing frames in SaveWEBM node. 2025-02-25 20:21:03 -05:00
comfyanonymous
0d4d9222c6 Add early experimental SaveWEBM node to save .webm files.
The frontend part isn't done yet so there is no video preview on the node
or dragging the webm on the interface to load the workflow yet.

This uses a new dependency: PyAV.
2025-02-19 07:12:15 -05:00