dagloop5 commited on
Commit
4d4fdeb
·
verified ·
1 Parent(s): 4f31ee8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +159 -56
app.py CHANGED
@@ -332,25 +332,33 @@ LORA_REPO = "dagloop5/LoRA"
332
  print("=" * 80)
333
  print("Downloading LoRA adapters from dagloop5/LoRA...")
334
  print("=" * 80)
 
 
335
  pose_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2_3_NSFW_furry_concat_v2.safetensors")
336
- twod_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2.3_2d_NSFW_motion_enhancer.safetensors") # 2d style animation
337
  general_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2.3_reasoning_I2V_V3.safetensors")
338
  motion_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="Sulphur_LTX 2.3_better _NSFW_motion.safetensors")
339
  dreamlay_lora_path = hf_hub_download(repo_id="lynaNSFW/DR34ML4Y_AIO_NSFW_LTX23", filename="DR34ML4Y_LTXXX_V2.safetensors") # m15510n4ry, bl0wj0b, d0ubl3_bj, d0gg1e, c0wg1rl
340
  mself_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="Furry Hyper Masturbation - LTX-2 I2V v1.safetensors") # Hyperfap
341
- dramatic_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX-2.3 - Orgasm.safetensors") # "[He | She] is having am orgasm." (am or an?)
342
  fluid_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="Cr3ampi3_animation_sulphur-2_i2v_v1.0.safetensors") # cr3ampi3 animation
343
  liquid_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="liquid_wet_dr1pp_ltx2_v1.0_scaled.safetensors") # wet dr1pp
344
  demopose_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="clapping-cheeks-audio-v001-alpha.safetensors")
345
- voice_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="hentai_voice_ltx23.safetensors")
346
  realism_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="FurryenhancerLTX2.3V4.094fused.safetensors")
347
  transition_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX-2_takerpov_lora_v1.2.safetensors") # takerpov1, taker pov
348
  physics_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2.3_Physics_V2_000002000.safetensors")
349
  reasoning_lora_path = hf_hub_download(repo_id="LiconStudio/Ltx2.3-VBVR-lora-I2V", filename="Ltx2.3-Licon-VBVR-I2V-390K-R32.safetensors")
350
  twostep_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2.3_Multi_step_video_reasoning_V0.1.safetensors")
351
-
 
 
 
 
 
 
 
 
352
  print(f"Pose LoRA: {pose_lora_path}")
353
- print(f"twod LoRA: {twod_lora_path}")
354
  print(f"General LoRA: {general_lora_path}")
355
  print(f"Motion LoRA: {motion_lora_path}")
356
  print(f"Dreamlay LoRA: {dreamlay_lora_path}")
@@ -365,6 +373,12 @@ print(f"Transition LoRA: {transition_lora_path}")
365
  print(f"Physics LoRA: {physics_lora_path}")
366
  print(f"Reasoning LoRA: {reasoning_lora_path}")
367
  print(f"Twostep LoRA: {twostep_lora_path}")
 
 
 
 
 
 
368
 
369
  print(f"Checkpoint: {checkpoint_path}")
370
  print(f"Spatial upsampler: {spatial_upsampler_path}")
@@ -378,9 +392,10 @@ pipeline = LTX23DistilledA2VPipeline(
378
  quantization=QuantizationPolicy.fp8_cast(),
379
  )
380
 
381
- def _make_lora_key(pose_strength: float, twod_strength: float, general_strength: float, motion_strength: float, dreamlay_strength: float, mself_strength: float, dramatic_strength: float, fluid_strength: float, liquid_strength: float, demopose_strength: float, voice_strength: float, realism_strength: float, transition_strength: float, physics_strength: float, reasoning_strength: float, twostep_strength: float) -> tuple[str, str]:
 
 
382
  rp = round(float(pose_strength), 2)
383
- ra = round(float(twod_strength), 2)
384
  rg = round(float(general_strength), 2)
385
  rm = round(float(motion_strength), 2)
386
  rd = round(float(dreamlay_strength), 2)
