Remade commited on
Commit
088746d
·
verified ·
1 Parent(s): 94433c8

feat: April fools update

Browse files
Files changed (1) hide show
  1. app.py +126 -218
app.py CHANGED
@@ -25,17 +25,55 @@ CONFIG_PATH = SCRIPT_DIR / "config.json"
25
  WORKFLOW_PATH = SCRIPT_DIR / "wani2v.json"
26
 
27
  loras = [
28
- {
29
- #I suggest it to be a gif instead of an mp4!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  "image": "https://huggingface.co/Remade-AI/Squish/resolve/main/example_gifs/person_squish.gif",
31
- #This is an id you can send to your backend, obviously you can change it
32
  "id": "06ce6840-f976-4963-9644-b6cf7f323f90",
33
- #This is the title that is shown on the front end
34
  "title": "Squish",
35
-
36
  "example_prompt": "In the video, a miniature rodent is presented. The rodent is held in a person's hands. The person then presses on the rodent, causing a sq41sh squish effect. The person keeps pressing down on the rodent, further showing the sq41sh squish effect.",
37
- },
38
- {
39
  "image": "https://huggingface.co/Remade-AI/Rotate/resolve/main/example_videos/chair-rotate.gif",
40
  "id": "4ac08cfa-841e-4aa9-9022-c3fc80fb6ef4",
41
  "title": "Rotate",
@@ -46,92 +84,7 @@ loras = [
46
  "id": "b05c1dc7-a71c-4d24-b512-4877a12dea7e",
47
  "title": "Cakeify",
48
  "example_prompt": "The video opens on a woman. A knife, held by a hand, is coming into frame and hovering over the woman. The knife then begins cutting into the woman to c4k3 cakeify it. As the knife slices the woman open, the inside of the woman is revealed to be cake with chocolate layers. The knife cuts through and the contents of the woman are revealed."
49
- },
50
- {
51
- "image": "https://huggingface.co/Remade-AI/Muscle/resolve/main/example_videos/man2_muscle.gif",
52
- "id": "3c6fd399-e558-43fa-8cd3-828300aac6f8",
53
- "title": "Muscle",
54
- "example_prompt": "A man t2k1s takes off clothes revealing a lean muscular body and shows off muscles, looking towards the camera."
55
- },
56
- {
57
- "image": "https://storage.googleapis.com/remade-v2/huggingface_assets/crush_example.gif",
58
- "id": "d8a2912b-94e4-4227-9c45-356679af34fd",
59
- "title": "Crush",
60
- "example_prompt": "The video begins with a cube saying closed source. A hydraulic press positioned above slowly descends towards the cube. Upon contact, the hydraulic press c5us4 crushes it, deforming and flattening the cube, causing the cube to collapse inward until the cube is no longer recognizable."
61
- },
62
- {
63
- "image": "https://storage.googleapis.com/remade-v2/huggingface_assets/decay_example.gif",
64
- "id": "6b6f64dc-ac14-44b2-b91c-a510cb7f7f32",
65
- "title": "Decay",
66
- "example_prompt": "The video shows a man. The d3c4y decay time-lapse begins, causing the man to change. The man is initially whole, but soon he appears to be rotting. The man slowly becomes increasingly shriveled and discolored, and eventually, the man decomposes and falls apart. The man is rotting in the center and appears to be covered in mold, completing the d3c4y decay time-lapse."
67
- },
68
- {
69
- "image": "https://storage.googleapis.com/remade-v2/huggingface_assets/jesus_example.gif",
70
- "id": "615fe106-fec4-44bb-b28b-2864cb322027",
71
- "title": "Jesus",
72
- "example_prompt": "The video begins with a smiling woman with a pink shirt looking at the camera. Then jesus appears behind her as h54g hugs jesus. Jesus embraces the woman, and they both smile in front of a park."
73
- },
74
- {
75
- "image": "https://storage.googleapis.com/remade-v2/huggingface_assets/inflate_example.gif",
76
- "id": "da2b1c34-7be8-4161-a733-e8b19a98901c",
77
- "title": "Inflate",
78
- "example_prompt": "The large, bald man rides a gray donkey, then infl4t3 inflates it, both the man and the donkey expanding into giant, inflated figures against the desert landscape."
79
- },
80
- {
81
- "image": "https://huggingface.co/Remade-AI/Jungle/resolve/main/example_videos/man1_jungle.gif",
82
- "id": "cf749aeb-5f25-4c6e-b495-3ea8d81004ee",
83
- "title": "Jungle It",
84
- "example_prompt": "The video begins with a portrait of a man. The background is blurry, with shades of grey and green. Next, the 1ung13 jungle transformation occurs. The man is now in a jungle setting, bathed in sunlight. His hair is longer, and his hair is up. He is shirtless, with tribal markings on his chest. He wears jungle-like shorts. The man is swinging from a vine, posing in a dynamic, action-oriented manner. A dark panther-like figure is in the background. The scene evokes a sense of adventure and the wild."
85
- },
86
- {
87
- "image": "https://huggingface.co/Remade-AI/Baby/resolve/main/example_videos/goku_baby.gif",
88
- "id": "5e45b11e-b9ff-404a-9afa-22a3c5596523c",
89
- "title": "Baby It",
90
- "example_prompt": "The video starts with a studio portrait of a woman. Then the image shifts to the 848y baby effect, the woman is in front of a crib, surrounded by toys. Finally, the 848y baby effect is shown again in a different location. The 848y baby version of the woman is in the crib and seems excited and amused."
91
- },
92
- {
93
- "image": "https://huggingface.co/Remade-AI/Assassin/resolve/main/example_videos/dog_assassin.gif",
94
- "id": "88600b53-336a-4d0c-a1a4-8b53e9775f03",
95
- "title": "Assassin It",
96
- "example_prompt": "The video starts with a portrait of a dog. Then, the 3p1c epic transformation starts. The dog is wearing a red coat, and the 3p1c epic transformation is complete. The dog is holding a gun in each hand. The dog has white hair and black gloves."
97
- },
98
- {
99
- "image": "https://huggingface.co/Remade-AI/Warrior/resolve/main/example_videos/dog_warrior.gif",
100
- "id": "4140f3c2-430d-4b47-b40a-997f361d83dc",
101
- "title": "Warrior It",
102
- "example_prompt": "The video starts with a woman. The next scene shows her with a mountain range in the background. her shirt is pulled up to his midriff, and she is wearing a skirt-like bottom. The woman has a belt around her waist and is gesturing with her right hand. She is wearing brown, medieval looking leggings. The effect seen is warr10r warrior it. The woman now appears as a warrior with an axe. She is shirtless, muscular, has tattoos, and is smiling with a determined look on her face. The background is the same mountain range as before. The next scene shows the woman still as a warrior, and he is holding an axe with a golden axe head."
103
- },
104
- {
105
- "image": "https://huggingface.co/Remade-AI/Pirate-Captain/resolve/main/example_videos/cat_example.gif.gif",
106
- "id": "26c4248e-4289-4964-b01b-ace89c7ad407",
107
- "title": "Pirate It",
108
- "example_prompt": "The video begins with a man posing. The image then transitions to the p1r4t3 pirate captain transformation. The man is wearing a black pirate hat with a red band around it, a coat and pants, and a pirate style sash. The scene changes, showing the man on a wooden ship. He has long dreadlock style hair and a sword. The scene changes again to show the man with his sword, in the same location on the boat."
109
- },
110
- {
111
- "image": "https://huggingface.co/Remade-AI/Bride/resolve/main/example_videos/rabbit_bride.gif",
112
- "id": "bd3100fe-65be-416c-994f-bb5acee1404d",
113
- "title": "Bride It",
114
- "example_prompt": "The video begins with a portrait of a bunny rabbit, then the 8r1d3 bride effect occurs. The bunny rabbit is now in a white wedding dress, holding a bouquet, with a sunny, warm beige background. "
115
- },
116
- {
117
- "image": "https://huggingface.co/Remade-AI/VIP/resolve/main/example_videos/thanos_vip.gif",
118
- "id": "fa3355bc-2b7c-42f6-b22e-a6b07937a20c",
119
- "title": "VIP it",
120
- "example_prompt": "The video begins with an image of purple Thanos from Marvel. Then the v1p red carpet transformation appears. Purple Thanos is shown wearing a black dress, with gold jewelry around his neck and ears. The image is again of purple Thanos looking straight at the camera against a more lighted gray background. The v1p red carpet transformation continues, purple Thanos is now on the red carpet with photographers taking pictures and other people behind a barricade to the sides. Purple Thanos is wearing the same black dress and jewelry, in focus at the center of the frame."
121
- },
122
- {
123
- "image": "https://huggingface.co/Remade-AI/Zen/resolve/main/example_videos/man_zen.gif",
124
- "id": "328c6078-515a-4fa0-8b5d-9ea993954f80",
125
- "title": "Zen It",
126
- "example_prompt": "The video starts with a portrait of a purple Thanos from Marvel. The scene then transitions to the Thanos' z3n1fy zen transformation as he's wearing a pink robe with a white shirt underneath, with a zen garden background. Thanos is facing the camera with a neutral expression. The background appears to be blurred and out of focus. The scene then transitions again to show the transformed Thanos, in what appears to be a garden setting. He is now wearing a black kimono with white floral designs and a white belt. Thanos carries a basket in one hand and a colorful fan in the other. He is walking down a pathway lined with hedges and greenery. The z3n1fy zen transformation is complete. Thanos has a neutral expression, looking directly at the camera."
127
- },
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
  ]
136
 
137
  # Initialize Supabase client with async support
@@ -221,120 +174,63 @@ def build_lora_prompt(subject, lora_id):
221
  lora_config = next((lora for lora in loras if lora["id"] == lora_id), None)
222
  if not lora_config:
223
  raise ValueError(f"Invalid LoRA ID: {lora_id}")
224
-
225
- if lora_id == "06ce6840-f976-4963-9644-b6cf7f323f90": # Squish
226
- return (
227
- f"In the video, a miniature {subject} is presented. "
228
- f"The {subject} is held in a person's hands. "
229
- f"The person then presses on the {subject}, causing a sq41sh squish effect. "
230
- f"The person keeps pressing down on the {subject}, further showing the sq41sh squish effect."
231
- )
232
-
233
- elif lora_id == "4ac08cfa-841e-4aa9-9022-c3fc80fb6ef4": # Rotate
234
- return (
235
- f"The video shows a {subject} performing a r0t4tion 360 degrees rotation."
236
- )
237
-
238
- elif lora_id == "b05c1dc7-a71c-4d24-b512-4877a12dea7e": # Cakeify
239
- return (
240
- f"The video opens on a {subject}. A knife, held by a hand, is coming into frame "
241
- f"and hovering over the {subject}. The knife then begins cutting into the {subject} "
242
- f"to c4k3 cakeify it. As the knife slices the {subject} open, the inside of the "
243
- f"{subject} is revealed to be cake with chocolate layers. The knife cuts through "
244
- f"and the contents of the {subject} are revealed."
245
- )
246
-
247
- elif lora_id == "3c6fd399-e558-43fa-8cd3-828300aac6f8": # Muscle
248
- return (
249
- f"A {subject} t2k1s takes off clothes revealing a lean muscular body and shows off muscles, "
250
- f"looking towards the camera."
251
- )
252
-
253
- elif lora_id == "d8a2912b-94e4-4227-9c45-356679af34fd": # Crush
254
- return (
255
- f"The video begins with a {subject}. A hydraulic press positioned above slowly descends "
256
- f"towards the {subject}. Upon contact, the hydraulic press c5us4 crushes it, deforming and "
257
- f"flattening the {subject}, causing the {subject} to collapse inward until the {subject} is "
258
- f"no longer recognizable."
259
- )
260
-
261
- elif lora_id == "6b6f64dc-ac14-44b2-b91c-a510cb7f7f32": # Decay
262
- return (
263
- f"The video shows a {subject}. The d3c4y decay time-lapse begins, causing the {subject} to change. "
264
- f"The {subject} is initially whole, but soon it appears to be rotting. The {subject} slowly becomes "
265
- f"increasingly shriveled and discolored, and eventually, the {subject} decomposes and falls apart. "
266
- f"The {subject} is rotting in the center and appears to be covered in mold, completing the d3c4y decay time-lapse."
267
- )
268
-
269
- elif lora_id == "615fe106-fec4-44bb-b28b-2864cb322027": # Jesus
270
  return (
271
- f"The video begins with a {subject}. Then jesus appears behind the {subject} "
272
- f"as h54g hugs jesus. Jesus embraces the {subject}, and they both smile."
273
  )
274
-
275
- elif lora_id == "da2b1c34-7be8-4161-a733-e8b19a98901c": # Inflate
276
  return (
277
- f"The {subject} infl4t3 inflates, expanding into a giant, inflated figure."
278
- )
279
 
280
- elif lora_id == "cf749aeb-5f25-4c6e-b495-3ea8d81004ee": # Jungle It
281
- return (
282
- f"The video shows a {subject}. The 1ung13 jungle transformation occurs, transporting the {subject} "
283
- f"to a jungle setting bathed in sunlight. The transformed {subject} appears more wild and primitive, "
284
- f"with tribal markings, in an action pose. A dark panther-like figure appears in the background."
285
  )
286
-
287
- elif lora_id == "5e45b11e-b9ff-404a-9afa-22a3c5596523c": # Baby It
288
  return (
289
- f"The video shows a {subject}. The 848y baby effect transforms the {subject}, "
290
- f"placing them in front of a crib surrounded by toys. The 848y baby version of the {subject} "
291
- f"appears in the crib, excited and amused."
292
  )
293
-
294
- elif lora_id == "88600b53-336a-4d0c-a1a4-8b53e9775f03": # Assassin It
295
  return (
296
- f"The video shows a {subject}. The 3p1c epic transformation begins, "
297
- f"clothing the {subject} in a red coat. The 3p1c epic transformation completes as "
298
- f"the {subject} appears with white hair, black gloves, holding a gun in each hand."
299
  )
300
-
301
- elif lora_id == "4140f3c2-430d-4b47-b40a-997f361d83dc": # Warrior It
302
  return (
303
- f"The video shows a {subject}. The warr10r warrior transformation occurs, "
304
- f"transforming the {subject} into a warrior with an axe. The transformed {subject} appears "
305
- f"muscular with tattoos, holding a golden-headed axe in a powerful pose against a mountain backdrop."
306
  )
307
-
308
- elif lora_id == "26c4248e-4289-4964-b01b-ace89c7ad407": # Pirate It
309
  return (
310
- f"The video shows a {subject}. The p1r4t3 pirate captain transformation begins, "
311
- f"adorning the {subject} with a black pirate hat with red band, coat, pants, and pirate sash. "
312
- f"The scene transitions to a wooden ship where the transformed {subject} appears with "
313
- f"long dreadlock style hair, wielding a sword."
314
  )
315
-
316
- elif lora_id == "bd3100fe-65be-416c-994f-bb5acee1404d": # Bride It
317
  return (
318
- f"The video shows a {subject}. The 8r1d3 bride effect transforms the {subject}, "
319
- f"placing them in a white wedding dress, holding a bouquet against a sunny, warm background."
 
320
  )
321
-
322
- elif lora_id == "fa3355bc-2b7c-42f6-b22e-a6b07937a20c": # VIP It
323
  return (
324
- f"The video shows a {subject}. The v1p red carpet transformation begins, "
325
- f"clothing the {subject} in a black dress with gold jewelry. The v1p red carpet scene expands, "
326
- f"placing the {subject} on a red carpet with photographers and crowds behind barricades, "
327
- f"keeping the {subject} as the elegant focal point."
328
  )
329
-
330
- elif lora_id == "328c6078-515a-4fa0-8b5d-9ea993954f80": # Zen It
331
  return (
332
- f"The video shows a {subject}. The z3n1fy zen transformation begins, "
333
- f"dressing the {subject} in a pink robe with white shirt in a zen garden setting. "
334
- f"The transformation continues as the {subject} appears in a black kimono with white floral designs "
335
- f"and white belt, carrying a basket and colorful fan, walking along a garden path with hedges."
336
  )
337
 
 
 
 
 
 
 
 
 
338
  else:
339
  # Fallback to using the example prompt from the LoRA config
340
  if "example_prompt" in lora_config:
@@ -921,19 +817,31 @@ with gr.Blocks(css=css, theme=gr.themes.Soft(primary_hue="indigo", neutral_hue="
921
  selected_index = gr.State(None)
922
  current_generation_id = gr.State(None)
923
 
924
- gr.Markdown("# Remade AI - Wan 2.1 I2V effects LoRAs ")
 
 
 
 
 
 
 
 
 
 
925
 
926
- # Discord banner at the top with improved contrast
927
  discord_banner = gr.HTML(
928
- """<div class="discord-banner">
929
- <h3>✨ Unlock Premium Features! ✨</h3>
930
- <p>Join our Discord community to access longer videos, 100+ LoRAs, audio features, and faster generation times!</p>
 
931
  <a href="https://discord.gg/remade-1" target="_blank">Join Discord Now</a>
932
- </div>"""
 
933
  )
934
 
935
  selected_info = gr.HTML("")
936
-
937
  with gr.Row():
938
  with gr.Column(scale=1):
939
  gallery = gr.Gallery(
@@ -947,19 +855,19 @@ with gr.Blocks(css=css, theme=gr.themes.Soft(primary_hue="indigo", neutral_hue="
947
  object_fit="contain"
948
  )
949
 
950
- # Discord feature callout for LoRAs with better contrast
951
  gr.HTML(
952
- """<div class="discord-feature">
953
- <span class="discord-feature-title">✨ Discord Members:</span> Access 100+ additional LoRAs beyond these 8 samples!
954
- </div>"""
 
 
955
  )
956
-
957
  gr.HTML('<div class="section-description">Click an example image or upload your own</div>')
958
 
959
- # Reorganized image input section - example images and upload side by side
960
  with gr.Row():
961
  with gr.Column(scale=1):
962
-
963
  example_gallery = gr.Gallery(
964
  [
965
  ("https://storage.googleapis.com/remade-v2/huggingface_assets/uploads_1c2c6e4c-8938-4464-9355-84508bcca24e.jpg", "Old man"),
@@ -973,47 +881,47 @@ with gr.Blocks(css=css, theme=gr.themes.Soft(primary_hue="indigo", neutral_hue="
973
  height="300px",
974
  object_fit="cover"
975
  )
976
-
977
 
978
  with gr.Column(scale=1):
979
- # Single image input component that will be used for both uploaded and example images
980
  image_input = gr.Image(type="filepath", label="")
981
-
982
  subject = gr.Textbox(label="Describe your subject", placeholder="Cat toy")
983
 
984
- # Modified duration options - only one active option
985
  duration = gr.Radio(
986
  ["Short (3s)"],
987
  label="Duration",
988
  value="Short (3s)"
989
  )
990
 
991
- # Add disabled duration option with Discord callout
992
  gr.HTML(
993
- """<div class="discord-feature">
994
- <span class="discord-feature-title">⏱️ Discord Members:</span> Access longer video durations (up to 10 seconds)!
995
- </div>"""
 
 
996
  )
997
 
998
- # Add disabled audio button with Discord callout
999
  with gr.Row():
1000
  button = gr.Button("Generate", variant="primary", elem_id="gen_btn")
1001
  audio_button = gr.Button("Add Audio 🔒", interactive=False)
1002
 
1003
  with gr.Column(scale=1):
1004
- # Warning message about not refreshing
1005
  warning_message = gr.HTML(
1006
- """<div class="warning-message">
1007
- ⚠️ Please DO NOT refresh the page during generation. GPUs may need to warm up and there is a queue. Please be patient. Thank you!
1008
- </div>""",
 
 
1009
  visible=True
1010
  )
1011
 
1012
- # Discord feature callout for generation speed - moved above progress bar
1013
  gr.HTML(
1014
- """<div class="discord-feature">
1015
- <span class="discord-feature-title">⚡ Discord Members:</span> Enjoy priority queue with faster generation times!
1016
- </div>"""
 
 
1017
  )
1018
 
1019
  progress_bar = gr.Markdown(elem_id="progress", visible=False)
 
25
  WORKFLOW_PATH = SCRIPT_DIR / "wani2v.json"
26
 
27
  loras = [
28
+ {
29
+ "image": "https://storage.googleapis.com/remade-v2/lora_examples/c8972c6d-ab8a-4988-9a9d-38082264ef22/69e1adfc-b99a-4559-b745-f193a1bca0e2.webm",
30
+ "id": "c8972c6d-ab8a-4988-9a9d-38082264ef22",
31
+ "title": "Jumpscare",
32
+ "example_prompt": "The video shows a man with a slight smile, then the j432mpscare jumpscare occurs, revealing a distorted and monstrous face with glowing red eyes, filling the frame and accompanied by a loud scream."
33
+ },
34
+ {
35
+ "image": "https://storage.googleapis.com/remade-v2/lora_examples/d7cbf9b4-82cd-4a94-ba2f-040e809635fa/2dede2c5-38e0-4acb-9e99-027e804a0455.webm",
36
+ "id": "d7cbf9b4-82cd-4a94-ba2f-040e809635fa",
37
+ "title": "Angry",
38
+ "example_prompt": "The video starts with a man looking at the camera with a neutral face. Then his facial expression changes to 4ngr23 angry face, and he begins to yell with clenched fists. "
39
+ },
40
+ {
41
+ "image": "https://storage.googleapis.com/remade-v2/lora_examples/e17959c4-9fa5-4e5b-8f69-d1fb01bbe4fa/7ba11998-2421-4ae1-8cf8-47b076387c2e.webm",
42
+ "id": "e17959c4-9fa5-4e5b-8f69-d1fb01bbe4fa",
43
+ "title": "Cartoon Jaw Drop",
44
+ "example_prompt": "The video shows Pluto the dog, wearing a red collar, who is smiling wide, then his mouth transforms into a dr0p_j88 comical jaw drop, extending down in a long, rectangular shape, and revealing his tongue and teeth."
45
+ },
46
+ {
47
+ "image": "https://storage.googleapis.com/remade-v2/lora_examples/687255bb-959e-4422-bdbb-5aba93c7c180/46b5c7a3-60d5-469e-9454-9d16bf20afe4.webm",
48
+ "id": "687255bb-959e-4422-bdbb-5aba93c7c180",
49
+ "title": "Kissing",
50
+ "example_prompt": "A man with a beard is shown smiling. A woman comes into the scene and starts passionately k144ing kissing the man."
51
+ },
52
+ {
53
+ "image": "https://storage.googleapis.com/remade-v2/lora_examples/4ac2fb4e-5ca2-4338-a59c-549167f5b6d0/9f11b800-25c1-42f9-a687-97d706fef06d.webm",
54
+ "id": "4ac2fb4e-5ca2-4338-a59c-549167f5b6d0",
55
+ "title": "Laughing",
56
+ "example_prompt": "A [Subject] is smiling at the camera. He/she then begins l4a6ing laughing."
57
+ },
58
+ {
59
+ "image": "https://storage.googleapis.com/remade-v2/lora_examples/bcc4163d-ebda-4cdc-b153-7136cdbf563a/7cc38d79-f09e-4a5d-9e17-65867f8fd3a7.webm",
60
+ "id": "bcc4163d-ebda-4cdc-b153-7136cdbf563a",
61
+ "title": "Crying",
62
+ "example_prompt": "The video starts with a [Subject] with a solemn expression. Then a tear rolls down his/her cheek, as he/she is cr471ng crying."
63
+ },
64
+ {
65
+ "image": "https://storage.googleapis.com/remade-v2/lora_examples/13093298-652c-4df8-ba28-62d9d5924754/62256895-10b2-4bd1-8ffe-4ecec530c4ec.webm",
66
+ "id": "13093298-652c-4df8-ba28-62d9d5924754",
67
+ "title": "Take a selfie with your younger self",
68
+ "example_prompt": "The video starts with the a man with a beard smiling at the camera, then s31lf13 taking a selfie with their younger self, and the younger self appears next to him with similar facial features and eye color. The younger self wears a white t-shirt and has a cream white jacket. The younger self is smiling slightly."
69
+ },
70
+ {
71
  "image": "https://huggingface.co/Remade-AI/Squish/resolve/main/example_gifs/person_squish.gif",
 
72
  "id": "06ce6840-f976-4963-9644-b6cf7f323f90",
 
73
  "title": "Squish",
 
74
  "example_prompt": "In the video, a miniature rodent is presented. The rodent is held in a person's hands. The person then presses on the rodent, causing a sq41sh squish effect. The person keeps pressing down on the rodent, further showing the sq41sh squish effect.",
75
+ },
76
+ {
77
  "image": "https://huggingface.co/Remade-AI/Rotate/resolve/main/example_videos/chair-rotate.gif",
78
  "id": "4ac08cfa-841e-4aa9-9022-c3fc80fb6ef4",
79
  "title": "Rotate",
 
84
  "id": "b05c1dc7-a71c-4d24-b512-4877a12dea7e",
85
  "title": "Cakeify",
86
  "example_prompt": "The video opens on a woman. A knife, held by a hand, is coming into frame and hovering over the woman. The knife then begins cutting into the woman to c4k3 cakeify it. As the knife slices the woman open, the inside of the woman is revealed to be cake with chocolate layers. The knife cuts through and the contents of the woman are revealed."
87
+ },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  ]
89
 
90
  # Initialize Supabase client with async support
 
174
  lora_config = next((lora for lora in loras if lora["id"] == lora_id), None)
175
  if not lora_config:
176
  raise ValueError(f"Invalid LoRA ID: {lora_id}")
177
+
178
+ if lora_id == "c8972c6d-ab8a-4988-9a9d-38082264ef22": # Jumpscare
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  return (
180
+ f"The video shows the {subject} with a slight smile, then the j432mpscare jumpscare occurs,
181
+ f"revealing a distorted and monstrous face with glowing red eyes, filling the frame and accompanied by a loud scream."
182
  )
183
+ elif lora_id == "d7cbf9b4-82cd-4a94-ba2f-040e809635fa": # Angry
 
184
  return (
185
+ f"The video starts with the {subject} looking at the camera with a neutral face.
186
+ f"Then the facial expression of the {subject} changes to 4ngr23 angry face, and begins to yell with clenched fists."
187
 
 
 
 
 
 
188
  )
189
+ elif lora_id == "e17959c4-9fa5-4e5b-8f69-d1fb01bbe4fa": # Cartoon Jaw Drop
 
190
  return (
191
+ f"The video shows {subject} smiling wide,
192
+ f"then {subject} mouth transforms into a dr0p_j88 comical jaw drop, extending down in a long, rectangular shape, and revealing his tongue and teeth."
 
193
  )
194
+ elif lora_id == "687255bb-959e-4422-bdbb-5aba93c7c180": # Kissing
 
195
  return (
196
+ f"A {subject} is shown smiling. A man/woman comes into the scene and starts passionately k144ing kissing the {subject}."
 
 
197
  )
198
+ elif lora_id == "4ac2fb4e-5ca2-4338-a59c-549167f5b6d0": # Laughing
 
199
  return (
200
+ f"A {subject} is smiling at the camera. He/she then begins l4a6ing laughing."
 
 
201
  )
202
+ elif lora_id == "bcc4163d-ebda-4cdc-b153-7136cdbf563a": # Crying
 
203
  return (
204
+ f"The video starts with a {ubject} with a solemn expression. Then a tear rolls down his/her cheek, as he/she is cr471ng crying."
 
 
 
205
  )
206
+ elif lora_id == "13093298-652c-4df8-ba28-62d9d5924754": # Take a selfie with your younger self
 
207
  return (
208
+ f"The video starts with the {subject} smiling at the camera, then s31lf13 taking a selfie with their younger self,
209
+ f"and the younger self appears next to the {subject} with similar facial features and eye color. "
210
+ f"The younger self wears a white t-shirt and has a cream white jacket. The younger self is smiling slightly."
211
  )
212
+
213
+ elif lora_id == "06ce6840-f976-4963-9644-b6cf7f323f90": # Squish
214
  return (
215
+ f"In the video, a miniature {subject} is presented. "
216
+ f"The {subject} is held in a person's hands. "
217
+ f"The person then presses on the {subject}, causing a sq41sh squish effect. "
218
+ f"The person keeps pressing down on the {subject}, further showing the sq41sh squish effect."
219
  )
220
+
221
+ elif lora_id == "4ac08cfa-841e-4aa9-9022-c3fc80fb6ef4": # Rotate
222
  return (
223
+ f"The video shows a {subject} performing a r0t4tion 360 degrees rotation."
 
 
 
224
  )
225
 
226
+ elif lora_id == "b05c1dc7-a71c-4d24-b512-4877a12dea7e": # Cakeify
227
+ return (
228
+ f"The video opens on a {subject}. A knife, held by a hand, is coming into frame "
229
+ f"and hovering over the {subject}. The knife then begins cutting into the {subject} "
230
+ f"to c4k3 cakeify it. As the knife slices the {subject} open, the inside of the "
231
+ f"{subject} is revealed to be cake with chocolate layers. The knife cuts through "
232
+ f"and the contents of the {subject} are revealed."
233
+ )
234
  else:
235
  # Fallback to using the example prompt from the LoRA config
236
  if "example_prompt" in lora_config:
 
817
  selected_index = gr.State(None)
818
  current_generation_id = gr.State(None)
819
 
820
+ # Updated title with April Fool's theme
821
+ gr.Markdown("# Remade AI - April Fool's Edition: Wan 2.1 I2V Effects")
822
+
823
+ # Insert an April Fool's themed banner at the top
824
+ april_banner = gr.HTML(
825
+ """
826
+ <div style="background-color: #ffeb3b; padding: 15px; border-radius: 8px; text-align: center; font-size: 1.5em; margin-bottom: 15px;">
827
+ 🎉 Happy April Fool's Day! Enjoy some playful pranks and fun effects! 🎉
828
+ </div>
829
+ """
830
+ )
831
 
832
+ # Optionally, update the Discord banner for an April Fool's twist
833
  discord_banner = gr.HTML(
834
+ """
835
+ <div class="discord-banner">
836
+ <h3>✨ Unlock Premium April Fool's Pranks! ✨</h3>
837
+ <p>Join our Discord community for exclusive prank effects, surprise features, and more playful fun!</p>
838
  <a href="https://discord.gg/remade-1" target="_blank">Join Discord Now</a>
839
+ </div>
840
+ """
841
  )
842
 
843
  selected_info = gr.HTML("")
844
+
845
  with gr.Row():
846
  with gr.Column(scale=1):
847
  gallery = gr.Gallery(
 
855
  object_fit="contain"
856
  )
857
 
858
+ # Updated Discord/prank callout
859
  gr.HTML(
860
+ """
861
+ <div class="discord-feature">
862
+ <span class="discord-feature-title">✨ Discord Members:</span> Get access to even more mischievous effects beyond these samples!
863
+ </div>
864
+ """
865
  )
866
+
867
  gr.HTML('<div class="section-description">Click an example image or upload your own</div>')
868
 
 
869
  with gr.Row():
870
  with gr.Column(scale=1):
 
871
  example_gallery = gr.Gallery(
872
  [
873
  ("https://storage.googleapis.com/remade-v2/huggingface_assets/uploads_1c2c6e4c-8938-4464-9355-84508bcca24e.jpg", "Old man"),
 
881
  height="300px",
882
  object_fit="cover"
883
  )
 
884
 
885
  with gr.Column(scale=1):
 
886
  image_input = gr.Image(type="filepath", label="")
887
+
888
  subject = gr.Textbox(label="Describe your subject", placeholder="Cat toy")
889
 
 
890
  duration = gr.Radio(
891
  ["Short (3s)"],
892
  label="Duration",
893
  value="Short (3s)"
894
  )
895
 
896
+ # Updated Discord feature callout for additional playful messaging
897
  gr.HTML(
898
+ """
899
+ <div class="discord-feature">
900
+ <span class="discord-feature-title">⏱️ Discord Members:</span> Enjoy extended pranks and video durations on our Discord!
901
+ </div>
902
+ """
903
  )
904
 
 
905
  with gr.Row():
906
  button = gr.Button("Generate", variant="primary", elem_id="gen_btn")
907
  audio_button = gr.Button("Add Audio 🔒", interactive=False)
908
 
909
  with gr.Column(scale=1):
 
910
  warning_message = gr.HTML(
911
+ """
912
+ <div class="warning-message">
913
+ ⚠️ Please DO NOT refresh the page during generation. Our pranksters are hard at work!
914
+ </div>
915
+ """,
916
  visible=True
917
  )
918
 
 
919
  gr.HTML(
920
+ """
921
+ <div class="discord-feature">
922
+ <span class="discord-feature-title">⚡ Discord Members:</span> Get faster (and prankier) generation speeds!
923
+ </div>
924
+ """
925
  )
926
 
927
  progress_bar = gr.Markdown(elem_id="progress", visible=False)