Commit Graph

13150 Commits

Author SHA1 Message Date
CalamitousFelicitousness a2cccddee0 fix(ltx): scale fps to preserve duration with RIFE interpolation
LTX conditions the model on mp4_fps as the source frame rate, then
RIFE inflates frame count at save. Without compensation, save fps
stays equal to source fps and the video becomes (mp4_interpolate+1)x
slow-motion (e.g. 121 frames at 24 fps with mp4_interpolate=1 saved
as 242 frames at 24 fps = 10s instead of the intended 5s). Scale the
saved fps by the interpolation factor at the LTX call site so output
duration matches user intent.

FramePack already pre-divides mp4_fps at generation time (compute-
saving semantic baked into UI math), so it does not need this fix.
The pipelines now produce duration-correct output via two different
mechanisms; standardization is tracked for the RIFE-in-processing
follow-up.
2026-04-25 21:15:06 +01:00
CalamitousFelicitousness 121b357ba0 fix(video): normalize pixel range to [0,1] before RIFE
video_save passes [-1,1]-range pixels to rife.interpolate_nchw, but
RIFE v4.25's IFNet explicitly clamps inputs to [0,1] (Head and IFNet
forward pass), turning every negative pixel value into zero. v3.9
silently extrapolated and produced soft artifacts; v4.25 produces
washout. Convert to [0,1] before the RIFE call and back to [-1,1] for
downstream save.
2026-04-25 21:14:36 +01:00
CalamitousFelicitousness dc4c58d0cb feat(rife): upgrade vendored RIFE to Practical-RIFE v4.25
- Vendor IFNet_HDv3 v4.25 (5 IFBlocks, Head encoder, feat channel) and
  v4 warplayer with explicit (tenFlow_div, backwarp_tenGrid) signature
- Rewrite RifeModel.inference for the new forward signature with
  per-(H,W,device,dtype) caching of tenFlow_div and backwarp_tenGrid
- Force fp32 inference: bf16 produced visible checkerboard at the new
  IFNet's depth (was hidden by v3.9's shallower architecture)
- Crop padded frames in interpolate_nchw before output (was missing,
  produced gray bar on non-128-aligned inputs)
- Drop training scaffolding (AdamW, EPE/SOBEL, update method)
- Log obsolete legacy v3.9 weights file on first v4.25 load instead of
  silently deleting user data
- Default download URL is HolyWu vs-rife mirror (MIT, byte-identical
  upstream weights); swap to project-hosted URL before merge
2026-04-25 21:14:18 +01:00
Vladimir Mandic ce92c574c7 Merge pull request #4795 from vladmandic/feat/anima-custom-transformer
Feat/anima custom transformer and lora
2026-04-25 15:05:51 +02:00
Vladimir Mandic 494af629d0 stricter linting
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-04-25 15:05:25 +02:00
Vladimir Mandic 56a2ebf973 gallery skip empty files
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-04-25 14:48:07 +02:00
CalamitousFelicitousness 0515da673d fix(anima): handle net. prefix on custom transformer files
NVIDIA/Cosmos native exports prefix every key with net., including the
bundled llm_adapter half. Add it to KNOWN_PREFIXES so partition_adapter
runs on stripped keys.
2026-04-25 11:47:45 +01:00
Vladimir Mandic b91254e109 update modernui
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-04-25 09:41:27 +02:00
Vladimir Mandic 5baa23300d improve connection monitor and server restart
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-04-25 08:50:57 +02:00
Vladimir Mandic 15c23ebb80 Merge pull request #4794 from awsr/token-counter-update
Token counter update
2026-04-25 07:41:04 +02:00
CalamitousFelicitousness fb73256b5e fix(ltx): align Distilled Stage 2 with canonical recipe
Distilled refine ran without the scheduler swap and identity guidance
kwargs prescribed by huggingface/diffusers#13217; only Dev got that
setup via the supports_canonical_stage2 branch. Distilled is already
trained at identity but still needs the recipe applied to avoid the
four-way composition double-dipping on top of the distilled sigma
schedule (oversaturation/striping).