@@ -395,14 +410,21 @@ def _make_lora_key(pose_strength: float, twod_strength: float, general_strength:
395
  ry = round(float(physics_strength), 2)
396
  ri = round(float(reasoning_strength), 2)
397
  rw = round(float(twostep_strength), 2)
398
- key_str = f"{pose_lora_path}:{rp}|{twod_lora_path}:{ra}|{general_lora_path}:{rg}|{motion_lora_path}:{rm}|{dreamlay_lora_path}:{rd}|{mself_lora_path}:{rs}|{dramatic_lora_path}:{rr}|{fluid_lora_path}:{rf}|{liquid_lora_path}:{rl}|{demopose_lora_path}:{ro}|{voice_lora_path}:{rv}|{realism_lora_path}:{re}|{transition_lora_path}:{rt}|{physics_lora_path}:{ry}|{reasoning_lora_path}:{ri}|{twostep_lora_path}:{rw}"
 
 
 
 
 
 
399
  key = hashlib.sha256(key_str.encode("utf-8")).hexdigest()
400
  return key, key_str
401
 
402
 
403
  def prepare_lora_cache(
 
 
404
  pose_strength: float,
405
- twod_strength: float,
406
  general_strength: float,
407
  motion_strength: float,
408
  dreamlay_strength: float,
@@ -417,6 +439,12 @@ def prepare_lora_cache(
417
  physics_strength: float,
418
  reasoning_strength: float,
419
  twostep_strength: float,
 
 
 
 
 
 
420
  progress=gr.Progress(track_tqdm=True),
421
  ):
422
  """
@@ -429,7 +457,7 @@ def prepare_lora_cache(
429
  global PENDING_LORA_KEY, PENDING_LORA_STATE, PENDING_LORA_STATUS
430
 
431
  ledger = pipeline.model_ledger
432
- key, _ = _make_lora_key(pose_strength, twod_strength, general_strength, motion_strength, dreamlay_strength, mself_strength, dramatic_strength, fluid_strength, liquid_strength, demopose_strength, voice_strength, realism_strength, transition_strength, physics_strength, reasoning_strength, twostep_strength)
433
  cache_path = LORA_CACHE_DIR / f"{key}.safetensors"
434
 
435
  progress(0.05, desc="Preparing LoRA state")
@@ -445,8 +473,9 @@ def prepare_lora_cache(
445
  print(f"[LoRA] Cache load failed: {type(e).__name__}: {e}")
446
 
447
  entries = [
 
 
448
  (pose_lora_path, round(float(pose_strength), 2)),
449
- (twod_lora_path, round(float(twod_strength), 2)),
450
  (general_lora_path, round(float(general_strength), 2)),
451
  (motion_lora_path, round(float(motion_strength), 2)),
452
  (dreamlay_lora_path, round(float(dreamlay_strength), 2)),
@@ -461,6 +490,12 @@ def prepare_lora_cache(
461
  (physics_lora_path, round(float(physics_strength), 2)),
462
  (reasoning_lora_path, round(float(reasoning_strength), 2)),
463
  (twostep_lora_path, round(float(twostep_strength), 2)),
 
 
 
 
 
 
464
  ]
465
  loras_for_builder = [
466
  LoraPathStrengthAndSDOps(path, strength, LTXV_LORA_COMFY_RENAMING_MAP)
@@ -651,8 +686,9 @@ def get_gpu_duration(
651
  audio_stg_scale: float = 0.0,
652
  audio_rescale_scale: float = 1.0,
653
  audio_v2a_scale: float = 3.0,
 
 
654
  pose_strength: float = 0.0,
655
- twod_strength: float = 0.0,
656
  general_strength: float = 0.0,
657
  motion_strength: float = 0.0,
658
  dreamlay_strength: float = 0.0,
@@ -667,6 +703,12 @@ def get_gpu_duration(
667
  physics_strength: float = 0.0,
668
  reasoning_strength: float = 0.0,
669
  twostep_strength: float = 0.0,
 
 
 
 
 
 
670
  num_inference_steps: int = 8,
671
  progress=None,
672
  ):
@@ -695,8 +737,9 @@ def generate_video(
695
  audio_stg_scale: float = 0.0,
696
  audio_rescale_scale: float = 1.0,
697
  audio_v2a_scale: float = 3.0,
 
 
698
  pose_strength: float = 0.0,
699
- twod_strength: float = 0.0,
700
  general_strength: float = 0.0,
701
  motion_strength: float = 0.0,
702
  dreamlay_strength: float = 0.0,
@@ -711,6 +754,12 @@ def generate_video(
711
  physics_strength: float = 0.0,
712
  reasoning_strength: float = 0.0,
713
  twostep_strength: float = 0.0,
 
 
 
 
 
 
714
  num_inference_steps: int = 8,
715
  progress=gr.Progress(track_tqdm=True),
716
  ):
@@ -863,9 +912,9 @@ with gr.Blocks(title="LTX-2.3 Distilled with LoRAs, Negative Prompting, and Adva
863
 
864
  with gr.Row():
865
  num_inference_steps = gr.Slider(
866
- label="Stage 1 Inference Steps",
867
- minimum=2, maximum=16, value=8, step=1,
868
- info="Higher = more quality but slower (Stage 2 uses fixed 3 steps)"
869
  )
870
 
871
  generate_btn = gr.Button("Generate Video", variant="primary", size="lg")
@@ -919,39 +968,98 @@ with gr.Blocks(title="LTX-2.3 Distilled with LoRAs, Negative Prompting, and Adva
919
  info="Increase for longer videos, higher resolution, or LoRA usage"
920
  )
921
 
922
- gr.Markdown("### LoRA Adapter Strengths")
923
- gr.Markdown("Set to 0 to disable, then click 'Prepare LoRA Cache'")
924
-
925
- with gr.Row():
926
- pose_strength = gr.Slider(label="Anthro Enhancer", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
927
- twod_strength = gr.Slider(label="2D Enhancer", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
928
-
929
- with gr.Row():
930
- general_strength = gr.Slider(label="Reasoning Enhancer", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
931
- motion_strength = gr.Slider(label="Anthro Posing", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
932
-
933
- with gr.Row():
934
- dreamlay_strength = gr.Slider(label="Dreamlay", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
935
- mself_strength = gr.Slider(label="Mself", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
936
-
937
- with gr.Row():
938
- dramatic_strength = gr.Slider(label="Dramatic", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
939
- fluid_strength = gr.Slider(label="Fluid Helper", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
940
-
941
- with gr.Row():
942
- liquid_strength = gr.Slider(label="Liquid Helper", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
943
- demopose_strength = gr.Slider(label="Audio Helper", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
944
-
945
- with gr.Row():
946
- voice_strength = gr.Slider(label="Voice Helper", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
947
- realism_strength = gr.Slider(label="Anthro Realism", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
948
-
949
- with gr.Row():
950
- transition_strength = gr.Slider(label="POV", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
951
- physics_strength = gr.Slider(label="Physics", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
952
- with gr.Row():
953
- reasoning_strength = gr.Slider(label="Official Reasoning", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
954
- twostep_strength = gr.Slider(label="Two Step Reasoning", minimum=0.0, maximum=2.0, value=0.0, step=0.01)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
955
 
956
  prepare_lora_btn = gr.Button("Prepare / Load LoRA Cache", variant="secondary")
957
  lora_status = gr.Textbox(
@@ -967,9 +1075,7 @@ with gr.Blocks(title="LTX-2.3 Distilled with LoRAs, Negative Prompting, and Adva
967
 
968
  prepare_lora_btn.click(
969
  fn=prepare_lora_cache,
970
- inputs=[pose_strength, twod_strength, general_strength, motion_strength, dreamlay_strength,
971
- mself_strength, dramatic_strength, fluid_strength, liquid_strength,
972
- demopose_strength, voice_strength, realism_strength, transition_strength, physics_strength, reasoning_strength, twostep_strength],
973
  outputs=[lora_status],
974
  )
975
 
@@ -980,10 +1086,7 @@ with gr.Blocks(title="LTX-2.3 Distilled with LoRAs, Negative Prompting, and Adva
980
  enhance_prompt, seed, randomize_seed, height, width,
981
  video_cfg_scale, video_stg_scale, video_rescale_scale, video_a2v_scale,
982
  audio_cfg_scale, audio_stg_scale, audio_rescale_scale, audio_v2a_scale,
983
- pose_strength, twod_strength, general_strength, motion_strength,
984
- dreamlay_strength, mself_strength, dramatic_strength, fluid_strength,
985
- liquid_strength, demopose_strength, voice_strength, realism_strength,
986
- transition_strength, physics_strength, reasoning_strength, twostep_strength, num_inference_steps,
987
  ],
988
  outputs=[output_video, seed],
989
  )
 
332
  print("=" * 80)
333
  print("Downloading LoRA adapters from dagloop5/LoRA...")
334
  print("=" * 80)
335
+ singularity_lora_path = hf_hub_download(repo_id="TenStrip/LTX2.3_JoyAI_Lora_Extracted", filename="JoyAI-Echo_r256.safetensors")
336
+ teneros_lora_path = hf_hub_download(repo_id="TenStrip/LTX2.3_Distilled_Lora_1.1_Experiments", filename="ltx-2.3-22b-distilled-lora-1.1_fro90_ceil52_condsafe.safetensors")
337
  pose_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2_3_NSFW_furry_concat_v2.safetensors")
 
338
  general_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2.3_reasoning_I2V_V3.safetensors")
339
  motion_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="Sulphur_LTX 2.3_better _NSFW_motion.safetensors")
340
  dreamlay_lora_path = hf_hub_download(repo_id="lynaNSFW/DR34ML4Y_AIO_NSFW_LTX23", filename="DR34ML4Y_LTXXX_V2.safetensors") # m15510n4ry, bl0wj0b, d0ubl3_bj, d0gg1e, c0wg1rl
341
  mself_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="Furry Hyper Masturbation - LTX-2 I2V v1.safetensors") # Hyperfap
342
+ dramatic_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX-2.3 - Orgasm.safetensors") # buddr
343
  fluid_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="Cr3ampi3_animation_sulphur-2_i2v_v1.0.safetensors") # cr3ampi3 animation
344
  liquid_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="liquid_wet_dr1pp_ltx2_v1.0_scaled.safetensors") # wet dr1pp
345
  demopose_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="clapping-cheeks-audio-v001-alpha.safetensors")
346
+ voice_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="hentai_voice_ltx23_v2.comfy.safetensors")
347
  realism_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="FurryenhancerLTX2.3V4.094fused.safetensors")
348
  transition_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX-2_takerpov_lora_v1.2.safetensors") # takerpov1, taker pov
349
  physics_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2.3_Physics_V2_000002000.safetensors")
350
  reasoning_lora_path = hf_hub_download(repo_id="LiconStudio/Ltx2.3-VBVR-lora-I2V", filename="Ltx2.3-Licon-VBVR-I2V-390K-R32.safetensors")
351
  twostep_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX2.3_Multi_step_video_reasoning_V0.1.safetensors")
352
+ mcfurry_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="LTX-2_3_mc_Furry_realistic_lora_v1.safetensors")
353
+ dm_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="Doggy_mission_sulphur-2_v0.5.safetensors")
354
+ praxis_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="Penile_Praxis_V4.safetensors")
355
+ threed_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="ltx2-3d-animations-12500-steps-k3nk.safetensors")
356
+ concept_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="ltx23_nsfw_helper_multi_concept_lora_v2.safetensors")
357
+ bulge_lora_path = hf_hub_download(repo_id=LORA_REPO, filename="stomach_bulge_10eros_sulphur_v1.safetensors")
358
+
359
+ print(f"Singularity LoRA: {singularity_lora_path}")
360
+ print(f"10Eros LoRA: {teneros_lora_path}")
361
  print(f"Pose LoRA: {pose_lora_path}")
 
362
  print(f"General LoRA: {general_lora_path}")
363
  print(f"Motion LoRA: {motion_lora_path}")
364
  print(f"Dreamlay LoRA: {dreamlay_lora_path}")
 
373
  print(f"Physics LoRA: {physics_lora_path}")
374
  print(f"Reasoning LoRA: {reasoning_lora_path}")
375
  print(f"Twostep LoRA: {twostep_lora_path}")
376
+ print(f"Mcfurry LoRA: {mcfurry_lora_path}")
377
+ print(f"DM LoRA: {dm_lora_path}")
378
+ print(f"Praxis LoRA: {praxis_lora_path}")
379
+ print(f"ThreeD LoRA: {threed_lora_path}")
380
+ print(f"Concept LoRA: {concept_lora_path}")
381
+ print(f"Bulge LoRA: {bulge_lora_path}")
382
 
383
  print(f"Checkpoint: {checkpoint_path}")
384
  print(f"Spatial upsampler: {spatial_upsampler_path}")
 
392
  quantization=QuantizationPolicy.fp8_cast(),
393
  )
394
 
395
+ def _make_lora_key(singularity_strength: float, teneros_strength: float, pose_strength: float, general_strength: float, motion_strength: float, dreamlay_strength: float, mself_strength: float, dramatic_strength: float, fluid_strength: float, liquid_strength: float, demopose_strength: float, voice_strength: float, realism_strength: float, transition_strength: float, physics_strength: float, reasoning_strength: float, twostep_strength: float, mcfurry_strength: float, dm_strength: float, praxis_strength: float, threed_strength: float, concept_strength: float, bulge_strength: float) -> tuple[str, str]:
396
+ rx = round(float(singularity_strength), 2)
397
+ ra = round(float(teneros_strength), 2)
398
  rp = round(float(pose_strength), 2)
 
399
  rg = round(float(general_strength), 2)
400
  rm = round(float(motion_strength), 2)
401
  rd = round(float(dreamlay_strength), 2)
 
410
  ry = round(float(physics_strength), 2)
411
  ri = round(float(reasoning_strength), 2)
412
  rw = round(float(twostep_strength), 2)
413
+ mc = round(float(mcfurry_strength), 2)
414
+ dm = round(float(dm_strength), 2)
415
+ pr = round(float(praxis_strength), 2)
416
+ td = round(float(threed_strength), 2)
417
+ co = round(float(concept_strength), 2)
418
+ bu = round(float(bulge_strength), 2)
419
+ key_str = f"{singularity_lora_path}:{rx}|{teneros_lora_path}:{ra}|{pose_lora_path}:{rp}|{general_lora_path}:{rg}|{motion_lora_path}:{rm}|{dreamlay_lora_path}:{rd}|{mself_lora_path}:{rs}|{dramatic_lora_path}:{rr}|{fluid_lora_path}:{rf}|{liquid_lora_path}:{rl}|{demopose_lora_path}:{ro}|{voice_lora_path}:{rv}|{realism_lora_path}:{re}|{transition_lora_path}:{rt}|{physics_lora_path}:{ry}|{reasoning_lora_path}:{ri}|{twostep_lora_path}:{rw}|{mcfurry_lora_path}:{mc}|{dm_lora_path}:{dm}|{praxis_lora_path}:{pr}|{threed_lora_path}:{td}|{concept_lora_path}:{co}|{bulge_lora_path}:{bu}"
420
  key = hashlib.sha256(key_str.encode("utf-8")).hexdigest()
421
  return key, key_str
422
 
423
 
424
  def prepare_lora_cache(
425
+ singularity_strength: float,
426
+ teneros_strength: float,
427
  pose_strength: float,
 
428
  general_strength: float,
429
  motion_strength: float,
430
  dreamlay_strength: float,
 
439
  physics_strength: float,
440
  reasoning_strength: float,
441
  twostep_strength: float,
442
+ mcfurry_strength: float,
443
+ dm_strength: float,
444
+ praxis_strength: float,
445
+ threed_strength: float,
446
+ concept_strength: float,
447
+ bulge_strength: float,
448
  progress=gr.Progress(track_tqdm=True),
449
  ):
450
  """
 
457
  global PENDING_LORA_KEY, PENDING_LORA_STATE, PENDING_LORA_STATUS
458
 
459
  ledger = pipeline.model_ledger
460
+ key, _ = _make_lora_key(singularity_strength, teneros_strength, pose_strength, general_strength, motion_strength, dreamlay_strength, mself_strength, dramatic_strength, fluid_strength, liquid_strength, demopose_strength, voice_strength, realism_strength, transition_strength, physics_strength, reasoning_strength, twostep_strength, mcfurry_strength, dm_strength, praxis_strength, threed_strength, concept_strength, bulge_strength)
461
  cache_path = LORA_CACHE_DIR / f"{key}.safetensors"
462
 
463
  progress(0.05, desc="Preparing LoRA state")
 
473
  print(f"[LoRA] Cache load failed: {type(e).__name__}: {e}")
474
 
475
  entries = [
476
+ (singularity_lora_path, round(float(singularity_strength), 2)),
477
+ (teneros_lora_path, round(float(teneros_strength), 2)),
478
  (pose_lora_path, round(float(pose_strength), 2)),
 
479
  (general_lora_path, round(float(general_strength), 2)),
480
  (motion_lora_path, round(float(motion_strength), 2)),
481
  (dreamlay_lora_path, round(float(dreamlay_strength), 2)),
 
490
  (physics_lora_path, round(float(physics_strength), 2)),
491
  (reasoning_lora_path, round(float(reasoning_strength), 2)),
492
  (twostep_lora_path, round(float(twostep_strength), 2)),
493
+ (mcfurry_lora_path, round(float(mcfurry_strength), 2)),
494
+ (dm_lora_path, round(float(dm_strength), 2)),
495
+ (praxis_lora_path, round(float(praxis_strength), 2)),
496
+ (threed_lora_path, round(float(threed_strength), 2)),
497
+ (concept_lora_path, round(float(concept_strength), 2)),
498
+ (bulge_lora_path, round(float(bulge_strength), 2)),
499
  ]
500
  loras_for_builder = [
501
  LoraPathStrengthAndSDOps(path, strength, LTXV_LORA_COMFY_RENAMING_MAP)
 
686
  audio_stg_scale: float = 0.0,
687
  audio_rescale_scale: float = 1.0,
688
  audio_v2a_scale: float = 3.0,
689
+ singularity_strength: float = 0.0,
690
+ teneros_strength: float = 0.0,
691
  pose_strength: float = 0.0,
 
692
  general_strength: float = 0.0,
693
  motion_strength: float = 0.0,
694
  dreamlay_strength: float = 0.0,
 
703
  physics_strength: float = 0.0,
704
  reasoning_strength: float = 0.0,
705
  twostep_strength: float = 0.0,
706
+ mcfurry_strength: float = 0.0,
707
+ dm_strength: float = 0.0,
708
+ praxis_strength: float = 0.0,
709
+ threed_strength: float = 0.0,
710
+ concept_strength: float = 0.0,
711
+ bulge_strength: float = 0.0,
712
  num_inference_steps: int = 8,
713
  progress=None,
714
  ):
 
737
  audio_stg_scale: float = 0.0,
738
  audio_rescale_scale: float = 1.0,
739
  audio_v2a_scale: float = 3.0,
740
+ singularity_strength: float = 0.0,
741
+ teneros_strength: float = 0.0,
742
  pose_strength: float = 0.0,
 
743
  general_strength: float = 0.0,
744
  motion_strength: float = 0.0,
745
  dreamlay_strength: float = 0.0,
 
754
  physics_strength: float = 0.0,
755
  reasoning_strength: float = 0.0,
756
  twostep_strength: float = 0.0,
757
+ mcfurry_strength: float = 0.0,
758
+ dm_strength: float = 0.0,
759
+ praxis_strength: float = 0.0,
760
+ threed_strength: float = 0.0,
761
+ concept_strength: float = 0.0,
762
+ bulge_strength: float = 0.0,
763
  num_inference_steps: int = 8,
764
  progress=gr.Progress(track_tqdm=True),
765
  ):
 
912
 
913
  with gr.Row():
914
  num_inference_steps = gr.Slider(
915
+ label="Inference Steps",
916
+ minimum=2, maximum=32, value=8, step=1,
917
+ info="Higher = more quality but slower"
918
  )
919
 
920
  generate_btn = gr.Button("Generate Video", variant="primary", size="lg")
 
968
  info="Increase for longer videos, higher resolution, or LoRA usage"
969
  )
