55 Commits
Author SHA1 Message Date
Claude 184f330fdf Remove Categorizer from the node loader
Categorizer.py was deleted, but __init__.py still listed it, so every
ComfyUI startup printed an import traceback and "Could not load
Categorizer". Also drops it from docs/ai_agents.md and syncs __version__.

Version 2.10.3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Lm4YDXhwj49hAA1RKS58Q
2026-10-22 13:26:06 +00:00
Claude f8d8b962c7 Fix data-loss and conversion bugs in file/database nodes; remove dead files
- Image Format Converter: choosing "jpg" failed for every file (Pillow only
  accepts "JPEG"); 16-bit and other non-RGB images are now converted before
  saving as JPEG.
- File Sorter and Media Migrator silently overwrote an existing file with
  the same name at the destination; the moved file now gets a _1, _2 suffix.
- Media Migrator: a trailing slash on the source path skipped the
  "destination inside source" safety check. Paths are normalised first.
- Empty Folder Cleaner: folders containing only empty folders needed one
  extra run per nesting level; they're now removed in a single pass. The
  target folder itself is never deleted.
- Character Vault: an unreadable characters.json was treated as empty and
  overwritten on the next save, losing every character. It now refuses to
  save and says why; Character Select logs the problem.
- Removed LoadLatentFromPath.py, SaveRawLatent.py and libs/utils.py, which
  nothing imported (latent.py provides both latent nodes).

Version 2.10.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Lm4YDXhwj49hAA1RKS58Q
2026-10-22 12:07:41 +00:00
Claude 59f11da248 Fix broken nodes, modernize Gemini nodes, and speed up loading
Bug fixes:
- FilterImages used imghdr, which was removed in Python 3.13; the import
  failure stopped the whole pack from loading. Now uses Pillow, and returns
  a newline-joined string instead of a list on a STRING output.
- Dynamic Conditioning / Dynamic Image Switch crashed with no inputs
  (unbound variable).
- Dynamic Start Index never advanced because ComfyUI cached its output;
  added IS_CHANGED. Same for Load Batch From Dir increment/random modes.
- Dynamic Delay Text always output "" (its timer result went nowhere);
  Collect and Distribute Text had the same timer problem.
- People Evaluation Node returned a bare string on errors and printed the
  whole prompt to the console.
