Commit Graph
21 Commits
Author SHA1 Message Date
github-actions[bot] a408dc63f4 chore: refresh fal model registry 2026-08-18 04:55:51 +00:00
github-actions[bot] 1f95a7b274 chore: refresh fal model registry 2026-08-17 05:01:55 +00:00
github-actions[bot] a1524a7b94 chore: refresh fal model registry 2026-08-16 04:53:30 +00:00
github-actions[bot] 5c87442b98 chore: refresh fal model registry 2026-08-15 04:50:44 +00:00
github-actions[bot] e11eb0fc9f chore: refresh fal model registry 2026-08-14 05:49:21 +00:00
github-actions[bot] 7c34feb913 chore: refresh fal model registry 2026-08-13 05:52:10 +00:00
github-actions[bot] 8747372fc3 chore: refresh fal model registry 2026-08-12 05:49:30 +00:00
github-actions[bot] 9aea820995 chore: refresh fal model registry 2026-08-11 05:32:22 +00:00
github-actions[bot] 486a4e87be chore: refresh fal model registry 2026-08-10 05:48:18 +00:00
github-actions[bot] 4793af4269 chore: refresh fal model registry 2026-08-09 05:26:58 +00:00
github-actions[bot] dd08b8f490 chore: refresh fal model registry 2026-08-08 05:12:09 +00:00
github-actions[bot] b5228cd7a3 chore: refresh fal model registry 2026-08-07 05:55:06 +00:00
github-actions[bot] 3478187364 chore: refresh fal model registry 2026-08-06 07:06:58 +00:00
github-actions[bot] 33f116853b chore: refresh fal model registry 2026-08-05 06:46:51 +00:00
github-actions[bot] 87d59b969f chore: refresh fal model registry 2026-08-04 06:45:03 +00:00
github-actions[bot] 4e42fb7ba1 chore: refresh fal model registry 2026-08-03 07:54:07 +00:00
github-actions[bot] a22efa1bf0 chore: refresh fal model registry 2026-08-02 06:49:00 +00:00
github-actions[bot] 950b500f1b chore: refresh fal model registry 2026-08-01 14:31:00 +00:00
gokayfem b12aa12e45 feat: automate fal registry updates 2026-08-01 17:21:39 +03:00
Gökay Aydoğan 8a47f0598b feat: v2.5.0 — async execution, typed builders, featured tier, registry freshness (#80)
- Async node execution: on ComfyUI with native async support (detected
  via comfy_execution.utils, added in the same commit as async nodes),
  all dynamic nodes and Fal Any Endpoint run as coroutines — independent
  graph branches execute fal calls concurrently with no Submit/Collect
  required. Uploads/downloads/preflight run off-loop; older ComfyUI
  versions keep byte-identical sync behavior. Live-verified: two
  concurrent generations in 2.5s total.
- Typed builder nodes (FAL/Utils/Builders): 8 chainable builders
  (LoRA, embedding, ControlNet, IP-Adapter, reference image/element,
  multi-prompt shot, key-value, JSON merge) replacing JSON-by-hand for
  the 467 object-typed inputs across the catalog; shapes validated
  against live OpenAPI schemas.
- Discovery: FAL/Featured tier (data/featured_models.json, 26 flagship
  endpoints with display-name overrides), 434 models flagged as
  superseded within their family in node help, thumbnails in the
  endpoint picker.
- Registry freshness: startup delta check against the live catalog
  (logs how many models are newer than the snapshot), sidebar Registry
  section with one-click refresh (atomic registry write; restart note).
- Docs: README 1,946 → 327 lines; model tables moved to MODELS.md
  (generator retargeted; weekly refresh workflow now regenerates it);
  CONTRIBUTING.md redirects hand-written-node PRs to the registry and
  featured-list workflow.

Review fixes: spend-guard preflight moved off the event loop in the
async path; registry writes atomically via temp+rename; freshness
daemon gated off in tests; non-finite numbers rejected in FalKeyValue;
sidebar poll budget aligned with the server timeout.
2026-07-02 20:37:15 +03:00
Gökay Aydoğan b75f731abf feat: v2.0.0 — full fal catalog coverage, dynamic nodes, core rewrite (#75)
Auto-generated nodes for the entire live fal catalog (1,391 models →
1,482 total nodes) built at startup from a committed registry, plus a
full rewrite of the core layer. All 87 v1 node keys, inputs and outputs
are preserved — existing workflows load and run unchanged.

New:
- data/fal_registry.json + scripts/build_registry.py: distills fal's
  catalog and per-endpoint OpenAPI schemas into a deterministic registry
- nodes/dynamic/: schema→node factory (typed widgets, tooltips, pricing
  in node help, IMAGE/VIDEO/AUDIO auto-upload, native VIDEO/AUDIO
  outputs, seed -1=random, force_rerun), plus a generic Fal Any Endpoint
  node for arbitrary endpoints
- nodes/utils/: rewritten core — FalApiError surfacing fal's real error
  payloads, queue progress logs, ComfyUI cancel support, retries and
  timeouts everywhere, parallel uploads/downloads, structured logging
- tests/ (45 tests incl. a legacy-key snapshot lock), CI lint+test
  workflow, weekly registry-refresh workflow that opens a PR on changes
- README regenerated from the registry (scripts/build_readme.py)

Fixed:
- GPTImage2 / GPTImage2Edit were defined but never registered
- Topaz video upscale sent a nonexistent API field (desired_increase)
- SeedVR video upscaler had its error handling commented out + wrong
  model label; ProRes enum value mismatch translated at argument level
- 10x `is ""` comparisons, bare excepts, missing HTTP timeouts,
  temp-file leaks, fps=0 crash in LoadVideoURL, duplicate enum entry
- opencv-python & friends missing from pyproject (Registry installs)
- API failures now raise visible errors instead of silently returning
  blank images or "Error:" strings that downstream nodes tried to load

BREAKING (behavioral only): failed API calls raise instead of returning
blank/black images or error strings. Node signatures are unchanged.
2026-07-02 12:46:22 +03:00