Commit Graph

5779 Commits

Author SHA1 Message Date
Simon Pinfold 2f1b9c636d
Merge 789bcf34f7 into a9ab2b62da 2026-08-15 10:29:11 -07:00
Christian Byrne a9ab2b62da
[Partner Nodes] Stop adding an opaque alpha channel to API node images (#15369)
* Stop adding an opaque alpha channel to API node images

bytesio_to_image_tensor converted every downloaded image to RGBA, so nodes
whose API returns no transparency still emitted a 4 channel IMAGE. Keep the
alpha when the decoded image has one, stay RGB when it does not.

---------

Signed-off-by: bigcat88 <bigcat88@icloud.com>
Co-authored-by: bigcat88 <bigcat88@icloud.com>
2026-08-15 21:27:24 +04:00
Alexander Piskun 0f1fa67ad8
[Partner Nodes] feat(ByteDance): add Seedance 2.5 task_type for video extension (#15579)
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2026-08-15 07:37:17 +03:00
comfyanonymous a7365071e4
Enable dynamic vram by default on ROCm 7.14 and higher. (#15633) 2026-08-14 20:34:40 -04:00
Jukka Seppänen 55b6a9b11d
Fix thinking handling (#15611) 2026-08-14 15:17:18 -04:00
Daxiong (Lin) 1c6d8d45b3
chore: update embedded docs to v0.5.10 (#15613) 2026-08-14 10:31:38 -07:00
Jukka Seppänen 7fe8a61385
Speedup Gemma4 text generation (CORE-371) (#15054) 2026-08-13 21:12:55 -04:00
Comfy Org PR Bot a779de4d89
Bump comfyui-frontend-package to 1.49.6 (#15526)
Co-authored-by: Alexis Rolland <alexisrolland@hotmail.com>
2026-08-13 16:55:28 -07:00
Comfy Org PR Bot 8f37cf8c83
chore(openapi): sync shared API contract from cloud@94d0f1b (#15041)
Co-authored-by: mattmillerai <7741082+mattmillerai@users.noreply.github.com>
Co-authored-by: Matt Miller <mattmiller@comfy.org>
2026-08-13 13:22:05 -07:00
Barish Ozbay e01fb4c56b
Add MiniMaxH3AddGuide for anchoring image and audio guides at any frame (#15439) 2026-08-13 15:55:36 -04:00
comfyanonymous 03fa4e48ba
Fix minimax music not working on non dynamic vram. (#15588) 2026-08-13 15:47:44 -04:00
comfyanonymous 2f35f4a081 ComfyUI v0.33.0 2026-08-13 13:20:22 -04:00
rattus ddbaa87528
minimax: early detect qkv vs q,k,v (#15581)
avoid a commit charge surge on non-dynamic windows due to double linear
creation.
2026-08-13 13:08:08 -04:00
Daxiong (Lin) 86aedfd943
chore: update workflow templates to v0.11.41 (#15578) 2026-08-13 12:23:02 -04:00
rattus af3d2153a7
llama: fix non-local x path (#15580) 2026-08-13 12:21:26 -04:00
Alexander Piskun e535e59e13
[Partner Nodes] feat(Bria): add GenFill, Eraser, Expand and Increase Resolution nodes (#15572)
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2026-08-13 19:18:12 +03:00
rattus efd4e951a0
Implement Minimax Music 3 + Core Support for Cuda Graphs (#15570) 2026-08-13 12:10:08 -04:00
Alexander Piskun 12666983cb
[Partner Nodes] feat(MiniMax): add ContextIR and Regenerate nodes (#15471)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-08-13 17:46:08 +03:00
comfyanonymous b323a345bb
Update comfy-kitchen package version to 0.2.31 (#15564) 2026-08-12 23:01:31 -04:00
Alexander Brown addd479729
Fix Generate Text ignoring thinking=false on Gemma4 E2B/E4B (#15278) 2026-08-12 22:44:14 -04:00
Alex Harper 2220d111c8
Query pytorch for aotriton support instead of listing its lib directory (#15412) 2026-08-12 21:40:11 -04:00
comfyanonymous 6b30dc2068
Don't disable dynamic vram on WSL. (#15562) 2026-08-12 21:39:00 -04:00
comfyanonymous 725e6ec606
Support anima tunes with extra blocks. (#15555) 2026-08-12 16:22:50 -04:00
comfyanonymous bd34f338ac
Fix float64 device in ltx diffusion decoder. (#15516) 2026-08-12 03:55:08 -04:00
Christian Byrne 26d7f85568
Fix PreviewAny escaping non-ASCII text in dict and list previews (#15513) 2026-08-11 23:42:35 -07:00
Robin Huang 945ffca32e
chore: replace api nodes -> partner nodes in README (#15519) 2026-08-11 23:21:08 -07:00
Daxiong (Lin) 1108f2ac5e
chore: update workflow templates to v0.11.40 (#15522) 2026-08-11 22:24:24 -07:00
Simon Pinfold 789bcf34f7 Re-enrich a reference whose asset no longer has a hash
count_active_siblings excludes soft-deleted references, so rewriting the last
active reference to a shared asset clears that asset's hash in place while a
soft-deleted sibling still points at it. Restoring the sibling then matched the
unchanged check on its own untouched file and kept enrichment_level at HASHED,
so it was never re-hashed.

Preserving state only makes sense when there is state to preserve: require a
recorded hash before taking the unchanged path.
2026-08-11 16:44:45 -07:00
Simon Pinfold b02435c49d Preserve asset hash when re-registering an unchanged file
ingest_existing_file cleared the asset hash and enrichment level for every
existing reference it saw, including files that had not changed since they
were registered. Generated outputs are hashed as they are produced and then
re-registered once the prompt finishes, so that second pass discarded a hash
that had just been computed.

Compare the recorded mtime and size against the file on disk and only reset
the content state when the file has actually been rewritten.
2026-08-11 16:25:53 -07:00
Jukka Seppänen 27bca654eb
Fix KSamplerAdvanced with add_noise disabled on nested latents (#15447) 2026-08-11 17:58:00 -04:00
comfyanonymous c2bcbecd82 ComfyUI v0.32.0 2026-08-11 16:46:59 -04:00
comfyanonymous 024cbc5fc1
Remove potentially problematic process_tokens method. (#15507) 2026-08-11 16:45:52 -04:00
comfyanonymous bbb4b04caa
Don't depend on transformers for mistral and llama tokenizers. (#15503) 2026-08-11 15:54:44 -04:00
comfyanonymous d9f9d2ba12
Fix some clip vision regression. (#15506) 2026-08-11 15:54:15 -04:00
Alexander Piskun 2eaf09f50d
[Partner Nodes] feat(Grok): add Grok Imagine Image 2.0 model (#15496)
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2026-08-11 22:38:08 +03:00
Daxiong (Lin) eb4a7b4fcf
chore: update workflow templates to v0.11.39 (#15504) 2026-08-11 15:20:39 -04:00
comfyanonymous 2a19bbf014
Fix for broken tiled audio decode. (#15502) 2026-08-11 14:07:32 -04:00
Alexander Piskun ce4fc13094
[Partner Nodes] feat(LTX): add new nodes for model version 2.5 (#15501)
* [Partner Nodes] feat(LTX): add new nodes for model version 2.5

Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2026-08-11 20:50:42 +03:00
Alexis Rolland 57ce8e1a27
Add support for LTX 2.5 (#15499)
---------

Co-authored-by: kijai <40791699+kijai@users.noreply.github.com>
2026-08-11 13:47:39 -04:00
comfyanonymous 62b3c94bd4
Fix peak memory issue with H3. (#15486) 2026-08-11 02:09:29 -07:00
comfyanonymous bf4c9a08fc
Implement comfy kitchen attention. (#15479)
Add a ModelAttentionBackend node to manually select the attention for models in the workflows. Currently supports pytorch attention or comfy kitchen attention.

Add --use-ck-attention to enable comfy kitchen attention as the default attention backend for all models (might break some).
2026-08-10 22:03:08 -07:00
comfyanonymous 4f3544d131
Make cu130 warning more visible. (#15463) 2026-08-10 23:25:01 -04:00
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