Commit Graph
267 Commits
Author SHA1 Message Date
Fillip ca8fa940bb feat: add masked LTXV IC-LoRA guide 2026-05-18 20:03:36 -07:00
Fillip f6123583b8 feat: add Z-Image ControlNet patch loader 2026-05-18 17:08:48 -07:00
Fillip 4ea831d0c0 Fix video crop recompose bounds and channels 2026-05-10 18:11:40 -07:00
Fillip b915dcffea Add region PNG overlay node 2026-05-08 17:52:01 -07:00
FillipandClaude Opus 4.7 5bae402ead feat: add FL KSampler SEG family for segmented diffusion (v2.7.0)
Four-node pipeline that partitions an image or video into uniform-area
Voronoi regions, optionally captions each region via OpenRouter vision
models, encodes per-region prompts through CLIP, and composites
per-region diffusion via cascade-paint:

- FL KSampler SEG Regions: grid-init + Lloyd relaxation Voronoi cells,
  feathered overlapping soft masks for guaranteed coverage, on-node
  preview with overlay or coverage-heatmap modes
- FL KSampler SEG Captioner: per-region vision-LLM captioning via
  OpenRouter (gpt-4o-mini / gemini-flash / claude-haiku), with on-node
  thumbnail grid that fills as captions arrive
- FL KSampler SEG Encoder: caption -> per-region CONDITIONING via CLIP
  with prompt deduplication caching
- FL KSampler SEG: corner-anchored nearest-neighbor cascade-paint
  composite, auto-detects model latent_format.spacial_downscale_ratio
  so video models like LTX-Video (32x) and Hunyuan-Video (16x) work
  out of the box, supports both 4D image and 5D video latents

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 12:04:02 -07:00
FillipandClaude Opus 4.7 2c94c3b675 feat: add FL Depth Blur node (v2.6.0)
Depth-of-field blur driven by a paired depth map. Hyperparameters
expose focal plane, focal range, falloff curve (linear/quadratic/
smooth/exponential), asymmetric near/far blur strength, blur mode
(gaussian/box/disc with bokeh brightness boost), depth remap, and
depth pre-smoothing. Optional protect_mask input keeps masked
regions fully sharp with a feathered edge. Includes the on-node
preview toggle pattern from FL_PasteOnCanvas.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 14:15:26 -07:00
filliptmandClaude Opus 4.7 8f4d3592ec chore: set Manager icon to GitHub avatar (v2.5.2)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 13:08:27 -07:00
FillipandClaude Opus 4.7 bef991bcc0 feat: add FL KSampler Sigma + FL Fal GPT-Image-2 Edit nodes (v2.5.0)
FL KSampler Sigma: custom sampler with an on-node sigma curve editor.
Draw your own sigma schedule (monotone-cubic/PCHIP interpolation),
with log-Y axis, user-set axis bounds that preserve curve shape on
rescale, and a SIGMAS output for composability.

FL Fal GPT-Image-2 Edit: wraps openai/gpt-image-2/edit on fal.ai with
dynamic reference-image sockets (1-10), custom image sizes, optional
mask input, and exponential-backoff retries.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 19:47:12 -07:00
FillipandClaude Opus 4.6 fa28ec8ec7 fix(path-animator,image-picker): await submit POST before closing modal (v2.4.0)
Race condition: Continue/Cancel button handlers were firing submitBlocking()
without awaiting it, then immediately calling close() which tore down the
modal. If the fetch got delayed or dropped by the DOM teardown, the Python
thread would stay blocked on event.wait() until the full timeout.

Symptoms: "sometimes Continue gets stuck and doesn't advance the workflow."

Fixes:
- PathAnimator: All exit paths (Continue, Cancel, ESC, overlay click, header
  close) now await submitBlocking() before close(). On Continue failure,
  the modal stays open with buttons re-enabled so user can retry.
- PathAnimator: submitBlocking now checks response.ok and throws on non-2xx,
  surfacing 404 "Session not found" errors instead of swallowing them.
