Spaces:
Running on Zero
Running on Zero
Commit History
-
fix(models): remap retired x2 spatial upscaler to v1.1
Unverified signatureLightricks deleted ltx-2.3-spatial-upscaler-x2-1.0.safetensors from the Lightricks/LTX-2.3 repo on 2026-08-10 and the URL now 404s. Every mode sampled to completion, then aborted at LatentUpscaleModelLoader with "Model in folder 'latent_upscale_models' ... not found" and returned an empty video path — the Space broke without a redeploy. The six workflow JSONs are regenerated by tools/extract_modes.py from the user's master export, so editing them would be lost on the next export. load_template is the only reader of workflows/*.json and is upstream of both consumers (the dict handed to PromptExecutor and the walk_workflow_for_models download pass), so the rename map applies there. README's preload_from_hub entry is a build-time fetch and would fail the next deploy while naming a 404 file, so it moves to v1.1 as well.2420cdb
-
Revert "feat(spaces): user-controlled GPU budget slider + pre-flight gate"
Verified signatureThis reverts commit ecc159588e928140424b9f985f7f40d5fbc03157.a2c44d8 -
feat(spaces): user-controlled GPU budget slider + pre-flight gate
Verified signatureThe fixed 240 s ceiling in `_duration_for` was the only thing standing between heavy modes (style, lipsync at high frame counts) and HF Pro+ / credit-topped accounts whose per-call cap actually allows longer durations. Replace it with a per-call budget the user picks, plus a pre-flight gate so jobs that won't fit are refused before submitting — no GPU time wasted after several minutes of compute. - `_duration_for` honours `user_budget` when set; otherwise returns the unclamped estimate (only the 60 s floor remains). - `_estimate_duration_unclamped` helper exposes the formula for the pre-flight diff message in app.py. - GPU-budget slider in the sidebar drawer: 60-1800 s, default 240 s, step 30 s, placed under the mode list for discoverability. - Pre-flight refuses with a friendly diff: "config estimates ~X s, slider is Y s" - user raises the slider or reduces preset/frames. - `illegal_duration` + `gpu_timeout` friendly errors now point at the slider as the first thing to try.…ecc1595 -
feat(spaces): prune output dir before each generation
Verified signatureWithout cleanup, every video lands in `~/comfyui/output/` and stays there until the container restarts. The ephemeral disk is 150 GB and preload already eats ~111 GB, so accumulating generations on the ~39 GB headroom fills the disk and the replica goes unhealthy — observed today as a stuck `RUNNING` Space with `replicas.current=0` and the iframe returning `net::ERR_ABORTED`. Restart cleared it; this prevents the recurrence. 4 h TTL sweep at the top of `_on_generate`. Per-file `OSError` is swallowed so one bad inode can't abort the cleanup. Tests cover older-than-threshold deletion, recent-file retention, recursive descent into ComfyUI's `LTX2.3/` subdir, missing-dir tolerance, and directory preservation.de6853a
-
ci: run unit tests + ruff lint on every push
Unverified signature3ea399a -
feat(backend): ComfyUILibraryBackend skeleton + event dataclasses
Unverified signature15811ca -
feat(models): ensure_models with HF cache symlinks + missing-file fallback
Unverified signature3d485ad -
feat(models): walk_workflow_for_models scans loader nodes
Unverified signature55a3bb4 -
feat(models): MODEL_REGISTRY mapping filenames to HF repos
Unverified signaturec80a8b9 -
fix(workflow): support dict-keyed widgets_values for VHS audio/video nodes
Unverified signatureVHS_LoadAudioUpload and VHS_LoadVideo carry dict-style widgets_values. set_input now accepts string keys for dict widgets. A2V, Lipsync, and Style parameterize_fns updated to use the right keys so file paths actually flow through at runtime.fee06dd -
feat(modes): A2V + Lipsync + Keyframe + Style parameterize_fn
Unverified signature03937ef -
feat(modes): T2V + I2V parameterize_fn with stage maps
Unverified signature0256245 -
feat(modes): Mode dataclass + empty MODE_REGISTRY skeleton
Unverified signature0314079 -
feat(workflow): set_input + validate over node graph
Unverified signature81f5ac0 -
feat(workflow): load_template returns fresh deep copy per mode
Unverified signatured65b6b1 -
feat(tools): extract six mode templates from master workflow JSON
Unverified signaturecaca25f -
test: pytest fixtures (master_workflow, canonical_inputs, fake_hf_cache)
Unverified signaturebcbf933