- Raw latent saver/loader only worked for 1x4x128x128 latents. Now saves
  safetensors (same layout as ComfyUI's Save Latent) and still reads old files.
- web/index.js imported the appearance script with the wrong filename case
  (breaks on Linux/macOS); the console test script was auto-loaded on every
  page load and now lives in tools/.
- Workflow chaining used a hardcoded port 8188, and gives a clear error for
  UI-format (non-API) workflow files.

Gemini:
- Shared helper for both Gemini nodes; key config now defaults to the
  bundled assets/scripts/api_keys_config.json (paths relative to it), plus
  GEMINI_API_KEY env var support.
- "disable" thinking now actually disables it on 2.5 Flash, so thinking no
  longer eats max_output_tokens and returns empty text; "enable" uses the
  previously unused DEFAULT_THINKING_BUDGET.
- Seed is passed to the API; empty/blocked responses report why.
- Retired 2.0/preview models replaced; custom_model field for new models.
- Audio WAV encoding no longer depends on torchaudio's save backend.

Optimizations:
- Index switches (model/VAE/CLIP/text) use lazy inputs, so only the
  selected branch is evaluated.
- __init__ loads modules in a loop and isolates failures per module.
- Prompt nodes share one implementation, read prompt files at run time and
  re-run when the file changes (no restart needed).
- LoRA dropdowns use ComfyUI's cached file list and refresh without a
  restart; LoRA lookup searches all LoRA folders; hashing uses 1 MB chunks;
  DB writes are atomic.
- Load Batch Images concatenates once instead of per image.
- Custom Node Manager parses files instead of executing them.
- requirements.txt drops unused pins (importlib_metadata, packaging,
  opencv-python, sounddevice, standard-imghdr).

Version 2.10.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Lm4YDXhwj49hAA1RKS58Q
2026-10-22 11:42:48 +00:00
Creepybits e68c8cb83a Refactor node imports and consolidate mappings 2026-03-07 04:26:13 +01:00
Creepybits ae966cd265 Add files via upload 2026-02-21 11:24:07 +01:00
Creepybits 3c9c8105e0 Refactor imports and consolidate node mappings 2026-02-02 22:05:35 +01:00
Creepybits c6baa601e2 Update version and import statements in __init__.py 2026-02-02 21:22:13 +01:00
Creepybits fddc6feaa6 Refactor imports and consolidate node mappings 2026-02-02 20:41:25 +01:00
Creepybits 202cbb636d Update version and consolidate node mappings
Updated version to 2.7.5 and added LoadBatchFromDir mappings.
2026-02-02 20:36:45 +01:00
Creepybits 176156339d Update node mappings and version in __init__.py 2025-12-29 12:30:00 +01:00
Creepybits e93016a219 Update node mappings and version to 2.7.2 2025-12-28 10:47:42 +01:00
Creepybits 4634c75edf Add RandomBibleVerseNode and update version
Updated version to 2.7.1 and added RandomBibleVerseNode.
2025-12-27 14:07:24 +01:00
Creepybits b0519775b3 Update __init__.py 2025-11-20 15:47:59 +01:00
Creepybits 7785bbf824 Update __init__.py 2025-11-12 16:23:58 +01:00
Creepybits 48da5d5c9b Update node mappings and version in __init__.py 2025-11-05 12:26:28 +01:00
Creepybits 1999d680e4 Consolidate node mappings and update imports 2025-11-05 11:06:50 +01:00
Creepybits d198e4711a Update __init__.py 2025-11-02 22:11:50 +01:00
Creepybits ca46a81d4a Update __init__.py 2025-10-27 20:17:36 +01:00
Creepybits 93d93e3f1e Update __init__.py 2025-10-27 19:46:37 +01:00
Creepybits 0662f8c7c0 Update __init__.py 2025-10-27 19:36:17 +01:00
Creepybits 6b415dc036 Update __init__.py 2025-10-22 21:28:21 +02:00
Creepybits 15f5ed7bc8 Update __init__.py 2025-10-14 12:19:51 +02:00
Creepybits 6df10be617 Update __init__.py 2025-10-14 01:00:57 +02:00
Creepybits 6aa9ab56e3 Update __init__.py 2025-10-14 01:00:27 +02:00
Creepybits a52e7cffbd Update __init__.py 2025-09-11 16:37:01 +02:00
Creepybits dc320b8305 Update __init__.py 2025-08-18 18:46:30 +02:00
Creepybits a8f61541be Update __init__.py 2025-08-03 03:13:46 +02:00
Creepybits 044ec7c9e8 Update __init__.py 2025-08-03 03:08:16 +02:00
Creepybits 0e295ab5d1 Update __init__.py 2025-07-23 08:17:15 +02:00
Creepybits 4db1d8a365 Update __init__.py
Added "Master Key" node
2025-07-20 13:41:14 +02:00
Creepybits 0005aa9622 Add files via upload 2025-07-20 13:39:24 +02:00
Creepybits d92d5675a3 Update __init__.py 2025-07-20 12:09:41 +02:00
Creepybits 603ab2b7b9 Update __init__.py 2025-07-01 15:55:37 +02:00
Creepybits 37a1d78c19 Update __init__.py 2025-06-06 08:37:42 +02:00
Creepybits a45f377b49 Add files via upload 2025-05-31 13:04:20 +02:00
Creepybits a036b7305d Add files via upload 2025-05-30 20:34:40 +02:00
Creepybits 0b9730d93a Add files via upload 2025-05-14 17:08:33 +02:00
Creepybits be23ce29c3 Add files via upload
Added IMG2IMG Conditioning node
2025-05-02 01:28:24 +02:00
Creepybits 5dec0c2907 Add files via upload
Added Gemini 2.0 Flash Experimental ==> Gemini 2.5 Flash/Pro API node
Added caching for faster load times ==> Load Batch From Dir node
2025-04-30 16:14:03 +02:00
Creepybits ce0e422d20 Add files via upload
Minor fixes
2025-04-30 12:17:44 +02:00
Creepybits 479513afc5 Add files via upload 2025-04-28 21:50:33 +02:00
Creepybits 304a990db3 Add files via upload
Add token counter
2025-04-26 20:10:27 +02:00
Creepybits 3c8e351958 Add files via upload
Fixed dependency issues
2025-04-25 10:43:27 +02:00
Creepybits 7c329e3680 Add files via upload 2025-04-24 23:45:57 +02:00
Creepybits 3130bddd5e Add files via upload 2025-04-24 22:02:34 +02:00
Creepybits 06143d5581 Add files via upload 2025-04-22 20:56:47 +02:00
Creepybits bd0188c488 Add files via upload 2025-04-22 20:56:07 +02:00
Creepybits 920eb7696d Update __init__.py 2025-04-19 11:26:42 +02:00
Creepybits 3c0c80325d Update __init__.py 2025-04-19 08:53:56 +02:00
Creepybits a9b25c5aa8 Update __init__.py 2025-04-19 08:52:40 +02:00