- PathAnimator: close() safeguard still uses fire-and-forget but now with
  .catch() to log errors (it's a last-resort path after primary handlers).
- ImagePicker: sendSelection now checks response.ok and throws on non-2xx.
- ImagePicker: All callers wrapped in try/catch so failed submits don't
  leave the modal in a half-closed state. Confirm failures keep the modal
  open with a user-visible alert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:27:02 -07:00
FillipandClaude Opus 4.6 c05813d7bc chore: bump version to 2.3.9
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 17:20:26 -07:00
FillipandClaude Opus 4.6 1566e1318e feat(path-animator): add image input + blocking UI with Continue/Cancel
FL Path Animator now supports interactive image-driven workflow:
- New optional IMAGE input — when wired, execution blocks and auto-opens
  the path editor with the image as canvas background at native resolution
- New Continue button saves drawn paths and unblocks execution
- Cancel button aborts the workflow via InterruptProcessing
- Countdown timer in footer shows remaining timeout
- Transitions existing edit-mode modal in place if one is already open
  (preserves any paths the user already drew)
- ESC, overlay click, and header close all treated as Cancel in blocking mode
- Fully backward compatible: without image, behaves exactly as before

Pattern mirrors FL_ImagePicker (threading.Event, WebSocket dispatch, POST
endpoint). New endpoint: POST /fl_path_animator/submit. New WS event:
fl_path_animator_show.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 16:46:05 -07:00
FillipandClaude Opus 4.6 3a6598f247 remove FL_CodeNode from node pack (v2.3.8)
Remove the FL Code Node utility node entirely — Python backend,
JS frontend, init registration, and node description entry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 18:19:48 -07:00
FillipandClaude Opus 4.6 3d71d2cfc1 feat: add FL CoTracker and FL Create Shape Image On Path nodes (v2.3.7)
Cloned CoTrackerNode (with trajectory integration inlined) and
CreateShapeImageOnPath (from KJNodes) as self-contained FL nodes.
Includes multi-channel mask fix for CoTracker.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:15:47 -07:00
FillipandClaude Opus 4.6 290d6c241e feat: add FL_ImageReplace node for batch image/mask replacement (v2.3.6)
New node that replaces images or masks at a specific index within a batch.
Includes a grid preview with green border highlighting on replaced positions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:52:36 -07:00
FillipandClaude Opus 4.6 f41b1c9c96 feat: add FL_AudioFrameCalculator node, optimize ImageListToImageBatch (v2.3.5)
Add new audio node that calculates max frame count from audio duration and FPS.
Optimize FL_ImageListToImageBatch by replacing O(n²) incremental torch.cat loop
with a single torch.cat call for O(n) performance.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 15:03:08 -07:00
Machine DelusionsandClaude Opus 4.6 078ed5b9e6 feat: add FL_ImageToMask node, fix InpaintCrop force_square + auto-resize masks (v2.3.4)
- Add FL_ImageToMask node to convert IMAGE to MASK via luminance/channel extraction
- Fix force_square shadowing target_size parameter, breaking resize modes
- Auto-resize mask and context_mask to match image size instead of raising errors

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:17:18 -08:00
FillipandClaude Opus 4.6 1fc6ea0b0d feat: FL_KsamplerPlus 5D video latent tiling with LTX2 guide frame support (v2.3.3)
- Preserve noise_mask from latent dict when passing tiles to common_ksampler
  (fixes crash: 'NoneType' object has no attribute 'shape' in symmetric_patchifier)
- Adjust keyframe_idxs pixel coords per tile for correct RoPE positioning
- Adjust guide_attention_entries (pre_filter_count, latent_shape) per tile
- Slice noise_mask spatially alongside latent samples for each tile
- Retrieve VAE scale factors from model for accurate coordinate offsets

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 19:27:06 -08:00
FillipandClaude Opus 4.6 49be8e96f9 Fix XYZ KSampler losing noise_mask during inpainting
Preserve all latent dict keys (including noise_mask) when splitting
batches, instead of only copying the samples tensor. This fixes
inpainting not working when using InpaintModelConditioning upstream.

Fixes #84

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 22:03:15 -08:00
FillipandClaude Opus 4.6 5f51c8252f Fix SystemCheck button not working in ComfyUI Desktop
Use api.fetchApi() instead of raw fetch() so the request reaches
the correct backend URL in Desktop/Electron environments.

Fixes #88

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:54:18 -08:00
FillipandClaude Opus 4.6 0211698ffa Fix google-genai import crash taking down entire node pack
Wrap the 5 Gemini/Vertex node imports in try-except so a websockets
version conflict (15.x vs 13.x) degrades gracefully instead of
preventing all 100+ nodes from loading.

Fixes #100

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:23:58 -08:00
FillipandClaude Opus 4.6 6946cb450d feat: FL_Inpaint_Stitch batch support for inpainted variations (v2.3.2)
When the inpainted image has a larger batch size than the original (e.g., batch_size=4
from KSampler), the stitch node now duplicates the original image to match and outputs
all variations instead of silently discarding extras.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 19:33:09 -08:00
FillipandClaude Opus 4.6 f139bc15b4 feat: add FL_StringToLoraName utility node (v2.3.1)
Adds a type-adapter node that takes a STRING input and outputs it as a
LoRA name connection type, enabling dynamic LoRA name selection via
string inputs from other nodes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:27:08 -08:00
FillipandClaude Opus 4.6 12c5bcded7 feat: add Kartel backend integration nodes (v2.3.0)
Add FL_KartelJobInput and FL_KartelJobOutput nodes for connecting
ComfyUI workflows to the Kartel Unified Backend. Input node receives
job metadata and parses standardized params_json with typed outputs
(strings, ints, floats, bools, images from URLs). Output node POSTs
generated images back to the backend webhook as multipart uploads.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 18:58:12 -08:00
Fillip 5f95113fc5 Update the file driven by edit node. 2026-01-26 20:03:22 -08:00
filliptmandClaude Opus 4.5 554cde128f fix: KsamplerPlus ControlNet zero-dimension crash and Slices cache invalidation
- FL_KsamplerPlus: Ensure crop region and tile size have at least 1 pixel
  in each dimension to prevent F.interpolate crash with ControlNet (#27)

- FL_SDUltimate_Slices: Fix IS_CHANGED to return consistent hash instead
  of NaN, enabling proper caching with downstream nodes (#73)

Closes #27
Closes #73

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 04:42:06 -08:00
filliptmandClaude Opus 4.5 ab41048628 fix: correct import path in fl_code_node.js causing infinite refresh loop
Fixed incorrect relative import path for widget.js that was causing
ComfyUI to crash with infinite browser refresh on startup.

Closes #99

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 04:26:08 -08:00
Fill 487fded794 version bumpb 2025-12-03 16:13:49 -08:00
Fill 82f6242b7f remove delight node. not needed in my pack 2025-12-03 12:34:53 -08:00
Fill 58326650aa tweaks 2025-12-03 12:11:53 -08:00
Fill 7128f930c3 renames 2025-12-03 02:26:04 -08:00
Fill ca4a195229 created new node, image picker pop up 2025-12-02 23:26:11 -08:00
Fill b171999b94 fixed fal gemini node 2025-12-02 22:00:20 -08:00
Fill 9bef9f6cf9 fixed ascii character problems 2025-11-30 22:50:53 -08:00
Fill 845b040f93 fixed slices and save images overwriting 2025-11-29 01:44:49 -08:00
Fill a187aabe96 added gemini 3 to video and text API nodes 2025-11-28 15:02:32 -08:00
Fill d564efc357 fixed iamge crop tensor shape + updated fal nodes to use CDN instead of base64 2025-11-27 00:00:50 -08:00
Fill db1e2b45a7 added fixing some shizzzz 2025-11-25 00:54:57 -08:00
filliptm e8e1b85b05 fixed freazing bug on FL image save when saving images under the same name 2025-11-24 01:40:06 -08:00
Fill 65c53d7c61 nano banana2 official gemini API update 2025-11-21 01:23:59 -08:00
Fill 77fbde026d added some wan experiments + nano 2 banana update via fal node - official gemini api one coming soon as an update 2025-11-20 12:39:25 -08:00
filliptm 03d005d326 added time control + interp to path animator 2025-11-03 10:17:21 -05:00
filliptm 2ea9f319e6 cleaning up the path editor 2025-11-03 09:20:30 -05:00
Fill 5c3016f01d removed glow from path animator 2025-11-02 00:09:10 -07:00
Fill 3cd4f6d1ad updated path animator with new features 2025-11-01 20:12:05 -07:00
Fill 2c21802487 tweaks 2025-11-01 16:55:49 -07:00
Fill ff5fb88ad2 tweaked the UI of path animator 2025-11-01 05:02:40 -07:00
Fill ce59dd1056 added a bunch of experimentation nodes. 2025-11-01 02:36:09 -07:00
Fill c90ca9c767 Merge branch 'main' of https://github.com/filliptm/ComfyUI_Fill-Nodes 2025-10-31 20:37:14 -07:00
Fill 0dab601948 adding image previews on some nodes, will eventually roll out to all nodes that need the ability 2025-10-31 20:37:05 -07:00
filliptm 2275a9e690 added mac support for interp nodes 2025-10-25 03:09:00 -04:00