970
 
971
+ singularity_strength = gr.Slider(
972
+ label="Singularity Lora strength",
973
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
974
+ )
975
+ teneros_strength = gr.Slider(
976
+ label="10Eros Lora strength",
977
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
978
+ )
979
+ pose_strength = gr.Slider(
980
+ label="Anthro Enhancer strength",
981
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
982
+ )
983
+ general_strength = gr.Slider(
984
+ label="Reasoning Enhancer strength",
985
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
986
+ )
987
+ motion_strength = gr.Slider(
988
+ label="Anthro Posing Helper strength",
989
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
990
+ )
991
+ dreamlay_strength = gr.Slider(
992
+ label="Dreamlay strength",
993
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
994
+ )
995
+ mself_strength = gr.Slider(
996
+ label="Mself strength",
997
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
998
+ )
999
+ dramatic_strength = gr.Slider(
1000
+ label="Dramatic strength",
1001
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1002
+ )
1003
+ fluid_strength = gr.Slider(
1004
+ label="Fluid Helper strength",
1005
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1006
+ )
1007
+ liquid_strength = gr.Slider(
1008
+ label="Liquid Helper strength",
1009
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1010
+ )
1011
+ demopose_strength = gr.Slider(
1012
+ label="Audio Helper strength",
1013
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1014
+ )
1015
+ voice_strength = gr.Slider(
1016
+ label="Voice Helper strength",
1017
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1018
+ )
1019
+ realism_strength = gr.Slider(
1020
+ label="Anthro Realism strength",
1021
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1022
+ )
1023
+ transition_strength = gr.Slider(
1024
+ label="POV strength",
1025
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1026
+ )
1027
+ physics_strength = gr.Slider(
1028
+ label="Physics strength",
1029
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1030
+ )
1031
+ reasoning_strength = gr.Slider(
1032
+ label="Official Reasoning strength",
1033
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1034
+ )
1035
+ twostep_strength = gr.Slider(
1036
+ label="Two Step Reasoning strength",
1037
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1038
+ )
1039
+ mcfurry_strength = gr.Slider(
1040
+ label="t2v anthro realism strength",
1041
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1042
+ )
1043
+ dm_strength = gr.Slider(
1044
+ label="DM3D strength",
1045
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1046
+ )
1047
+ praxis_strength = gr.Slider(
1048
+ label="Praxis strength",
1049
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1050
+ )
1051
+ threed_strength = gr.Slider(
1052
+ label="3D animation strength",
1053
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1054
+ )
1055
+ concept_strength = gr.Slider(
1056
+ label="Conceptual strength",
1057
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1058
+ )
1059
+ bulge_strength = gr.Slider(
1060
+ label="Bulge strength",
1061
+ minimum=0.0, maximum=2.0, value=0.0, step=0.01
1062
+ )
1063
 
