Commit Graph

5481 Commits

Author SHA1 Message Date
comfyanonymous 0d8b7510bd
Update extra model paths example. (#14570) 2026-06-20 19:28:09 -07:00
Alexander Piskun dc3f8f314a
[Partner Nodes] chore(Google): remove preview versions of models that will be deprecated soon (#14555)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
Co-authored-by: Alexis Rolland <alexisrolland@hotmail.com>
2026-06-20 09:13:37 +03:00
Comfy Org PR Bot d282ef7201
chore(openapi): sync shared API contract from cloud@1aea581 (#14562) 2026-06-20 12:53:10 +08:00
comfyanonymous e00b55631a
Small anima optimization. (#14557) 2026-06-20 08:05:28 +08:00
Alexis Rolland 69d34f2654
Rename a bunch of nodes (#14547) 2026-06-20 08:01:28 +08:00
Barish Ozbay cd77c551d6
feat: Context Windows sampling with LTX2 models and IC-LoRa guides (CORE-3) (#13325) 2026-06-20 07:47:31 +08:00
Matt Miller 4e716f7c57
Add jobs-namespace cancel endpoints (POST /api/jobs/{job_id}/cancel, POST /api/jobs/cancel) (#14493)
* Add jobs-namespace cancel endpoints

Add two cancel endpoints under the jobs namespace so a job can be
cancelled by id without the caller needing to know whether the job is
running or pending, or branching between /interrupt and /queue.

- POST /api/jobs/{job_id}/cancel cancels one job by id. Idempotent: an
  already-finished or unknown id returns 200 {"cancelled": false} rather
  than an error.
- POST /api/jobs/cancel takes {"job_ids": [...]} and cancels a batch.
  Fail-fast: if any id is unknown the request returns 404 listing the
  unknown ids and cancels nothing (no partial side effects).

Both are state-agnostic and map onto the existing queue mechanics: a
running job is interrupted (same path as /interrupt), a pending job is
dequeued (same path as /queue {"delete": [...]}). The cancel logic lives
in comfy_execution.jobs as pure, unit-tested helpers; the server handlers
are thin wrappers. openapi.yaml documents both routes.

* fix: resolve review feedback on cancel endpoints

- Guard cancel_job() against TOCTOU: when dequeue() returns False the
  pending job left the queue between snapshot and delete; return
  CANCEL_UNKNOWN so callers never report cancelled=True for a remove
  that did not happen.
- Validate each job_ids element in the batch cancel endpoint before
  any queue access; unhashable or non-UUID values now return 400
  instead of raising TypeError (500).
- Update batch HTTP tests to use canonical UUID ids (required now that
  the endpoint validates id format) and add tests for the new guards.

* fix: make job cancel atomic and best-effort

Addresses two cancel races/edges raised in review.

Targeted, atomic interrupt. cancel_job's interrupt callback now takes the
prompt id and returns whether it fired; the single-cancel route backs it
with the new PromptQueue.interrupt_if_running, which checks the running set
and signals the interrupt under the queue mutex. This closes the TOCTOU
where a pending job that starts executing between the snapshot and dequeue
(or a running job that finishes between the snapshot and interrupt) could be
missed or, worse, cause an unrelated prompt to be interrupted. The per-prompt
interrupt-flag reset in execute_async keeps a finished job from leaking the
interrupt onto its successor.

Best-effort batch cancel. POST /api/jobs/cancel no longer fails the whole
batch with 404 when one id is unknown/finished; such ids are treated as
no-ops, so "cancel all" still cancels the in-progress jobs even if some
finished between the client's snapshot and the request. Malformed ids are
still rejected with 400.
2026-06-19 16:39:35 -07:00
Terry Jia 2ab3816dcf
feat: add Load3DAdvanced node (#14316) 2026-06-20 07:06:55 +08:00
Comfy Org PR Bot bc11e8a65a
Bump comfyui-frontend-package to 1.45.19 (#14559) 2026-06-19 16:01:34 -07:00
Alexander Piskun bd39bbf067
[Partner Nodes] fix: respect Retry-After header (#14234)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-19 11:32:56 +03:00
Alexander Piskun 5955ddff52
[Partner Nodes] feat(Luma): add support for Luma Rays 3.2 (#14540)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-19 08:46:07 +03:00
comfyanonymous 5ef0092af9
Move comfy sys path insert to custom node loading. (#14459) 2026-06-18 22:32:55 -04:00
Matt Miller 94ee49b161
harden: load training-dataset shards with weights_only=True (#14543)
LoadTrainingDataset was the only torch.load call in the codebase without
weights_only=True; comfy/utils.py and comfy/sd1_clip.py already pass it.
Recent PyTorch defaults to weights_only=True, so this is defense-in-depth
for installs pinned to older PyTorch. Verified a typical shard (latents +
standard conditioning) round-trips cleanly under weights_only=True.
2026-06-18 15:30:57 -04:00
Comfy Org PR Bot 16514da2e7
chore(openapi): sync shared API contract from cloud@d10ff72 (#14518) 2026-06-18 17:27:53 +08:00
Daxiong (Lin) 8483c215dc
Update ComfyUI Desktop to Comfy Desktop for consistent product naming (#14533) 2026-06-18 17:24:05 +08:00
Jedrzej Kosinski f2270f070a
feat: add enable_telemetry CLI feature flag (#14530) 2026-06-17 19:35:05 -07:00
Alexander Piskun 191a75a2cd
[Partner Nodes] feat(Kling): add support for Kling V3-Turbo model (#14528) 2026-06-18 07:54:53 +08:00
comfyanonymous 52257bb435
Add negative prompt to boogu edit node and set min images to 0. (#14529) 2026-06-17 15:42:29 -07:00
Jukka Seppänen e25c391888
feat: Support Boogu-Image (CORE-308) (#14523) 2026-06-17 14:22:36 -07:00
Jukka Seppänen ca3dbe206c
Allow using Qwen3-VL as flux2 klein text encoder (again) (#14526) 2026-06-17 08:45:06 -07:00
Jukka Seppänen a590d60bb1
feat: SCAIL-2 multireference (CORE-310) (#14509)
* SCAIl-2: support multiref
2026-06-17 16:21:23 +03:00
Alexis Rolland d202707ff2
Update TripoSplat categories (#14512) 2026-06-17 21:02:45 +08:00
comfyanonymous f026b01ba5
Update links to new comfyui desktop repo. (#14516) 2026-06-16 20:02:53 -07:00
EXA4V c7b246edc4
docs: add M3 and M4 to Apple Silicon supported chips list (#14449) 2026-06-17 10:01:05 +08:00
Daxiong (Lin) c44d261fc2
Add new model blueprints (#14506) 2026-06-17 08:52:55 +08:00
Alexis Rolland ca1622ca24
chore: Update nodes categories (CORE-263) (#14460) 2026-06-17 08:33:09 +08:00
Jukka Seppänen fc964047e7
feat: Support text generation with Qwen3-VL (CORE-276) (#14298) 2026-06-17 08:12:44 +08:00
Octopus 90eeeb2139
fix: log base directory to startup messages when --base-directory is used (fixes #13363) (#13370) 2026-06-16 19:21:36 +08:00
Maksim d38ea29d62
Add the checkbox to disable head drawing in node SDPoseDrawKeypoints (#14446) 2026-06-16 16:21:04 +08:00
Alexander Piskun b732aa192f
[Partner Nodes] chore(SoniloTextToMusic): reduce price by half (#14500)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-16 10:12:39 +03:00
Comfy Org PR Bot 86f987ca7c
chore(openapi): sync shared API contract from cloud@00ef9cc (#14423) 2026-06-16 12:24:41 +08:00
comfyanonymous 135abed8da ComfyUI v0.25.0 2026-06-15 23:45:14 -04:00
Alexis Rolland a439dcae07
Update nodes titles (#14417) 2026-06-16 11:42:00 +08:00
John Pollock 5db51b76b4
Fix odd-height crash and edge bleed in unaligned-width image/video decode (#14491)
a1d95f3f padded the decode width to the next multiple of 32 with the pad filter to fix libswscale's float YUV->GBR edge corruption, but kept the pad target height equal to the source height. The pad filter requires the target height to be a multiple of the input's vertical chroma subsampling factor, so a chroma-subsampled input such as yuv420p (the format the gbrpf32le float branch decodes) with an odd height makes the filter round the target below the input height and fail to configure: 'Padded dimensions cannot be smaller than input dimensions' (Errno 22). This is reachable from LoadImage, which routes static images through VideoFromFile, on a lossy WebP whose width is not a multiple of 32 and whose height is odd.

The pad filter also fills the added border with black, and chroma upsampling bleeds that black into the cropped edge of every unaligned-width subsampled decode.

Pad both axes to the next multiple of 32 (32 is a multiple of every vertical subsampling factor, including yuv410p's 4 that a plain even rounding misses) and run fillborders mode=smear to replicate the real edge into the padding so it never bleeds into the cropped output, then crop both axes back to the source size. Aligned-width and uint8 paths run the identical to_ndarray call as before and are byte-identical to master; only unaligned-width subsampled inputs change, from a crash or edge artifact to a clean, deterministic decode.
2026-06-15 20:23:09 -07:00
rattus b13ca1ce7b
main: support fallback to aimdo 0.4.9 (#14489)
The aimdo 0.4.10 protocol causing startup failure to be too early and
before the aimdo version warning can happen. This causes user
confusion. Limp on with 0.4.9 as it will work and users will see the
version warning.
2026-06-15 20:22:24 -07:00
Alexander Piskun 2f4c4e983c
[Partner Nodes] fix(SoniloTextToMusic): always require "duration" to be specified (#14484) 2026-06-16 00:20:01 +08:00
Daxiong (Lin) 83a3f03218
chore: update workflow templates to v0.10.0 (#14482) 2026-06-15 08:06:15 -07:00
rattus ec4dec93d2
Comfy Aimdo 0.4.10 + Dynamic --reserve-vram + --vram-headroom (#14480)
* main: implement --vram-headroom

Implement --vram-headroom for dynamic vram as a hybrid debug/diagnostic
option that can be used for people who still report shared VRAM spills.
They can trial and error the setting to maintain a bit more headroom to
avoid shared VRAM spills.

* main: implement --reserve-vram

Implement --reserve-vram as extra headroom on the simple method which
is semantically as close as possible to the stated functionality and
formet behaviour of non-dynamic VRAM.
2026-06-15 07:54:36 -07:00
Daxiong (Lin) 7d4194d984
chore: update embedded docs to v0.5.4 (#14478) 2026-06-15 16:35:36 +08:00
comfyanonymous 4388eb781a
This is already auto enabled by default. (#14476) 2026-06-14 18:47:22 -07:00
Dr.Lt.Data e1b9366898
bump manager version to 4.2.2 (#14471) 2026-06-14 14:42:03 -04:00
Alexander Piskun 5897d0c3ae
[Partner Nodes] feat(Tripo3d): add new "Import 3D" node (#14466)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-14 17:19:20 +03:00
John Pollock a1d95f3f82
Fix nondeterministic video decode at unaligned widths (CORE-299) (#14438) 2026-06-14 08:58:48 +08:00
comfyanonymous 64cc078069
Revert last commit. Last time I use this stupid GitHub app. 2026-06-13 12:50:31 -07:00
comfyanonymous 740d347279
Remove the comfy python path append. 2026-06-13 12:47:04 -07:00
Robin Huang b664349ae7
Expose deploy_environment in /system_stats (#14402) 2026-06-13 22:15:49 +08:00
Alexander Piskun fe54b5e955
Add 10-bit video support (#14452)
Create Video gets a bit_depth option (8-bit/10-bit); the selected depth is carried by the video and applied when it gets encoded. Save Video and Video Slice now keep the source bit depth instead of always quantizing to 8-bit, so 10-bit videos stay 10-bit. 10-bit uses h264 with the yuv420p10le pixel format,so there's no new codec or container.

Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-13 16:05:25 +03:00
comfyanonymous 7277d99d3a
Use comfy kitchen apply rope in omnigen2 model. (#14442) 2026-06-13 09:38:39 +08:00
Alexander Piskun 28a40fb2b2
[Partner Nodes] feat: add Runway Aleph2 node (#14306)
Signed-off-by: bigcat88 <bigcat88@icloud.com>
2026-06-12 10:17:11 -07:00
rattus d7a552720c
add --high-ram option (#14437)
Add this option for users who know they have so much ram they want
to pin everything or have a pagefile that outruns their disk speed.

The removes the RAM pressure caps completely and pins behind the
primary model load forcing all models to be permanently comitted
to RAM.
2026-06-12 07:53:33 -07:00