Unify the branches under family == '2.x'; gate only the LoRA load and
unload on supports_canonical_stage2.
2026-04-25 04:49:26 +01:00
CalamitousFelicitousness 4caf3f9495 fix(ltx): correct repo_cls for 2.3-1.1 I2V Distilled entries
Both 2.3-1.1 I2V Distilled entries (full and SDNQ-4Bit) advertised
LTX2Pipeline. ltx_capabilities derives is_i2v partly from the cls_name
check, so I2V code paths (input media UI, supports_input_media, latent
prep) were not engaged for these models.
2026-04-25 04:47:34 +01:00
CalamitousFelicitousness 4dc8d659de feat(ltx): two-stage refine for condition variants
Conditions were built once at the user's chosen resolution, so condition
variants either ran same-res for both stages (blocked by the previous
gate) or fed base-res conditions to a final-res refine on the manual
upsample+refine path. Build conditions twice when staging is active:
once at base dims for Stage 1, once at final dims for Stage 2. Drop the
condition-class exclusion from supports_two_stage_refine.
2026-04-25 04:21:45 +01:00
CalamitousFelicitousness 5dbde4cbc4 fix(ltx): two-stage refine for Distilled 2.x T2V/I2V
auto_refine_upsample gated on supports_canonical_stage2 (Dev-only LoRA
path), so Distilled refine ran same-res for both stages and oversaturated.
Split the gate: supports_two_stage_refine covers any 2.x non-condition
variant and drives the staging plan plus UI Refine default;
supports_canonical_stage2 stays Dev-only for the LoRA branch.
2026-04-25 04:17:27 +01:00
CalamitousFelicitousness 4af3a57741 feat(anima): native lora across transformer, llm_adapter, text encoder
Dispatch anima loras through a dedicated native loader covering kohya,
bfl/ai-toolkit, and hybrid (bfl with alpha plus qwen3 text encoder)
formats. Cosmos 2.0 path rename is mirrored from diffusers in flat
(underscore) form so rewritten paths match network_layer_mapping keys
without further conversion.

Split model_type from cosmos to anima so a future base-cosmos2 lora
path stays separable. Update flow_models, taesd supported list, and the
taesd wanvideo bucket so samplers and preview decoding keep working
after the split.