1064
  prepare_lora_btn = gr.Button("Prepare / Load LoRA Cache", variant="secondary")
1065
  lora_status = gr.Textbox(
 
1075
 
1076
  prepare_lora_btn.click(
1077
  fn=prepare_lora_cache,
1078
+ inputs=[singularity_strength, teneros_strength, pose_strength, general_strength, motion_strength, dreamlay_strength, mself_strength, dramatic_strength, fluid_strength, liquid_strength, demopose_strength, voice_strength, realism_strength, transition_strength, physics_strength, reasoning_strength, twostep_strength, mcfurry_strength, dm_strength, praxis_strength, threed_strength, concept_strength, bulge_strength],
 
 
1079
  outputs=[lora_status],
1080
  )
1081
 
 
1086
  enhance_prompt, seed, randomize_seed, height, width,
1087
  video_cfg_scale, video_stg_scale, video_rescale_scale, video_a2v_scale,
1088
  audio_cfg_scale, audio_stg_scale, audio_rescale_scale, audio_v2a_scale,
1089
+ singularity_strength, teneros_strength, pose_strength, general_strength, motion_strength, dreamlay_strength, mself_strength, dramatic_strength, fluid_strength, liquid_strength, demopose_strength, voice_strength, realism_strength, transition_strength, physics_strength, reasoning_strength, twostep_strength, mcfurry_strength, dm_strength, praxis_strength, threed_strength, concept_strength, bulge_strength, num_inference_steps,
 
 
 
1090
  ],
1091
  outputs=[output_video, seed],
1092
  )