Commit Graph

5737 Commits

Author SHA1 Message Date
chelsealong
6233790c6d Fix VAEDecodeTiled crash on NestedTensor latents (MiniMax H3) (#15477)
VAEDecode unwraps a NestedTensor latent (video/audio pair) to its
video component before calling vae.decode(). VAEDecodeTiled skipped
this unwrap and passed the NestedTensor straight into
vae.decode_tiled(), which fails deep in the MiniMax H3 video VAE when
a real tensor's .to() is called with the NestedTensor as an argument.

Fixes #15468.
2026-08-10 23:00:23 -04:00
Simon Pinfold
34744cd29e Add tags_all / tags_any / tags_none tag filters to the assets list API (#15332)
* Implement tags_all/tags_any/tags_none on the assets list API (BE-6600)

Adds the three canonically-named tag filter params to GET /api/assets and
GET /api/assets/tags/refine:

- tags_all: asset carries every tag (replaces include_tags)
- tags_any: asset carries at least one tag (new)
- tags_none: asset carries no tag (replaces exclude_tags)

Clauses intersect; tags_none always wins. include_tags/exclude_tags remain
as permanent deprecated aliases and behave exactly as before when used on
their own.

Invalid combinations return 400 INVALID_TAG_FILTER, but only when the
request uses at least one new-name parameter (non-empty after
normalisation):

- mixed spellings of one slot (include_tags with tags_all, exclude_tags
  with tags_none)
- the same tag in the effective all-list and none-list (query can never
  match)

Old-names-only requests gain no new error paths: include_tags=a&exclude_tags=a
still returns an empty 200. tags_any/tags_none overlap stays valid (dead
term, not a dead query).

* Address review findings: positional-compat, deprecation metadata, test matrix

- Move any_tags to the end of the four touched signatures: inserting it
  mid-signature silently misbound pre-existing positional callers (e.g.
  a caller passing name_contains positionally would have it consumed as
  any_tags).
- Mark include_tags/exclude_tags Field(deprecated=True) on both list
  schemas so generated schema metadata matches the contract, not just a
  comment (schemas_out.py already uses this form for Asset.name).
- Add tests: legal cross-slot old/new combinations, repeated query-key
  concatenation (pins Core behavior; outside the cross-platform
  contract), tags_any two-page cursor consistency (total/has_more/
  no-overlap), refine-route mixed-spelling rejection + legacy-conflict
  preservation, and schema deprecation metadata.

* Pin tag-value opacity: case-sensitive matching, byte-exact conflict check

The prod tag survey (~/comfy/prod-model-tag-shape.md) found live
case-distinct tag pairs (SEEDVR2/seedvr2) that resolve differently, so
the contract now states tag values are opaque byte-strings. Pin that:
case-distinct tags filter separately, and a case-distinct all/none pair
is not an INVALID_TAG_FILTER conflict.

* Document tags_all/tags_any/tags_none in openapi.yaml, deprecate aliases

Add the three tag-filter parameters to both listAssets and
getAssetTagHistogram parameter blocks and mark include_tags/exclude_tags
deprecated: true, keeping the spec in step with the runtime schemas so
generated clients can discover the new filters while the aliases stay
present for existing consumers.

* Move schemas_in import to module scope in test_list_filter

Review feedback: no import cycle requires the local import.

* Silence per-request DeprecationWarning in the tag-filter remap shim

Reading the deprecated include_tags/exclude_tags fields by attribute
fires pydantic's DeprecationWarning on every list/refine request even
for callers using only the new names. The warning is aimed at API
clients, not the server's own remap; read via model_dump instead.

* Cap tag-filter lists at 100 entries, all spellings

Review finding: unbounded tag lists fan out into one correlated EXISTS
per tag on both page and count statements. Cap each list at 100
normalized entries with 400 INVALID_TAG_FILTER naming the parameter.

Applies to the legacy spellings as well — a deliberate, decided
exception to the old-names-behave-identically rule, since a cap only on
new names would leave the same fan-out reachable through the aliases.

* Strip process narration from comments

Comments carried decision dates, contract cross-references, and review
context. Keep only the constraints the code cannot show, one line each.
2026-08-10 14:05:21 -07:00
Alexander Piskun
7d11ec31cb [Partner Nodes] feat(Qwen): add Qwen-Image 3.0 image generation and editing nodes (#15327)
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2026-08-10 10:13:24 +03:00
Jukka Seppänen
2a68ce33b4 Optimize MiniMax-H3 VAE (#15446) 2026-08-09 14:24:48 -04:00
blepping
cbbc9dab1f Make a context manager for cast_bias_weight and use it. (#14750) 2026-08-08 22:38:34 -04:00
chaObserv
40e46c7110 Extend ER-SDE noise scaler by scaling h(t) (#15428) 2026-08-08 22:06:12 -04:00
claude[bot]
a683fa6e57 Add previewable_outputs_count to /api/jobs (backend half of Media Assets badge fix) (#15148) 2026-08-08 18:06:03 -07:00
comfyanonymous
9eaba63e1a Fix upscale models breaking on non dynamic vram low vram. (#15437) 2026-08-08 17:51:05 -04:00
Terry Jia
00d02f2854 fix: make Create Layered Image discoverable and its flags self-explanatory (#15429) 2026-08-08 10:50:09 -07:00
comfyanonymous
dd79c643a9 Minimum officially supported pytorch is now 2.7 (#15413) 2026-08-08 02:12:21 -04:00
Daxiong (Lin)
5599a05fea chore: update workflow templates to v0.11.37 (#15415) 2026-08-07 19:27:21 -07:00
comfyanonymous
cd84f47efe Make it easier to debug nested tensors. (#15383) 2026-08-07 22:14:04 -04:00
comfyanonymous
43cb4fffc8 ComfyUI v0.31.0 v0.31.0 2026-08-07 18:29:35 -04:00
comfyanonymous
66057c4e59 Update comfy-kitchen package version to 0.2.28 (#15407) 2026-08-07 18:25:27 -04:00
Daxiong (Lin)
2f40b7131c chore: update workflow templates to v0.11.34 (#15404) 2026-08-07 13:28:01 -07:00
Terry Jia
8fadc7b5be [Partner Nodes] feat: ImageCompositor node with layer-state compositing, layer from bbox and Seedream Layer Separation node (#15317) 2026-08-07 13:25:37 -07:00
Comfy Org PR Bot
6db4fa2fcd Bump comfyui-frontend-package to 1.48.7 (#15403) 2026-08-07 11:51:34 -07:00
Alexander Piskun
0db8694115 [Partner Nodes] feat(ByteDance): add SeeDance 2.5 model (#15395)
* [Partner Nodes] feat(ByteDance): add SeeDance 2.5 model

Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2026-08-07 21:28:09 +03:00
Jukka Seppänen
344b43989e Support asym w4a8_int (#15308)
* support asym w4a8_int

* Simplify

* Fixes
2026-08-07 08:32:57 -07:00
Jukka Seppänen
93cb5edb98 Fix audio carry to wrappers (#15390) 2026-08-07 08:30:21 -07:00
Alexander Piskun
531ea7db13 [Partner Nodes] chore(Gemini,OpenAI): update pricing for image models (#15306)
* [Partner Nodes] chore(Gemini): update pricing for Nano Banana image models

Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-08-07 14:36:12 +03:00
comfyanonymous
0ab8332bfa Update comfy-kitchen package version to 0.2.27 (#15388) 2026-08-07 03:33:38 -04:00
comfyanonymous
2340099d93 Fix full offload on minimax audio vae. (#15377) 2026-08-07 00:26:16 -04:00
Christian Byrne
0dd9b154a1 chore: fail the CodeRabbit status when the review did not run (#15382) 2026-08-06 21:04:25 -07:00
Jukka Seppänen
a464ac3358 feat: Support Wan-Animate2 (CORE-358) (#15362) 2026-08-06 21:08:16 -04:00
comfyanonymous
88fec4b605 Skip creating useless noise in res_multistep sampler. (#15339) 2026-08-06 18:17:44 -04:00
Jukka Seppänen
bdcb886a47 Fix sampler issues for audio with minimax, support more samplers. (#15243) 2026-08-06 13:36:34 -07:00
Alexander Piskun
2eb609766a [Partner Nodes] chore(Reve): deprecate Reve nodes (#15331)
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2026-08-06 10:21:36 +03:00
endman100
563b98eefb Fix MiniMax H3 latent noise mask sampling (#15322) 2026-08-05 23:47:13 -04:00
Jukka Seppänen
15989f87ca Speedup LTX and Wan (#15138) 2026-08-05 21:15:48 -04:00
Jukka Seppänen
bbda83647d Support int8_convrot VAE (#15334) 2026-08-05 21:12:23 -04:00
comfyanonymous
7972b5ba7f Make the desktop app more prominent in the readme. (#15330) 2026-08-05 14:25:15 -07:00
Comfy Org PR Bot
6f7cd7fcea Bump comfyui-frontend-package to 1.48.6 (#15301) 2026-08-04 19:53:21 -07:00
comfyanonymous
de23a547f1 Update the Features section with more up to date stuff. (#15302) 2026-08-04 19:45:30 -07:00
rattus
ba1d0efc9f comfy-aimdo 0.4.13 (#15290)
Comfy-aimdo 0.4.12 increases error logging reliablity to help root
cause os errors in some of the C APIs that are causing issues for
some users.

The log is also unified with python logging, so non-terminal users
see the logs properly.

Aimdo 0.4.13 fixes a bug in async-offload + MRU primary weights
allocation. https://github.com/Comfy-Org/ComfyUI/issues/15284
2026-08-04 21:47:11 -04:00
Daxiong (Lin)
2bbb200dc9 chore: update workflow templates to v0.11.31 (#15297)
Co-authored-by: Jedrzej Kosinski <kosinkadink1@gmail.com>
2026-08-04 17:29:44 -07:00
Alexander Piskun
e7970cb2ce [Partner Nodes] feat(BFL): add Flux 3 video model (#15295)
* [Partner Nodes] feat(BFL): add Flux 3 video model

Signed-off-by: Alexander Piskun <bigcat88@icloud.com>

* [Partner Nodes] fix(BFL): harden keyframe value check

Signed-off-by: Alexander Piskun <bigcat88@icloud.com>

---------

Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
Co-authored-by: Jedrzej Kosinski <kosinkadink1@gmail.com>
2026-08-04 17:26:10 -07:00
Alexander Piskun
1868372da0 [Partner Nodes] feat(TopazAI): add Bloom 2 and Wonder 3.5 models support (#15294)
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2026-08-04 22:51:09 +03:00
rattus
40dbdc1bef restore SDPA non-cudnn small attention bypass (#15296)
This is performance critical for ACE step.
2026-08-04 15:25:25 -04:00
Alexander Piskun
c44dea1880 [Partner Nodes] chore(Kling): remove retired legacy models and Virtual Try-On API (#15249)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-08-04 19:24:21 +03:00
comfyanonymous
9a9fdb10ed Harden some nodes against potential issues related to combos. (#15277) 2026-08-03 23:55:13 -04:00
rivadart
16e3f3034f fix(minimax): cast raw parameters to input device in H3 VAEs (#15268) 2026-08-03 19:06:12 -04:00
comfyanonymous
e377e26304 Don't pin too much memory on Linux systems with no swap partition. (#15266) 2026-08-03 16:29:47 -04:00
Comfy Org PR Bot
14b05228ce Bump comfyui-frontend-package to 1.47.12 (#15244)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-08-02 22:03:37 -07:00
comfyanonymous
b1693ecba9 ComfyUI v0.30.0 v0.30.0 2026-08-02 22:49:14 -04:00
Daxiong (Lin)
6eba7739f0 chore: update workflow templates to v0.11.27 (#15239) 2026-08-02 19:47:04 -07:00
Daxiong (Lin)
f72b68878e Update workflow templates to v0.11.26 (#15228) 2026-08-02 22:29:02 -04:00
Jukka Seppänen
57500fc5bc feat: Support MiniMax-H3 (CORE-375) (#15224) 2026-08-02 22:28:29 -04:00
Oliver Freyermuth
b53e247c94 rename comfy/logging.py to comfy/internal_logging.py (#15231)
This avoids name collision (circular imports) for external custom nodes,
for which the comfy path is pushed into sys.path so Python's own logging module
is shadowed otherwise.

fixes: #15229
2026-08-02 16:20:27 -04:00
rattus
611f2a4e0f fix pin registration priority (#15226)
This priority scheme was broken in the case where you have pin
registration exhaustion while loading a VBAR that gets a big evicition.
The weight would stay in the loaded set but inherit the MRU priority
against other workflow models WRT pin registration which leads to async
offload without pinning.

Fix by universally promiting active pin registration above workflow
pins without concern for the weights/weights-loaded split. This diverges
from the actual budgeting where the split still makes sense.
2026-08-02 08:16:06 -07:00