Extend assign_network_names_to_compvis_modules to walk pipe.llm_adapter
under the lora_llm_adapter_ prefix, and add llm_adapter to
default_components so activate and deactivate include it for anima
models while staying inert elsewhere via the existing getattr guards.
2026-04-25 03:16:03 +01:00
CalamitousFelicitousness 54704db0bc feat(anima): load custom transformer from unet dropdown
Anima community files bundle the llm_adapter inline alongside the
transformer, so CosmosTransformer3DModel.from_single_file mangles the
118 adapter keys via Cosmos 2.0 substring renames. New helper reads the
safetensors, strips the BFL-style prefix variants, partitions adapter
keys out, runs the rest through diffusers' converter, and loads each
half into its target. SDNQ and layerwise quantization honored; TRT and
GGUF skipped.
2026-04-24 23:36:27 +01:00
awsr 883804e49a Update themes to be compatible with new layout 2026-04-24 15:25:28 -07:00
awsr f4437ef6f1 Update token counter to support truncation 2026-04-24 15:24:36 -07:00
Vladimir Mandic c1c89b8751 update gradio installer
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-04-25 00:09:31 +02:00
Vladimir Mandic ece0aee7bc update modernui
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-04-24 23:51:21 +02:00
Vladimir Mandic f0eeb26e27 fix full screen viewer
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-04-24 23:50:52 +02:00
Vladimir Mandic 1b5378eec6 history dont append video frames
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-04-24 09:38:11 +02:00
Vladimir Mandic b39f8c2a60 Merge pull request #4792 from awsr/minifixes
Typing, import, and UI file setup updates
2026-04-24 08:12:36 +02:00
awsr e9d74cea72 Fix typing 2026-04-23 16:49:50 -07:00
awsr 09f5fc6e03 Update concurrent.futures imports
Python 3.14 adds `concurrent.interpreters` and we don't need to import that here.
2026-04-23 16:49:31 -07:00
awsr e9781dac96 Import cleanup
- Remove unused import.
- Organize imports.
2026-04-23 16:27:36 -07:00
awsr bea726b5b3 Slightly improve console trace readability
- Shorten cache busting string to take up less room in the browser console.
2026-04-23 16:25:11 -07:00
awsr 6bb003126f Cleanup
- Use correct module access names.
- Remove old commented-out line.
2026-04-23 16:21:40 -07:00
awsr f39f48ce13 Don't send None to html_css function 2026-04-23 16:13:20 -07:00
Vladimir Mandic b472433a1d Merge pull request #4790 from awsr/ts2utc-fix
Fix invalid ts2utc behavior
2026-04-23 23:10:53 +02:00
awsr b99083425a Fix invalid ts2utc behavior 2026-04-23 12:50:14 -07:00
Vladimir Mandic f3bfa4d92c Merge pull request #4789 from awsr/fix-counter
Fix token estimate counter
2026-04-23 13:25:23 +02:00
vladmandic 40e550f1c3 add timer info
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-23 12:49:41 +02:00
awsr 1d5154e125 Don't display empty groups 2026-04-22 15:26:13 -07:00
awsr b18de2e9b5 Fix display typo 2026-04-22 15:25:56 -07:00
vladmandic 21b34a6fa7 update todo/changelog and submodules
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-21 22:24:59 +02:00
vladmandic ab7fd5b5e6 cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-21 19:45:51 +02:00
vladmandic db670b8bca fix sdnq-lora
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-21 19:44:18 +02:00
vladmandic 27a5c92b41 update packages
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-21 19:28:03 +02:00
vladmandic ba1f207cc6 update changelog and submodules
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-21 19:24:24 +02:00
Vladimir Mandic a4fc69133a Merge pull request #4783 from vladmandic/feat/ltx-tab-unification
Feat/ltx tab unification
2026-04-21 19:16:28 +02:00
Vladimir Mandic 4bed3af6e7 Merge branch 'dev' into feat/ltx-tab-unification 2026-04-21 18:54:50 +02:00
vladmandic 2f4fe4afe2 update logging
Co-authored-by: Copilot <copilot@github.com>
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-21 18:31:58 +02:00
vladmandic e70e559dce sync kanvas branch on startup
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-21 17:14:11 +02:00
vladmandic ab145c4a1c update kanvas
Signed-off-by: vladmandic <mandic00@live.com>
2026-04-21 17:07:37 +02:00
Vladimir Mandic 0ad6582170 Merge pull request #4786 from awsr/json-helper-typing
JSON helper update
2026-04-21 15:09:50 +02:00
awsr 45bdda9fb7 Simplify code and run formatting 2026-04-21 04:24:29 -07:00
CalamitousFelicitousness 67c77f7c4f feat(ltx): default Refine on for Dev 2.x T2V/I2V
Lightricks' production recipe for Dev is Stage 1 + 2x upsample + Stage 2
refine. Until now the UI reset Refine to False on every model change, so
users picking Dev got a single-pass generation that does not match the
recommended flow. Default Refine to on for variants that support the
canonical Stage 2 recipe; multi-condition variants stay off.
2026-04-21 02:46:40 +01:00
CalamitousFelicitousness f72f89c993 chore(ltx): silent=True on run-internal offload walks
Modules already inventoried at load time; repeating the six-line dump at
each upsample or refine boundary is redundant. silent=True suppresses
the per-module DEBUG lines; op=init and Model class= INFO stay intact.
2026-04-21 02:14:52 +01:00
CalamitousFelicitousness b58f0ae282 fix(ltx): exclude shared VAE from upsample pipe balanced_offload
The upsample pipes receive shared.sd_model.vae as a constructor formality;
the forward pass is pure latent to latent. Main pipe already owns that
VAE's accelerate hook lifecycle, so walking it again from the upsample
pipe raises "Cannot copy out of meta tensor" when the main pipe has
offloaded params to meta. Skip it in the walk.
2026-04-21 02:13:58 +01:00